LINUX.ORG.RU

Выбор БД для частой записи и средней нагрузки по чтению

 , , ,


0

2

Есть тут мысль на одном проекте сделать систему полного логирования активности, а так как типов активности и самих пользователей мягко говоря не мало(овер 60к активных юзеров и, пока, 21 тип активности), то возникают проблемы. Собственно, как оно будет работать и что требовать:

1) Записи будут инсертиться, к ним будут прикладываться дополнительные параметры, которые хорошо бы хранить благодаря возможности динамической структуры записи, но смириться можно если придётся хранить их и в сериализованном виде.

2) Записи будут частенько подниматься по «order by date limit N».

3) Хотелось бы чтобы через год БД не занимала гигабайты с временем обработки вышесказанного запроса более, чем в 3 секунды.

MongoDB откидываю так как с записью там проблемы. Postgre понятно. Redis говорят как и монга, тоже не стоит в таком случае. Cassandra говорят шикарна для записей, но очень смущает тот факт, что мне бы хорошо делать и запросы, не уверен что они будут выполняться шустро. Можно поделить на семейства для каждого пользователя, но тогда будет их слишком много, а это кассандра не любит.

Кто-нибудь что-нибудь посоветует? Какие мысли, быть может?


Да нормально вроде все в кассандре с чтением, главное структуру так продумать, чтобы ей по всему кластеру твои записи для запроса искать не приходилось, а обошлось все выборкой из одной ноды.

Nagwal ★★★★ ()
Ответ на: комментарий от Nagwal

Ну и тест, забивающий базу гигабайтом-другим данных и считающий время твоих запросов к ним меньше чем за день пишется.

Nagwal ★★★★ ()

всё-же попробуй MariaDB. Я имею ввиду — тест сделай, и посмотри что лучше.

drBatty ★★ ()

Классическое решение - разные таблицы (или базы, я не знаю как у тебя) на select\insert и синхронизировать раз в сутки например. В РСУБД insert всегда медленнее select, а если уж есть индексные поля... ну ты понял.

oskar0609 ()

если ACID не нужен, то всё решается просто логом (бинарным, опционально) с грубым индексом по дате. Уже много раз задавали похожие вопросы на ЛОРе.

mashina ★★★★★ ()

На вставку все нормальные базы упираются в скорость последовательной записи на диск. Это вообще простая операция, не то, что апдейт. Так что бери ту, что запросы хорошо оптимайзит. Я бы постгрес взял. Кассандры и другие распределенные системы стоит юзають только если у тебя данные в один сервер не влазят.

dizza ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.