@skylabs

Какая самая оптимальная БД для хранения больших объемов информации?

Нужно хранить несколько десятков (а то и сотен) миллионов записей в таблице базе данных, штук 5-8 полей, типы например такие - bigint, string, bool, integer, float. Для быстрого поиска нужна индексация по полям id, и title. При этом требуется, чтобы база данных на диске занимала как можно меньше места. Возможно есть какие-нибудь бенчмарки СУБД, в которых тестируется размер базы данных при одинаковом содержимом?
  • Вопрос задан
  • 1609 просмотров
Пригласить эксперта
Ответы на вопрос 3
@bnytiki
1. Миллионы записей это вовсе НЕ большая БД. Для современной СУБД - это ерунда. Нынче и миллиарды записей не большая проблема, а вы о миллионах каких-то.

2. В БД очень много места занимают индексы. Если вы не будете их делать (и не будете использовать СУБД, которая сама создает индексы) - можете сэкономить и в 2 раза. Как вариант - индексировать каждый раз при запуске приложения.

3. Касается только постоянно изменяемой БД. В БД очень много места занимает журнал транзакций. Если использовать СУБД без журнала транзакций - сэкономите размер, но потеряете в надежности. Если изменения происходят редко и в небольших объемах - проблемы с этим нет.

4. Есть append only СУБД. Там нет фрагментации. Там нет журнала транзакций (или он сильно упрощен).

5. У вас не такие уж и большие объемы. Допустим даже у вас будет 8 строковых полей по 120 символов в каждом. Это около килобайта без индексов. Допустим их будет 1 миллион. Это около 1 гигабайта без индексов.

6. Можно прекрасно разместить в оперативной памяти.
Если нужно прям-таки жестко сэкономить на дисковом пространстве, например, я бы взял СУБД in-memory (1 гигабайт данных + индексы на полгигабайта даже если - это не много для современного компьютера). А данные бы сжимал.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Для малого объёма - только работа с узлами "дерева" Вас спасёт (и создание начального дерева).
А по остальным критериям - можно брать любую.
Ответ написан
Комментировать
al_gon
@al_gon
Что есть для вас быстый поиск?
Нужен по title полноценный полнотекстовый поиск?
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D...

Если да, то без поискового движка никуда.

Если у вас поиск по катологу, то варинты типа
SELECT * FROM documents WHERE MATCH (title) AGAINST ('поиск');

не подходят.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы