Java кеш как база данных?

Как библиотеки Java кеша можно использовать в качестве базы данных?

Я использую что-то вроде Ehcache или же JCS вместо базы данных?

Это правда, что Ehcache поддерживает постоянную стратегию = localRestartable только для Enterprise Ehcache, т.е. платная версия?

Значит ли это, что бесплатная версия не подходит для замены базы данных?

ОБНОВИТЬ

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

Вот пример сравнения между neo4j (графическая база данных) и Ehcache (кеш): http://vschart.com/compare/ehcache/vs/neo4j-community Они выглядят сопоставимыми.

1 ответ

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

Объединение этих двух концепций позволяет разработчикам кеша удалять записи из кеша в любое удобное для них время, чтобы ограничить использование ресурсов кеша, отдавать предпочтение записям, которые имеют более частую схему доступа или просто не иметь кеш, как источник повышенной задержки,

Это основная причина, почему кеш не должен использоваться в качестве хранилища данных.

Теперь некоторые реализации кеша могут предлагать функцию предотвращения выселения, но в этом случае вам придется заплатить цену за логику / сложность выселения, которых не было бы в хранилище данных.

Что касается настойчивости Ehcache, унаследованный режим overflowToDisk=true а также diskPersistent=true предложить ограниченное постоянство "пережить перезапуск JVM". Однако он очень чувствителен к правильному выключению, и при обнаружении любого повреждения при запуске кеш удаляет все содержимое и перезапускается пустым. Посмотрите выше, почему это допустимый параметр в контексте кэша.

Другие вопросы по тегам