Я думаю, что это около 48 гигабайт данных в одной таблице.
Когда вы попадаете в большие базы данных, вы должны смотреть на вещи немного по-другому.С обычной базой данных (скажем, таблицами менее пары миллионов строк), вы можете сделать что угодно в качестве доказательства концепции.Даже если вы не знакомы с базами данных SQL, настройкой сервера и настройкой оборудования, ответ, который вы придумали, будет, вероятно, правильным.(Хотя иногда вы можете быть правы по неправильной причине.)
Обычно это не так для больших баз данных.
К сожалению, вы не можете просто выбросить 1,5 миллиарда строк прямо на ненастроенную PostgreSQLсервер, запустите пару запросов и скажите: «PostgreSQL не может справиться с этим».Большинство баз данных SQL имеют способы работы с большим количеством данных, и большинство людей не так много о них знают.
Вот некоторые вещи, о которых мне нужно подумать, когда мне приходится обрабатывать много данных в долгосрочной перспективе.(Краткосрочная или одноразовая обработка, обычно не стоит сильно заботиться о скорости. Многие компании не будут вкладывать средства в увеличение объема ОЗУ или дюжины высокоскоростных дисков - или даже нескольких SSD) - дажедолгосрочное решение, не говоря уже о разовой работе.)
- Процессор сервера.
- Оперативная память сервера.
- Диски сервера.
- Конфигурация RAID.(Возможно, стоит обратить внимание на RAID 3.)
- Выбор операционной системы.(64-разрядные против 32-разрядных, BSD против производных AT & T)
- Выбор СУБД.(Oracle обычно превосходит PostgreSQL, но это стоит.)
- Настройка СУБД.(Общие буферы, сортировка памяти, размер кэша и т. Д.)
- Выбор индекса и кластеризация.(Много разных видов в наше время.)
- Нормализация.(Вы будете удивлены, как часто 5NF превосходит более низкие NF. То же самое для натуральных ключей.)
- Табличные пространства.(Возможно, поместив индекс на свой собственный SSD.)
- Разметка.
Я уверен, что есть другие, но я еще не пил кофе.
Но дело в том, что вы не можете определить, скажем, PostgreSQL может обрабатывать таблицу на 48 гигов, если вы не учли эффект от всех этих оптимизаций.С большими базами данных вы полагаетесь на совокупный эффект небольших улучшений.Вы должны сделать много тестов, прежде чем сможете обоснованно прийти к выводу, что данные базы данных не могут обрабатывать таблицу с 48 гигабайтами.
Теперь, можете ли вы реализовать эти оптимизации, это другой вопрос- большинство компаний не будут вкладывать средства в новый 64-разрядный сервер под управлением Oracle и дюжину новейших жестких дисков «Я самый быстрый жесткий диск» для решения вашей проблемы.
Но кто-то собирается заплатить либо за оптимальное аппаратное и программное обеспечение, либо за опыт настройки dba, либо за время программиста и ожидание на неоптимальном оборудовании.Я видел такие проблемы, которые решались месяцами.Если на это уйдут месяцы, деньги на оборудование, вероятно, являются разумным вложением.