본문 바로가기

728x90
반응형

DB

(6)
MongoDB embedded documents field의 값으로 다시 json nested data를 넣는 것을 embedded documents라고 한다. alcohol> db.alcoholData.updateMany({}, {$set: {feature: {color: "yellow", taste: "good"}}}) { acknowledged: true, insertedId: null, matchedCount: 2, modifiedCount: 2, upsertedCount: 0 } alcohol> db.alcoholData.find().pretty() [ { _id: ObjectId("64b3a0234ad109d58f687358"), type: 'beer', marker: 'toDelete', taste: 'good', feature: { co..
MongoDB Projection find()를 하면 기본적으로 document의 모든 key값들을 보여주기 때문에 원하는 결과값만을 얻기 위해서는 projection할 key값들을 명시적으로 적어줘야한다. alcohol> db.passengers.find({},{name:1,_id:0}) [ { name: 'Max Schwarzmueller' }, { name: 'Manu Lorenz' }, { name: 'Chris Hayton' }, { name: 'Sandeep Kumar' }, { name: 'Maria Jones' }, { name: 'Alexandra Maier' }, { name: 'Dr. Phil Evans' }, { name: 'Sandra Brugge' }, { name: 'Elisabeth Mayr' }, { nam..
MongoDB Cursor mongoDB에서 find() 명령어를 실행할때 결과로 받는 것은 데이터 그 자체가 아닌 cursor라는 Object이다. Cursor? : 메타데이터를 가진 객체로서 결과들을 cycle 형태로 둘러볼 수 있게 해주는 object이다. it라는 명령어를 shell에서 실행하게 되면 다음 데이터들의 묶음을 가져올 수 있게끔 cursor를 사용한다. 너무 많은 데이터를 한번에 메모리로 가져오지 않는다는 장점이있다. cursor를 사용하면 default로 20개의 데이터만 가져온다. findOne과 같은 function의 결과값으로는 document하나만 받기 때문에 pretty()와 같은 cursor 전용 메소드를 사용할 수 없다.
MongoDB CRUD 로컬에서 간단히 Datatbase를 생성해보고 collection도 만들어보고 crud를 해보는 과정 모든 실습은 mongosh로 진행 1. Database, collection 생성 test> show dbs admin 40.00 KiB config 60.00 KiB local 72.00 KiB test> use alcohol switched to db alcohol alcohol> db.alcoholData.insertOne({"type":"tequila"}) { acknowledged: true, insertedId: ObjectId("64b380214ad109d58f687356") } use {사용할 데이터베이스} 명령어를 통해 database switch를 한다. 그리고 insertOne 명령어..
MongoDB 기본 개념 몽고디비 데이터 엔진이 어떻게 실행되는지 보여주는 데이터그램 json 형식으로 데이터를 입력하면 몽고디비 드라이버가 bson 형태로 변환해준다. bson 변환하는 이유 - json 보다 확장된 타입 사용 가능 (ex. detailed number types) - 저장공간의 효율성
MySQL Replication DB 이중화 : DB 서버 부하를 방지하기 위해 이중화 하는 방법 2대 이상의 DBMS를 나눠서 데이터를 저장하는 방식 최소 구성 : Master/Slave 구성 Master DBMS 역할: 웹서버로 부터 데이터 등록/수정/삭제 요청시 바이너리로그 (binaryLog)를 생성하여 Slave 서버로 전송됨 Slave DBMS 역할: Master DBMS로부터 전달받은 binarylog를 데이터로 반영. DB Replication을 사용하는 이유 1. 데이터 백업 : 마스터 디비에 등록/수정/삭제된 데이터들이 즉시 슬레이브 디비로 전달이 되기 때문에 데이터 백업됨 2. DBMS 부하분산 : 마스터에는 CUD, 슬레이브에는 R만 수행하게 함으로서 부하를 분산할 수 있다.

728x90
반응형