개발자의 관점에서 볼 때, 거의 모든 기존의 주류 데이터베이스 엔진은 확장 만 가능하며 확장은 매우 사소한 생각이라고 말할 수 있습니다.
최근에는 더 큰 확장 성과 고 가용성 시스템이 필요하면서 기존 데이터베이스를 확장하려는 노력이있었습니다. 그러나 디자인은 레거시 코드에 의해 방해되기 때문에 디자인의 기본이 아니라 매우 중요합니다. 잘 알려진 대부분의 데이터베이스 엔진을 확장하려고하면이 문제가 발생합니다. 슬레이브 서버를 추가하는 것은 설정하기가 매우 어려울 수 있으며 상당한 제한이 있으며 일부는 데이터베이스 테이블을 재지 그해야 할 수도 있습니다.
예를 들어, 대부분은 다중 마스터 디자인이 아닌 마스터 / (멀티) 슬레이브입니다. 다시 말해 전체 서버를 그대로두고 쿼리를 처리하지 못할 수 있습니다. 일부는 제한이 있지만 예를 들어 다중 슬레이브 디자인 만 읽습니다. 따라서 쓰기를 수행하는 하나의 서버가 있고 다른 서버는 모두 읽기 전용 데이터를 제공 할 수 있습니다. 이러한 시스템을 설정할 때 항상 쉬운 프로세스는 아니며 잘 작동하기가 어렵다는 것을 알 수 있습니다. 많은 경우에 추가에 큰 영향을 미칩니다.
반면, 처음부터 동시성 및 다중 마스터 설계로 개발 된 일부 최신 데이터베이스 엔진이 있습니다. NOSQL 과 NewSQL 은 새로운 디자인 클래스입니다.
따라서 기존 SQL Server에서 더 나은 성능을 얻는 가장 좋은 방법은 스케일 업입니다! NOSQL 및 NewSQL을 사용하면 확장 및 확장이 가능합니다.
기존의 RDBMS 시스템이 밀접하게 결합 된 이유는 모두 동일한 데이터에 대한 일관된보기가 필요하기 때문입니다. 여러 클라이언트가 서로 다른 클라이언트의 동일한 데이터에 대한 업데이트를 허용하는 경우 어느 서버를 신뢰합니까? 어떤 종류의 잠금 메커니즘을 통해 데이터의 일관성을 유지하려는 방법을 사용하려면 클라이언트에서 읽은 데이터가 오래되었을 수 있으므로 성능을 저하 시키거나 데이터 품질에 영향을주는 다른 서버와의 협력이 필요합니다. 또한 서버는 동일한 레코드에 쓸 때 가장 최근의 데이터를 결정해야합니다. 보시다시피, 데이터에 대한 액세스가 여전히 빠른 프로세스 또는 스레드뿐만 아니라 서버 전체에 워크로드가 분산되어 있기 때문에 더욱 복잡한 문제입니다.