Задать вопрос
@pls-kick-me

Какую БД выбрать?

Подскажите, пожалуйста, стоит вопрос выбора базы данных для хранения событий окружающей среды. Вот критерии:

- Минимальный функционал, малое потребление ресурсов (никаких postgres)
- В идеале невозможность удаления записи даже тем, у кого есть к ней доступ. Событие произошло, оно не может исчезнуть (скорее всего, такого фунционала не существует и такой механизм достигается другими способами? Например, односвязный список хешей. Но его злоумышленник тоже может переписать. Может по этому пункту есть готовые механизмы?)
- Масштабируемость
- Целостность данных (это самое главное, ради чего пишется система). Данные должны уметь сразу записываться на диск без кэша.

В идеале, я мог бы писать в файлы, но нужна масштабируемость. Данных будет очень много.
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Средний 8 комментариев
Ответ пользователя Василий Банников К ответам на вопрос (4)
- В идеале невозможность удаления записи даже тем, у кого есть к ней доступ. Событие произошло, оно не может исчезнуть (скорее всего, такого фунционала не существует и такой механизм достигается другими способами? Например, односвязный список хешей. Но его злоумышленник тоже может переписать. Может по этому пункту есть готовые механизмы?)

"Тот кто имеет доступ" всегда может форматнуть диски)
Это решается просто - не выдавать доступы никому.
Вообще подобную гарантию только блокчейн даёт. И то только распределённый между несколькими акторами.(несколько разных организаций с разными интересами как минимум. Миллионы людей - как максимум. Тогда у этих разных организаций будет стимул контролировать друг друга, а у сотрудников этих организаций - не будет стимула входить в сговор)

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

Что вообще за данные храниться будут?
Если это какие-то финансовые транзакции, то можно посмотреть на tigerbeetle, тк он в общем-то на это и нацелен: append only, оптимизирован для финансов (Используется концепция счетов, где с одного уходят деньги, а на другой приходят), масштабируемый, имеет огромную пропускную способностью (под миллион TPS).
Из преимуществ - главный минус: абсолютно никакая гибкость.

Из требований не вижу никаких проблем использовать постгрес, кроме хотелки "как можно проще"
Ответ написан
Комментировать