nosql: 14개의 글
요즘 시대에는 구글이나 페이스북과 같은 글로벌 서비스를 제공하는 회사가 늘어나면서 방대한 양의 데이터를 충분히 빠른 속도로 처리할 수 있는 데이터베이스에 대한 필요성이 대두되기 시작했다. 이런 대용량 데이터 서비스에서는 기존의 RDBMS에서 처리하기는 힘들다.(비용적인 문제, 데이터를 분산하기 위해 수십,수백대의 서버로 분산시켜야함) 물론 MySQL 같이 오픈 소스 RDBMS는 비용적인 문제를 해결해주기는 하였다. 하지만 이러한 MySQL도 빅데이터를 처리하기에는 문제가 있다. 만약 엄청난 양의 데이터가 있고, 매번 데이터베이스 스키마에 맞게 데이터를 조작하여 작업을 해야한다면 얼마나 비효율적이고 힘든 작업일까.. 여느 NoSQL과 같이 MongoDB는 이러한 문제를 해결하기 위해 적합한? 데이터베이스이..
수직 샤딩: 컬렉션 단위로 데이터를 나누어 할당. 데이터베이스별로 지정된 프라이머리 서버에만 저장됨. (똑같은 데이터가 여러 서버에 나뉘어 있음 : QPS는 분산되나, 데이터 사이즈는 분산 불가능)수평 샤딩: 하나의 컬렉션의 도큐먼트를 여러 서버에 나누어 할당 (콜렉션 총 크기가 10TB라면, 10대의 서버가 약 1TB씩 데이터를 가지고 있는 형상) HBase는 클러스터 접근 HMaster에 접근하며, 원하는 데이터노드의 정보를 받아 그 데이터 노드에 가서 클라이언트 노드와 통신하게 된다. 만약 접속 중인 data node에 원하는 데이터가 없으면 다시 HMaster(리전 서버)에게 문의한다. MongoDB에서 클라이언트는 무조건 Mongos 서버(라우팅 역할만)와만 통신한다. Config서버(repli..
https://db-engines.com/en/ranking -> DB엔진 랭킹 사이트(monthly단위로 확인 가능) 사용량은 아니고, Stackoverflow 같은 검색어 질의를 Summary한 랭킹사람들이 많이 사용? 조회? 하는 DB 순서 랭킹 DBMS의 종류별로 확인 가능. Relational DBMS (Oracle / MySQL / Mssql / Hive / Spark SQL ...)Key-value stores (Redis / Amazon DynamoDB / Memcaches / Ehcache ...)Document stores (MongoDB / Amazon DynamoDB / Couchbase ...)Search engines (Elasticsearch / Splunk / Solr .....
NoSQL 개요NoSQL은 다양한 데이터 구조를 갖습니다. 그리고 Key/Value, Column Family, Graph, Document 등 다양한 형태의 데이터베이스로 분류됩니다. Column Family의 기본 형식은 KV(Key/Value)이기 때문에 KV(Key/Value) 구조를 간단히 설명하고 넘어가겠습니다. 전통적인 데이터베이스 데이터 관리 방법은 하나의 row에 해당 row에 종속되는 속성들을 나열해 관리했습니다.일반적으로 관리되는 데이터가 NoSQL에서는 어떤 형식으로 관리되는지 사례를 들어 설명하겠습니다. 1. KV(Key/Value) StoreNoSQL에서 가장 기본이 되는 것은 Key/Value Store입니다. NoSQL을 이해하는데 있어 Key/Value 모델이 가장 기본적인..