LINUX.ORG.RU

Философия. Какое хранилище мне нужно?

 , ,


1

1

Есть несколько сервисов, которые довольно интенсивно используют немножко общих данных. Конечно, желательно, чтобы у каждого сервиса данные всегда были самыми свежими. Для этого, как я понимаю, сервисы не должны хранить эти данные в себе: каждое чтение/запись должно вестись прямо в БД, которая, видимо, должна находиться в оперативке.

Но так-же хочется, чтобы эта находящаяся в оперативке БД сама взяла на себя заботу о периодическом сохранении данных на диск. Причем в этой БД есть как часто меняющиеся данные, не требующие хранения, так и данные которые надо сохранить на диск. Чтобы в конфиге можно было указать какие надо, какие нет.

Подскажите название хранилища моей мечты?

★★★★★

Ну судя по твоему описанию, это говно называется tarantool.

v9lij ★★★★★
()

rocksdb? в любом случае, не ясно или это архитектурно верный подход. обычно, это путь в никуда и гораздо предпочтительнее иметь отдельно стоящую базу и сервис-фронтенд для нее, чтобы был только один «owner» информации. все остальные сервисы работают через этого оунера. можно дать лучшую рекомендацию если ты расскажешь подробнее как устроены сервисы, какие данные хранятся, какой характер доступа и какие требования по масштабируемости, доступности данных и деплойменту.

val-amart ★★★★★
()

Если сервисы находятся на одном хосте, с головой хватит Redis. Если на разных, то есть тебе нужно распределенное хранилище, смотри в сторону etcd или лучше Consul.

Antonova
()

Couch и репликация. И жизнь наполнится смыслом болью. Особенно если будет интенсивное пересохранение данных.

P.S. Use Postgres, Luke!

spoilt ★★★
()
Последнее исправление: spoilt (всего исправлений: 1)

Должны подойти постгрес или мускуль. Возможно потребуется пофиксить кривые запросы.

ya-betmen ★★★★★
()

Причем в этой БД есть как часто меняющиеся данные, не требующие хранения...

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

mashina ★★★★★
()

Абстрактные данные в вакууме

Зависит от характера данных. Но судя по вопросу, тебе подойдет любое KV в памяти с опциональной write-behind персистентностью. Или постгрес, но мне кажется, он усложнит.

Может, ты на эрланге пишешь? Бери https://github.com/synrc/kvs и абстрагируйся от бд.

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

А как в постгресе реализована работа с данными в оперативке? Пытался почитать, с наскоку не понял ничего

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

Почему бы просто каждый раз не запрашивать эти данные прямо из сервиса который их создаёт?

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

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

А как в постгресе реализована работа с данными в оперативке?

Всё что можно кладётся в кеш в памяти.

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