Где лучше всего хранить большое количество цифровых записей для последующего анализа?

Есть много записей (2 млрд.), причем вида «почти_ключ-значение»:

1 — 2
1 — 33
1 — 256
1 — 103214
2 — 2321
123 — 432432
и т.д.

Всего таких пар 2 млрд. Причем в последствии будет построен граф, где первый индекс — это узел, второй — другой узел, с которым связан данный, а также каждую из записей придется сравнивать где-то с 2-5 млн. других таких же записей. Хочется выбрать правильную базу данных для этих целей. Что посоветуете?
  • Вопрос задан
  • 2622 просмотра
Пригласить эксперта
Ответы на вопрос 3
inlanger
@inlanger
Django программист
По-идее с таким объемом и с такой структурой данных должна нормально справиться mongodb.
Ответ написан
png
@png
Вопрос слегка пространный. не понятно что вы потом будете делать с этими записями?
Возможно по крайнем мере 4 решения. Их выбор зависит от того, что вы потом с этим будете делать.

1. Обычный SQL. Например, Postgres + партицирование.
2. Посмотреть в сторону NoSQL решений. Поскольку у вас графовые решения, то есть HyperGraphDB, Neo4j
сам я эти БД не использовал, но как возможное решение попробовать стоит.
3. Посмотреть в сторону распределенных решений. Например, apache hadoop.
обработку данных осуществлять при помощи map-reduce технологии.
4. Если нужно будет искать что-нибудь, то можно воспользоваться каким-нибудь поисковым движком, который индексирует локальные файлы и ищет по нему быстро. под рукой ссылок нет, может позже скину ссылки на пару примеров.

Мне хватило 1-ого варианта. БД где-то 30Гб Выборка идет из конкретной секции по условию и так далее…
Знаю людей, которые используют 3-й вариант, тоже не жалуются. У них БД по больше до 64Tб
Ответ написан
Комментировать
@codecity
Одна из самых быстрых из всех существующих ключ/значение — BerkleyDB от Oracle. Вам должно хватить.
Ответ написан
Ваш ответ на вопрос

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

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