database/noSql 5

카산드라 아키텍쳐

다뤄볼 내용 cluster 토폴로지 구성 노드 p2p 방식 - 어떻게 cluster health를 유지하는지 데이터 CRUD 방식 - cassandra에 어떤 영향을 주는지 노드 안의 구성요소 Data Centers and Racks rack : node의 논리적 집합 data center : rack의 논리적 집합 Gossip and Failure Detection - 가십 프로토콜 유래 : 신뢰할 수 없는 경로를 통해 정보를 전달하는 방법 연구하는 과정 탈중앙화된 분산시스템에서 데이터 결함을 발견하기 위해 사용한다. (전체에게 알리지 않아도 전체가 알게 되는 것) gossiper는 node 상태 list를 갖고있으며 syn/ack/ack2를 주고받는 3-handshake 방식으로 1초마다 node 상..

database/noSql 2020.12.08

mongodb cluster 구축

나중에 내가 써먹으려고 쓰는 mongodb cluster 구축. 책을 읽고 내용을 정리해본다. mongodb는 mysql과 다르게 대소문자를 구별한다. mongodb cluster 1) 실제 데이터를 저장하는 shard 2) 요청을 적절한 shard로 배분해주는 mongos process 3) cluster의 설정을 유지해주는 mongod 설정서버 chunk 기본 설정 크기 : 64MB balancing : 충분한 수의 chunk가 확보되면 다른 shard로 데이터를 이동한다. 데이터 고르게 분산, 전송량 최소화 mongos : 사용자와 클러스터 간의 접점, 단일 서버처럼 다룰 수 있게 해준다. 1) 사용자 document 입력 2) mongos가 문서의 shard key 확인 3) chunk 조회, 알..

database/noSql 2019.12.20

GridFs

MongoDB의 Document의 최대 크기는 16MB이다. 그보다 큰 document는 GridFs를 사용해야 한다. GridFs는 모든 파일을 Bson document 형식으로 처리하여 16MB가 넘은 데이터를 분산하여 저장하는 명세이다. 16MB가 넘지 않더라도 전체 파일을 메모리에 로드하지 않고도 저장하는데 유용하다. 파일 하나로 저장하는 것이 아니라 255KB 이하 크기의 chunk로 나누어 저장하는데, fs.chunks, fs.files 2개의 collection을 통해 파일 청크와 메타데이터를 관리한다. fs.chunks { "_id" : , "files_id" : , "n" : , "data" : } fs.files { "_id" : , "length" : , "chunkSize" : , ..

database/noSql 2019.11.10