관계형 데이터베이스가 확장되지 않으면 아무 것도 수행하지 않습니다. 스케일링 문제에 대해 걱정하지 마십시오.
SQL에는 일종의 분석에 문제가 있지만 문제를 유발하는 데 많은 데이터가 필요하지 않습니다. 예를 들어, 고유 키를 기반으로 다른 행을 참조하는 열이있는 단일 테이블을 고려하십시오. 일반적으로 트리 구조를 만드는 데 사용될 수 있습니다. 관련 행을 참조하는 빠른 SQL 문을 작성할 수 있습니다. 또는 관련 행의 관련 행. 실제로 특정 수의 점프를 할 수 있습니다. 그러나 각 행에 대해 체인의 첫 번째 관련 행에서 일부 기준을 충족하는 필드를 선택하려는 경우 복잡해집니다.
국가, 주 /도, 카운티, 마을 및 마을 수준의 사무실 위치 테이블을보고 각 사무실은보고하는 사무실을 참조하십시오. 각 사무소의보고 사무소가 한 레벨 만 있다고 보장 할 수 는 없습니다 . 선택한 사무실 집합에 대해 한 수준에 모두있는 것은 아니며 각 사무실의 관련 국가 사무실을 나열하려고합니다. 이를 위해서는 반복되는 SQL 문이 필요하며 오늘날에도 오랜 시간이 걸립니다. (30 개 사무실을 선택하면 30 초가 걸렸지 만 오래 전부터 저장 프로 시저로 전환하면 약간 도움이되었습니다.)
대안은 전체 구조를 하나의 큰 데이터 블록에 넣고 레이블을 붙여 저장하는 것입니다. 데이터를 분석하려면 한 번에 모든 데이터를 메모리로 읽어 구조를 추적 할 포인터를 설정하고 눈을 깜박이면서 2 백만 개의 사무실을 처리 할 수 있습니다.
이 중 어느 것도 데이터 양과 관련이 없습니다. 핵심은 데이터 조직의 본질입니다. 관계형 레이아웃이 도움이되면 RDBMS가 원하는 것입니다. 그렇지 않다면, 어떤 종류의 벌크 스토리지는 약간에서 수십 배 더 빠를 것입니다.
이러한 데이터 세트 중 하나가 메모리에 비해 너무 커지면 SQL 이외의 데이터베이스는 더 이상 작동하지 않습니다. 다른 문제는 한 번에 여러 블록의 데이터가 필요할 때입니다. 당신은이 작업을 수행 할 수있는 경우 , 그리고 에만 경우, 모든 블록은 한 번에 메모리에 맞지. 그리고 사용자는로드하는 동안 기다려야합니다.
관계형 데이터베이스로 인해 문제가 발생하면 많은 데이터를 저장하기 전에 그렇게합니다. nosql DB에 대해 어셈블 할 데이터 블록 (사용해야하는 경우)이 너무 커질 때 프로그램에 문제가있을 수 있습니다. (메모리 부족 오류를 읽으십시오. 새로운 언어는 때때로 메모리에 이상한 일을합니다.)