본문 바로가기

DB/MongoDB4

DocumentDB는 MongoDB가 아니다 DocumentDB는 MongoDB와 호환은 되지만 MongoDB는 아니다. 관련 내용은 아래 MongoDB의 포스팅을 확인하면 좋다. https://www.mongodb.com/atlas-vs-amazon-documentdb Comparing Amazon DocumentDB and MongoDB Amazon DocumentDB is a NoSQL JSON document database service with a limited degree of compatibility with MongoDB. www.mongodb.com 호환이 된다고는 하지만 MongoDB의 모든 API가 호환되는 것은 아니다. 그렇기 때문에 로컬에서 MongoDB를 사용할 때는 문제가 없던 것이 다른 환경에서 DocumentDB를 .. 2021. 11. 25.
Local Client에서 접속가능한 Replica Set 구성하기 (with Docker) MongoDB에서 Transaction을 사용하기 위해서는 Replica Set이나 Sharded Cluster를 사용해야한다. https://dba.stackexchange.com/questions/265236/how-can-we-use-transaction-in-mongodb-standalone-connection https://docs.mongodb.com/manual/core/retryable-writes/ 그래서 MongoDB를 사용하는 application에서 Transaction을 사용하고자한다면 여러대의 MongoDB를 띄워 설정을 해줘야하는데 이번 포스팅에서는 Local 개발을 위해 Docker를 사용하여 MongoDB Replica Set을 구축할 수 있는 방법에 대해 알아보도록 하겠다.. 2021. 8. 9.
MongoDB Index MongoDB Index Index와 B-Tree MongoDB는 indexing 알고리즘으로 B-Tree를 사용한다. B-Tree는 정확한 일치, 범위 조건, 정렬, prefix 일치 등의 다양한 쿼리를 용이하게 처리하게 해준다. 키가 추가되거나 삭제되더라도 밸런스된 상태를 계속유지한다. Index 규칙 index는 도큐먼트를 가져오기 위한 필요한 작업량을 많이 줄인다 (Index를 적절하게 걸면 Full scan을 하지 않아도 된다) (a, b) 인덱스가 있다면 a 인덱스에 대해서는 중복이고 b에 대해서는 중복이 아니다. 복합 인덱스에서 키의 순서는 매우 중요하다 복합 인덱스 복합 인덱스에서는 순서가 중요하다. (제조사 1, 가격 1) index를 건 경우 Q: 낮은 가격 순으로 정렬하고 싶을 때 (.. 2021. 6. 5.
MongoDB Performance Tips MongoDB Performance Tips MongoDB Explain Query query를 실행할 때 성능을 위해선 해당 query에 index가 걸리는지 확인하는 것은 중요하다. index를 생성한 뒤 해당 index를 제대로 타는지 확인하기 위해서 query에 explain()을 추가하여 query를 분석한다. explain은 query에 대한 자세한 정보를 보여준다. # index 생성 전 mongo-repl:PRIMARY> db['aggregate-example'] .find({ type: 'mac' }) .explain('executionStats'); { "queryPlanner" : { "plannerVersion" : 1, "namespace" : "chris.aggregate-exa.. 2021. 6. 5.