본문 바로가기

mongodb

(7)
Spring Data MongoDB 적용해보기 https://spring.io/projects/spring-data-mongodb Spring Data MongoDB Spring Data for MongoDB is part of the umbrella Spring Data project which aims to provide a familiar and consistent Spring-based programming model for new datastores while retaining store-specific features and capabilities. Introduction The Spring Data Mon spring.io https://docs.spring.io/spring-data/mongodb/docs/current/referenc..
MongoDB CRUD Insert - 하나의 데이터 삽입하기 db.employees.insertOne({ name: "yuri", age: 30, dept: "Backend", joinDate: new ISODate("2023-06-24"), salary: 30000, bonus: null }) - 여러 개의 데이터 삽입하기 => 배열 이용 - 두 개 이상의 데이터 삽입 시 insertMany를 활용하면 좋다. => 속도가 훨씬 빠름 db.employees.insertMany([ { name: "yuri", age: 30, dept: "Backend", joinDate: new ISODate("2023-06-24"), salary: 30000, bonus: null }, { name: "may", age: 10, dept: ..
MongoDB 설치하기 MongoDB 설치 https://www.mongodb.com/try/download/community Try MongoDB Community Edition Try MongoDB Community Edition on premise non-relational database including the Community Server and Community Kubernetes Operator for your next big project! www.mongodb.com msi 파일 실행 후 Next > I accept .. 체크한 후 Next > "Custom" 선택 아래의 Browse... 클릭 경로를 C:\mongodb 로 설정하고 OK 클릭 Install ... 선택 해제한 후 Next Install ....
85일차 - MongoDB Replica Set vs Sharded Cluster, Strorage Engine 배포 - Replica Set vs Sharded Cluster - 서비스 요구사항 확인 + 배포 환경 확인 장점 단점 Replica Set - 운영이 쉽다. - 장애 발생 시 문제 해결 및 복구가 쉽다. - 서버 비용이 적게 든다. - 성능이 좋다. - 개발 시 설계가 용이하다. - Write에 대한 분산은 불가능하다. Sharded Cluster - Scale-Out이 가능하다. - Write에 대한 분산이 가능하다. - Replica Set의 장점이 상대적으로 단점이 된다. Replica Set => 가능하면 Replica Set으로 배포 Sharded Cluster => 서비스 요구사항이 레플리카 셋으로 충족하지 못할 때(ex. Write 요청이 압도적으로 많을 때) Strorage Engine ..
84일차 - MongoDB Sharded Cluster Sharded Cluster - 모든 샤드는 레플리카 셋으로 구성되어 있다. * 샤딩 : 하나의 큰 데이터를 여러 장비에 걸쳐서 데이터를 분할하는 과정. Scale-out을 위한 솔루션 * 샤드 : 분할된 데이터셋의 모음 - Shard, Router, Config Server로 구성됨 - 모든 컬렉션이 샤딩될 필요는 없다. - 샤딩은 Shard Key를 선정해야 하고 해당 필드에는 인덱스가 만들어져 있어야 한다. - 컬렉션 단위 > 청크 단위로 분할(샤딩)한다. - Ranged Sharding, Hashed Sharding(균등한 분산 => 권장), Zone Sharding(주로 다른 방식과 함께 사용) 장점 - 용량의 한계를 극복할 수 있다. - 데이터 규모, 부하가 크더라도 처리량이 좋다. - 고가용..
80일차 - MongoDB Replica Set Replica Set - HA Solution Member [Client Application ---> Primary ---> Secondary] Primary - Read/Write 요청 모두 처리 - Write를 처리하는 유일한 멤버 - Replica Set에 하나만 존재할 수 있음 Secondary - Read에 대한 요청 처리 - 복제를 통해 Primary와 동일한 데이터 셋을 유지 - Replica Set에 여러 개 존재 가능 Fail-Over Primary가 이용 불가능해지면 선출 알고리즘에 의해 Secondary 중 하나가 Primary로 승격된다. Arbiter : 데이터를 들고 있지 않은, Primary 선출에만 참여하는 멤버(P-S-A 방식은 권장되지는 않음 => Secondary가 죽..
79일차 - MongoDB MongoDB의 기본 데이터베이스 admin - 인증과 권한 부여 역할 - 일부 관리 작업을 하려면 admin DB에 대한 접근이 필요함 local - 모든 mongod instance는 local DB를 소유한다. - oplog와 같은 replication 절차에 필요한 정보를 저장 - startup_log와 같은 instance 진단 정보를 저장 - local DB 자체는 복제되지 않는다. config - sharded cluster에서 각 shard의 정보를 저장 RDBMS와의 차이점 Table -> Collection Row -> Document Column -> Field - Database => Collection => Document => Field Collection의 특징 - 동적 스키마..