말씀하신 대로 수평확장을 통한 병렬처리를 통해서 대용량 데이터 처리를 해서 성능을 보장하게 됩니다. RDBMS의 경우 지적하신 제약 외에도 샤딩을 적용하기 위해서는 RDB의 장점인 transaction이나 join을 포기하는 경우도 있습니다.
그에 반해 몽고DB 샤딩은 distributed by design입니다. 대부분 샤딩에서 지원하는 hashed sharding 외에 range sharding, zone sharding까지 지원해서 range query와 data governance도 native support를 하고 있고, chunk rebalancing까지 native support하기 때문에 application 입장에서는 sharding을 사용함에 있어서 크게 차이 없이 개발 생산성을 높일 수 있습니다
[질문] 결국은 Mongo DB의 특성상 Vertical sharding은 어렵지만, 기본적으로 분산된 Horizontal sharding이 이미 구현된 셈이라고 이해해도 될까요?
물론 scale up/down도 무중단으로 자유롭게 조정이 가능하고
scale up으로 한계가 있을 때 scale out을 적용하시는 것이 일반적인 확장 방식입니다
[질문]NoSQL이 대량 데이터 처리에 대한 RDBMS의 한계를 해결하기위해 나왔는데 구체적으로 어떤 점에서 성능적 차이가 나타나는지 궁금하며 RDBMS가 샤딩이 가능하지만 샤딩 처리를 위해 어플리케이션 레벨에서 처리해야하는 부분이 있는것이 단점인데 이부분이 몽고DB에서는 성능적으로 얼마나 개선되었는지궁금합니다