Якщо реляційні бази даних не масштабуються, нічого не роблять. Не турбуйтеся про проблеми зі масштабуванням.
У SQL є проблеми з деякими видами аналізу, але для запускання проблеми не потрібно багато даних. Наприклад, розглянемо єдину таблицю зі стовпцем, що посилається на інші рядки на основі унікального ключа. Зазвичай це може бути використане для створення структури дерева. Ви можете писати швидкі оператори SQL, які посилаються на відповідний рядок. Або пов'язаний рядок пов'язаного рядка. Насправді ви можете робити будь-яку конкретну кількість стрибків. Але якщо для кожного рядка ви хочете вибрати поле на першому спорідненому рядку в ланцюжку, яке відповідає деякому критерію, то воно ускладнюється.
Розгляньте таблицю місць розташування офісів на рівні країни, провінції / штату, округу, міста та села, при цьому кожен офіс посилається на офіс, про який він повідомляє. Там немає ні гарантії того, що звітність в офісі кожен офіс знаходиться тільки один рівень вгору. Для вибраного набору офісів, не всіх на одному рівні, потрібно перелічити національний офіс кожного з них. Для цього потрібні петлі SQL-статей і це займе багато часу навіть сьогодні. (Раніше я отримував 30 секунд на вибір 30 офісів, але це було давно - і перехід на збережені процедури трохи допоміг.)
Таким чином, альтернатива полягає в тому, щоб скласти всю структуру в один великий блок даних, позначити їх і зберігати. Коли ви хочете проаналізувати дані, за один раз прочитайте їх у пам'яті, встановивши покажчики для відстеження структури, і ви можете мить оглядати кілька мільйонів офісів.
Ніщо з цього не має великого відношення до кількості даних. Ключовим є характер організації даних. Якщо реляційний макет допомагає, то RDBMS - це те, що ви хочете. Якщо ні, то якесь об'ємне сховище буде що-небудь від трохи до квадрильйона разів швидше.
Зауважте, що якщо один із цих наборів даних стає занадто великим, щоб вміститися в пам'яті, ваша база даних, що не належать до SQL, більше не працює. Інша проблема - коли вам потрібні дані з декількох блоків одночасно; ви можете це зробити, якщо і лише тоді, коли всі блоки вписуються в пам'ять відразу. І користувачеві доводиться чекати, поки ви завантажуєте їх.
Якщо ваша реляційна база даних викличе у вас проблеми, це зробить це, перш ніж ви вкладете в неї багато даних. Єдина проблема з масштабуванням, яка може виникнути, - це з вашою програмою, коли блок даних, який ви збираєте для БД nosql - якщо вам доведеться його використовувати - стає для нього занадто великим. (Читайте на помилках, що не знаходяться в пам'яті. Новіші мови іноді роблять дивні речі з пам'яттю.)