포도가게의 개발일지

[DB] MongoDB[1] 본문

DB

[DB] MongoDB[1]

grape.store 2022. 4. 3. 21:41
반응형

1. shell이나 driver(나같은경우는 node.js driver)를 이용하여 mongodb server에 query를 보내면 mongodb server가 direct로 data를 write하지 않는다. mongodb server는 storage engine과 communication을 하며 storage engine은 내가 마음에 듣는것으로 바꿀 수 있다. default로는 Wired Tiger engine을 사용한다. storage engine은 결국 file에 data를 저장하게 된다.

 

1. storage engine은 data chunk를 memory에 load하고 자주 사용하는 data가 memory에 있도록 관리합니다.

2. storage engine은 먼저 in-memory에 data를 씁니다 빠르기 위해? 그리고 database에 file을 저장합니다. 후반부에 나올 예정 

storage.dbPath : 데이터 파일이 저장되는 path 컴퓨터마다 설정이 다르기때문에 mongo conf를 확인해보아야 한다.

Wired Tiger engine

  • document level lock을 제공함으로써 다수의 사용자가 트랜잭션 위주의 데이터를 빠르게 처리할수 있도록 동시성을 제공해준다.

JSON vs BSON

실제로 사용자가 mongoDB에 data를 저장하거나 find에서 data를 볼때는 json type에 data를 보지만

실제로 db에는 bson data가 저장됩니다. json -> bson으로 mongoDB driver가 conversion 을 진행하게 됩니다.

그 이유로는, json 대비 bson이 저장하는데 있어 더 빠르고 효율적으로 사용될 수 있습니다.

json에서 표현할수 있는 type이 문자열, boolean, 숫자, 배열인 반면에 bson에서는 좀 더 디테일하게 예를 들어 숫자인경우 integer float long decimal로 세분화 하여 분류할 수 있습니다.

 

Basic CRUD

 

'DB' 카테고리의 다른 글

MongoDB  (0) 2022.12.20
[DB] MongoDB[2]  (0) 2022.04.10
DB Index?(업데이트 필요)  (0) 2022.02.07
SQL vs. NoSQL  (0) 2022.02.07
SQL query 구문 연습  (0) 2021.12.23
Comments