2011-02-02 2 views
1

Я ищу решение для добавления персистентности в приложение с собственным кодом. Он должен быть простым (без SQL), быстрым и, самое главное, надежным.Простая, быстрая и надежная база данных (NoSQL)

Лучший подход, который я могу придумать, - использовать файлы с отображением памяти. Это так же просто и быстро, как это можно получить - вы просто сохраняете значения в массивах простых данных в «памяти». Тем не менее, я не думаю, что это очень надежно - отказ питания может оставить базу данных в непоследовательном или поврежденном состоянии. Возможность организовать транзакционную синхронизацию группы файлов с отображением памяти на диск позволит решить эту проблему, но я не думаю, что это возможно. Кроме того, если файловая система не поддерживает моментальные снимки или клонирование COW (например, Brtfs), резервные копии означают необходимость полностью прекратить приложение во время копирования файлов.

У кого-нибудь есть идеи?

+0

Память ≠ Стойкий. – coreyward

+1

Нет SQL, как насчет SQLite? это просто база данных, которую вы пытаетесь избежать? SQLite - это просто плоский файл. – caesay

+0

@coreyward: umm, вы знаете, что такое файл с отображением памяти, верно? Редактирование «памяти» файла сопоставляется также для редактирования файла на диске, а не сразу. @Tommy: Я просто хочу избежать бессмысленного преобразования в строки/из строк, стирания строк и т. Д. –

ответ

0

Ваш список требований звучит как Redis. См. http://redis.io/ для получения дополнительной информации.

Другая возможность - Кассандра. Подробнее см. В разделе http://cassandra.apache.org/.

+0

Я думаю, что он ищет более простое решение. – arthurprs

+0

Спасибо. Я посмотрел на Кассандру, но это выглядело как перебор. Все, что концентрируется на масштабируемости, вероятно, будет слишком большим для моих нужд. –

Смежные вопросы