Думаю, вам следует вики сообщества , так как правильного ответа не будет (или вы получите более конкретный ответ на свой вопрос).
Во-первых, расширение индексации Тима.Индексы дерева похожи на перевернутую пирамиду.Ваш блок Root / 'level 0' может указывать на сотню блоков 'level 1'.Каждый из них указывает на сотню блоков «уровня 2» и каждый указывает на сотню блоков «уровня 3».Это миллион блоков уровня 3, которые могут указывать на сто миллионов строк данных.Это пять операций чтения, чтобы добраться до любой строки в этом наборе данных (и, вероятно, все, кроме двух последних, кэшируются в памяти).Еще один уровень поднимает ваш набор данных на два порядка.Индексы ДЕЙСТВИТЕЛЬНО хорошо масштабируются, поэтому, если ваш сценарий использования приложения играет с небольшими объемами данных в очень большом наборе данных, у вас все в порядке.
Секционирование можно рассматривать как альтернативную форму индексации, в которой вы хотите быстроисключить значительную часть работы.
Устройства хранилища данных - это второе решение, когда вы ожидаете иметь дело с большими наборами данных в еще больших наборах данных.Как правило, решение состоит в том, чтобы перебросить диски при проблеме, с процессорами или памятью, выделенными для этих дисков или без них, для разделения проблемы.
Распределенная база данных в основном решает другую форму масштабируемости, которая заключается в большом количестве одновременных пользователей.Процессор может адресовать только столько памяти, а значит, столько пользователей, с которыми он может справиться, не борясь за память.Репликация работала до некоторой степени, особенно с более старыми приложениями для чтения.Проблема, к которой обращается новая база данных NoSQL, заключается в том, чтобы сделать это и получить согласованные результаты, включая управление резервными копиями и восстановлениями для восстановления согласованности.Как правило, они делают это, выбирая «возможную согласованность», принимая временные несоответствия в качестве компромисса для масштабируемости.
Я бы рискнул сказать, что существует немного баз данных NoSQL, где объем данных исключает решение СУБД,Скорее это был том пользователя / транзакции / записи, который выдвинул распределенные базы данных.
Твердотельное хранилище также сыграет свою роль.В последнее время проблема с вращающимися коричневыми дисками была меньше связана с производительностью вращения.Они не могут работать достаточно быстро, чтобы быстро получить доступ ко всем данным, которые вы можете хранить на них.Флэш-накопители / карты / память / кэш-память в основном убирают время поиска, которое задерживает все.