본문 바로가기

sharding

(2)
DB - MongoDB 샤딩(Sharding,분산처리 등) 샤딩(Sharding)은 데이터를 여러 서버에 분산해서 저장하고 처리할 수 있도록 하는 기술을 말한다. MongoDB의 복제와 샤딩은 상호보완적이지만 엄연히 목적이 다르다. 복제는 고가용성을 위한 솔루션이며 샤딩은 분산 처리를 위한 솔루션이다. 그래서 몽고디비는 고가용성과 대용량 분산 처리를 위해 복제와 샤딩을 모두 적용한다. 몽고디비에서 샤딩을 적용하려면 샤드 클러스터를 구축해야 하는데, 이를 위해서는 파티션된 데이터의 범위와 샤드 위치 정보 등의 메타 정보를 저장하기 위해 컨피그 서버(Config Server)가 필요하다. 그리고 응용 프로그램이 필요한 데이터를 조회하거나 저장하려면 "mongos"라는 라우터 서버(Router Server)가 필요하다. 라우터는 쿼리 수행에 있어서 프록시(Proxy)..
DB - MongoDB란?(NoSQL,Document) 요즘 시대에는 구글이나 페이스북과 같은 글로벌 서비스를 제공하는 회사가 늘어나면서 방대한 양의 데이터를 충분히 빠른 속도로 처리할 수 있는 데이터베이스에 대한 필요성이 대두되기 시작했다. 이런 대용량 데이터 서비스에서는 기존의 RDBMS에서 처리하기는 힘들다.(비용적인 문제, 데이터를 분산하기 위해 수십,수백대의 서버로 분산시켜야함) 물론 MySQL 같이 오픈 소스 RDBMS는 비용적인 문제를 해결해주기는 하였다. 하지만 이러한 MySQL도 빅데이터를 처리하기에는 문제가 있다. 만약 엄청난 양의 데이터가 있고, 매번 데이터베이스 스키마에 맞게 데이터를 조작하여 작업을 해야한다면 얼마나 비효율적이고 힘든 작업일까.. 여느 NoSQL과 같이 MongoDB는 이러한 문제를 해결하기 위해 적합한? 데이터베이스이..