NoSQL или кэширование Ehcache?

Я создаю Веб-приложение Планировщика Маршрута с помощью Spring/гыть в спящем режиме/Tomcat и mysql базы данных, у меня есть база данных, содержащая данные только для чтения, такие как Координаты Автобусной остановки, времена Шины, который никогда не обновляется. Я пытаюсь сделать выполнение приложения быстрее, каждый раз, когда приложение запущено, оно формует приблизительно 1 000 чтений к базе данных для вычисления маршрута.

Я имею, устанавливают Ehcache, который значительно улучшает чтение со времен базы данных. Я теперь устанавливаю терракоту + распределенное кэширование Ehcache для совместного использования кэша с несколькими Tomcat JVMs. Это кажется немного сложным. Я попробовал memcached, но он не работал с такой скоростью, как ehcache.

Я задаюсь вопросом, подошли ли MongoDb или Redis лучше. У меня нет опыта с nosql, но я ценил бы, если у кого-либо есть какие-либо идеи. То, в чем я нуждаюсь, является быстрым доступом к базе данных только для чтения.

12
задан patrickandroid 26 June 2010 в 07:23
поделиться

2 ответа

если вы хотите попробовать маршрутизацию, вы даже можете посмотреть Neo4j, см. блог об использовании алгоритма A * для

7
ответ дан 2 December 2019 в 18:18
поделиться

Я установил Ehcache, который значительно улучшает время чтения из базы данных. Теперь я устанавливаю распределенное кеширование terracotta + Ehcache для совместного использования кеша с несколькими JVM Tomcat. Это кажется немного сложным.

Поскольку ваши данные предназначены только для чтения, я склонен сказать, что вы могли бы жить без распределенного и реплицированного кэширования , если только накладные расходы начальной загрузки кешей не критичны ] (и в этом случае настроить Ehcache не так уж и сложно, вам просто нужно знать, куда вы идете). Итак, если вы думаете, что вам это действительно нужно, возможно, попросите более конкретных рекомендаций.

Мне интересно, что лучше: MongoDb или Redis. У меня нет опыта работы с nosql, но я был бы признателен, если у кого-нибудь есть идеи. Мне нужен быстрый доступ к базе данных только для чтения.

Прежде всего, если вы идете по пути NoSQL, забудьте о Hibernate (хотя это может не быть проблемой). Во-вторых, мне действительно интересно, что сложнее: (не) настройка Ehcache для распространения (я все еще не уверен, что вам это нужно) или изменение вашего подхода на что-то радикально иное (что большинству предприятий VAST не требуется) . В-третьих, ничто не будет быстрее, чем чтение данных из памяти в той же JVM.

Подводя итог: я бы 1. рассмотрел вариант отказа от использования распределенного кэширования (и попрощался с проблемой конфигурации) или 2. сконфигурировал Ehcache для распределенного кэширования (я думаю, это менее сложно, чем изменить весь ваш подход).

12
ответ дан 2 December 2019 в 18:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: