DB/MongoDB 정리
-
mongoDB 튜토리얼 8 - DBRefsDB/MongoDB 정리 2019. 12. 3. 10:45
Relationships in MongoDB represent how various documents are logically related to each other. Relationships can be modeled via Embedded and Referenced approaches. Such relationships can be either 1:1, 1:N, N:1 or N:N. 몽고 디비 역시 두 개의 문서를 서로 떨어뜨려서 참조 방식으로도 표현할 수 있다. 문서 하나로 유저 정보하고 주소 정보들을 하나로 묶어서 표현하는 방식. 1. 임베디드 방식 denormalized relationship 유저와 어드레스 문서를 연계시켜서 검색할 필요 없이 싱글 문서 하나에 모든 정보가 다 들어 있고 질의할..
-
mongoDB 튜토리얼 7. 샤딩DB/MongoDB 정리 2019. 11. 26. 10:38
데이터베이스 파티셔닝 - 데이터베이스를 분리하여 여러 서버에 분산 저장 및 관리하는 기술 1. 수직 파티셔닝 - 하나의 테이블이 너무 커서 하나의 서버에 유지할 수 없을 때 R(A1, A2, A3 | A4, A5) R1(A1, A2, A3, A4) R2(A1, A5) ex) 패턴을 분석하여 관련되게 검색되는 에트리 뷰트를 주로 한 묶음으로 한다. R1 테이블만 써서 질의를 해결할 수 있다. -RDB에서 많이 사용하는 방법 2. 수평 파티셔닝 ( = 샤딩 ) -로우(문서) 별로 데이터베이스를 분할하는 방법 ex) 월 별로 문서 집합을 따로 분리 1월 로우들을 한 DB에 2월 로우들을 한 DB에... 이렇게 분할된 데이터 SET을 샤드라고 한다. 샤드(shard)는 조각을 뜻한다. 단일 머신에서는 데이터를 ..
-
mongoDB 튜토리얼 6. 레플리카 셋DB/MongoDB 정리 2019. 11. 19. 11:33
복제(replication) 어떤 기억 장소에서, 데이터를 원형대로 읽어 내어 그 데이터를 동일한 물리적 형식으로 다른 기억 장소에 써넣는 것 데이터를 여러 db서버에 분산하여 저장 관리하는 기술 - the process of synchronizing data across multiple servers -provides redundancy and increases data availability with multiple copies of data on different database servers protects a database from the loss of a single server. - fault tolerance - allows you to recover from hardware failur..
-
MongoDB 튜토리얼 5. AggregationDB/MongoDB 정리 2019. 10. 15. 11:45
https://docs.mongodb.com/manual/aggregation/ Aggregation — MongoDB Manual Aggregation Aggregation operations process data records and return computed results. Aggregation operations group values from multiple documents together, and can perform a variety of operations on the grouped data to return a single result. MongoDB provid docs.mongodb.com Aggregate Aggregation (집계) 프레임워크 group values from..
-
MongoDB 튜토리얼 4. CRUDDB/MongoDB 정리 2019. 10. 1. 11:41
배열 태그의 값으로 두 개의 요소는 다 가지지만 순서에 상관없이 1,2,3,4에 해당 4에 해당 배열에 요소가 많으면 ? 배열에 요소중 dim_cm 값이 한 요소가 15보다 큰 조건을 만족하고 또 다른 요소가 20보다 작은 조건을 만족하면 찾는다. 따라서 1번을 예로 들어 20보다 작은 14가 있고 15보다 큰 21이 있으니 해당한다. 그러면 ~보다 크고 ~보다 작은 조건을 만들려면? $eleMatch를 써주자 multiple 요소를 갖는 값을 찾을 때에는 eleMatch를 꼭 붙여주자. 배열의 길이를 요소로 할 때는 size를 사용할 수 있다. 커서의 활용 find() 메서드는 검색된 문서 집합에 대한 커서 반환 몽고 shell은 자바스크립트 기반. 변수로 커서를 받아올 수 있다. db.sample.f..
-
MongoDB 튜토리얼 3. CRUDDB/MongoDB 정리 2019. 9. 24. 11:27
The Limit() Method db.COLLECTION_NAME.find(). limit(NUMBER) : 출력이 많다면 NUMBER 개로 제한해준다. MongoDB Skip() Method > db.COLLECTION_NAME.find().. skip(NUMBER) NUMBER번째 까지 skip한후 출력하라. The sort() Method 정렬 기준을 알려주어야 한다. > db.COLLECTION_NAME.find(). sort({KEY:1}) 정렬 기준 필드 값 : KEY 오름차순 : 1 내림차순: -1 임베디드 된 문서 사이즈는 단일 값이 아니고 문서이다. 이때 find는 key : value 중 value값에 문서를 주어라. 필드의 개수, 순서가 모두 일치하는 것만 찾는다.. 임베디드 된 문..
-
MongoDB 튜토리얼 2. CRUDDB/MongoDB 정리 2019. 9. 17. 11:01
검색 db.컬렉션이름.find() 검색 조건 역시 문서 형식으로 표현 ','로 분류시 문서내의 키 값 쌍들은 and연산으로 처리 된다. 표현 : { :{$eq: }} $eq, $lt, $lte, $gt, $gte, $ne ex ) db.myCol.find({"age":{$eq:50}}) eq은 많이 쓰는 표현이므로 {:} 형식 가능 논리 연산자를 사용한 복합 조건 표현 // AND 연산 and 연산을 직접 쓸수도 있다 db.컬렉션.find({$and:[ , ] }) db.mycol.find({$and: [{key1: value1}, {key2: value2}] }).pretty(); 즉 2가지 형태로 가능 db.myCol.find({"age":10, "grade":"A"}); db.myCol.find({..
-
Mongo DB 튜토리얼 1. CRUDDB/MongoDB 정리 2019. 9. 10. 09:48
id 12바이트 현재 타임스태프 4, 서버값3, insert시킬때마다 하나의 프로세스가 도는데 프로세스마다의 식별자 2, 순서 3으로 구성된다 문서의 개수나, 크기, 내용이 다 다르다. 하나의 구조가 명확하다. 구조화된 json 문서를 말하는 것 조인이 필요없다. 쿼리기능이 상당히 다양하다. 거의 sql처럼 강력한 쿼리 기능을 제공 4.0/bin에 mongod가 서버 mongo 가 클라이언트 툴이다. mongod를 실행해놓고 mongo를 통해 서버를 접속할 것. 명령창에서 원래는 /bin까지 들어가야 하지만 path 환경변수를 수정하여 바로 사용할 수 있도록 해주자 데이터 저장 폴더는 c:\data\db 로 두자. md data 첫 번째 명령창을 열어서 mongoDB서버 가동-mongod --dbpath..