NoSql
NoSql 이란 ?
NoSQL(Not Only SQL)이라고 부르며 mongoDB는 이러한 데이터베이스 시스템 중 하나입니다. 빅데이터를 다룰 때 RDBMS로만 트래픽을 감당하기 어려워져 이를 해결하기 위해 탄생한 것이 NoSQL입니다. 관계형 데이터 모델을 사용하지 않고 SQL을 사용하지 않는 그 이외의 모든 데이터베이스 시스템 또는 데이터 스토어를 일컬어 NoSQL이라고 칭합니다. 가장 큰 특징은 확장성과 기용성, 높은 성능, 스케일링이 편함, 그리고 다양한 데이터 형태를 수용할 수 있다는 것입니다.
NoSQL은 무한에 가까운 확장성을 제공하는데, 이를 위해 NoSQL 데이터베이스는 단순한 키와 값의 쌍으로 이루어져 있습니다. 인덱스와 데이터는 분리되어 별도로 운영되며 고정된 스키마도 없습니다. RDBMS와는 다르게 테이블 스키마가 유동적이라 다양한 형태들의 데이터를 유연하게 처리할 수 있습니다. 대신 분산형 구조이기 때문에 분산 시스템의 특징을 반영합니다. NoSQL의 대표적인 제품은 구글의 빅테이블, 그리고 mongoDB 등이 있습니다. 그 밖의 NoSQL에는 Cassandra, HBase, Redis, Coherence, CouchDB, Couchbase, Riak 등이 있습니다.
MongoDB commands
▪ show dbs : 데이터베이스 목록을 보여줌
▪ show collections : 현재 선택된 데이터베이스내의 컬렉션 목록을 보여줌
▪ use <dbname> : 데이터베이스를 선택함. 존재하지 않은 데이터베이스도 선택이 가능하다. 존재하지 않는 데이터베이스를 선택하였을 경우 데이터베이스 관련 물리적인 파일은 데이터베이스내에 컬렉션이 생성될 때 할당된다.
▪ db.<collection>.find() : 조회기능. 여러건의 Document를 조회할 때 사용함. findOne()은 조건에 부합되는 첫번째 Document 한건만을 리턴함.
▪ db.<collection>.insert(doc) : Document를 추가함.
▪ db.<collection>.update(cond, doc, option) : 조건에 부합되는 Document를 찾아 업데이트함. option이 부여되지 않으면 조건에 부합되는 Document 들중 첫번째 한건만 수정함.
▪ db.createCollection(colName, option) : 컬렉션의 명시적 생성. 암시적으로도 생성 가능
▪ db.<collection>.remove({ }) : 컬렉션의 Document삭제
▪ cls : 화면 지우기
권한설정
use test
db.createUser(
{
user : '아이디',
pwd : '패스워드',
roles: [
{ "role" : "readWrite", "db" : "test" } ]
});
관리자 권한설정 ( 변경 )
db.updateUser("admin",{roles : ["userAdminAnyDatabase","userAdmin","readWrite","dbAdmin","clusterAdmin","readWriteAnyDatabase","dbAdminAnyDatabase"]}
db.grantRolesToUser("admin", ["userAdminAnyDatabase","userAdmin","readWrite","dbAdmin","clusterAdmin","readWriteAnyDatabase"]);
spring boot 와 MongoDB 연동
출처:
[SpringBoot] SpringBoot와 MongoDB 연동하기
안녕하세요 오늘 포스팅은 SpringBoot와 MongoDB를 연동 방법입니다. 저는 최소한의 설정만을 원칙으로 하기 때문에, 연동에 필요한 부분만 알려드리고자 합니다. SpringBoot 프레임워크가 이미 구현 해
mommoo.tistory.com
출처:
akageun.github.io/2020/03/01/spring-mongo-crud.html
Spring Boot 에서 MongoDB CRUD 만들기!
언제나 개발하기를 즐기는 개발자 입니다.
akageun.github.io
참고자료
구름EDU - 모두를 위한 맞춤형 IT교육
구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/
edu.goorm.io
[프로젝트3] 2. MongoRepository 이용하기
MongoTemplate 대신 MongoRepository를 이용해 동일한 CRUD를 테스트한다.
velog.io