Задать вопрос
Forbidden
@Forbidden
CEO, CTO @ a-parser.com

Идеальная база данных для хранения большого числа уникальных строк?

Продолжая развивать наш проект https://spyserp.com/ru/ появилась интересная задача

Входные данные:
- 150 млн уникальных строк длинной от 1 до 2048 символов(в данном примере ссылки, но могут быть любые бинарные строки)
- ежедневный прирост по 1 млн, ожидаемый прирост в диапозоне 5-10 млрд
- сейчас хранится в PostgreSQL, в формате id(primary key), link bytea(btree index), занимает 22 гб и индекс 32 гб

Задача:
- подобрать более оптимальное хранилище, уменьшить физический размер индекса, улучшить производительность

Из требований к новой базе:
- желательно максимальное заточенное и оптимизированное хранилище под такой тип данных(уникальная строка + ее id)
- быстрый поиск как по ключу(ссылке) так и получение ссылки по ее id
- возможность горизонтального масштабирования
- дисковое хранилище(понятно что для наилучшей производительности лучше все положить в память, но на данный момент этот вариант не рассматривается)

Из того что пробовалось:
- все key/value хранилища(leveldb, rocksdb и т.д.) - нет поиска по value(в данном случае key - ссылка, value это id)
- был активный период гугления, но к сожалению подходящего решения так и не было найдено

Обсудим? Очень хочется услышать мнение тех кто сталкивался с подобной задачей и как ее решали
  • Вопрос задан
  • 3153 просмотра
Подписаться 17 Средний 2 комментария
Ответ пользователя LORiO К ответам на вопрос (8)
LORiO
@LORiO
clickhouse от яндекса. И с url база хорошо работает, так как изначально для метрики разрабатывалась.
Ответ написан