데이터베이스 컨텍스트 에서 NOSQL 데이터베이스의 장점 중 하나 인 수평 적 확장 성을 경험 했습니다. 이 용어는 무엇을 의미합니까?
수직 스케일링 과 비교하면 어떻습니까?
데이터베이스 컨텍스트 에서 NOSQL 데이터베이스의 장점 중 하나 인 수평 적 확장 성을 경험 했습니다. 이 용어는 무엇을 의미합니까?
수직 스케일링 과 비교하면 어떻습니까?
답변:
수평 스케일링
수평 스케일링은 본질적으로 위가 아닌 건물입니다. 더 큰 서버를 구입하지 않고 모든 부하를 서버로 옮기는 대신 1 대 이상의 추가 서버를 구입하여 서버간에 부하를 분산시킵니다.
수평 확장은 서버에서 여러 인스턴스를 동시에 실행할 수있는 경우에 사용됩니다. 일반적으로 1 서버에서 2 서버로 이동하는 것이 훨씬 어렵습니다. 그런 다음 2에서 5, 10, 50 등으로 이동합니다.
병렬 인스턴스 실행 문제를 해결 한 후에는 Amazon EC2, Rackspace 's Cloud Service, GoGrid 등의 환경을 활용하여 필요에 따라 인스턴스를 위 / 아래로 끌어 올릴 수 있으므로 서버 전력 비용을 절감 할 필요가 없습니다. 이러한 최대 부하를 다루기 위해 사용하지는 않습니다.
관계형 데이터베이스는 전체 읽기 / 쓰기를 병렬로 실행하기 어려운 항목 중 하나입니다.
Damien Katz가 Austin의 StackOverflow DevDays에서 CouchDB에 대해 이야기하는 것을 보았고 그의 주요 관심사 중 하나는 병렬 인스턴스였습니다. 이것이 첫날부터 초점이되었으므로 수평 스케일링을 훨씬 더 잘 활용할 수 있습니다.
수직 스케일링
수직 스케일링은 정반대입니다. 감당할 수있는 가장 강력한 하드웨어를 구매하여 애플리케이션, 데이터베이스 등을 배치하십시오.
실제
물론,이 두 가지 모두 장단점이 있습니다. 종종이 두 가지의 조합이 최종 솔루션에 사용됩니다.
모든 사람이 대규모 하드웨어에서 실시간 데이터를 쓰고 읽는 기본 데이터베이스가있을 수 있습니다. 그런 다음 분량의 데이터 분석 및보고를 위해 데이터베이스의 읽기 전용 사본을 분산하여 분 단위로 중요하지 않은 곳에 배포하십시오. 그러면 프런트 엔드 웹 응용 프로그램이로드 밸런서 뒤의 여러 웹 서버에서 실행될 수 있습니다.
수평 적 확장은 많은 양의 쓰기 및 병렬 읽기를 처리해야하는 응용 프로그램이 필요할 때 유용합니다. 많은 양의 트래픽이 발생하고이를 기록해야하거나 많은 수의 이벤트를 기록해야하는 웹 사이트를 생각해보십시오.
가장 큰 장점은 상용 하드웨어를 사용하여 수평 스케일링을 수행 할 수 있으며 수직 스케일링으로 할 수있는 일이 많고 기존 상자를 더 크게 만들려고한다는 것입니다.
전통적인 RDBMS는 다양한 이유로 (여기서는 ACID라는 사실을 포함하여) 여기에서 실패하고 NoSQL 솔루션은 수평으로 쉽게 확장 할 수 있기 때문에 여기에서 뛰어납니다.