Какую базу данных выбрать для частого обновления данных?
Задача:
Есть некий документ, который один раз записывается в базу и затем к нему разные источники дописывают свойства. Например документ - имя файла, свойства - размер, дата создания, хеш, тип. и т.п.
Некоторые свойства как могут быть, так могут и не быть. Т.е. у некоторых файлов может не быть информации о размере или дате создания.
Свойства для одного и того же файла могут обновлять разные источники и делать они это могут одновременно, но разные свойства обновляют разные источники, т.е. один источник обновлят только размер, другой только дату создания и ит.п. Поэтому хотелось бы иместь возможность обновлять свойства не блокируя весь документ.
Документы не будут хранится вечно и будут удаляться, как только все свойства будут заполнены.
Так же должна выдерживать около 500 записей/обновлений в секунду.
Yustas Alexu: You can expect to see development slow down in the meantime, but everything will continue to be available on rethinkdb.com and horizon.io. Разработка замедлится, предполагаю, что до тех пор, пока не найдут инвестора. Вполне вероятно, это будет Stripe: We looked at a number of options, and were deeply impressed by Stripe.
Ну Redis вы вполне правильно указали, 500rps он спокойно выдержит, даже с локами на весь весь ключ.
Ещё sophia.systems посмотрите, её вроде как tarantool использует внутри.
500 обновлений в секунду - совсем не большая нагрузка.
Но если прям-таки специализированное решение хочется, то на такие вещи заточены InfluxDB и Tarantool (с включенным движком vinyl)
На среднем железе лично получал до 5000 в секунду.
Больше не требовалось по тех.заданию, возможно можно и больше.