Вопрос

Есть ли у кого-нибудь опыт использования Terracotta с поиском в режиме Гибернации для удовлетворения запросов приложений?

Если это так:

  1. С каким объемом "обновлений объекта " он может справиться?(Как тебе выступление )

  2. Какой производительностью обладают запросы ?

  3. Можно ли использовать терракоту Поиск в режиме гибернации, даже не имея резервная база данных, удовлетворяющая всем "запросы" в памяти?
Это было полезно?

Решение

Я технический директор Terracotta.В прошлом месяце я потратил некоторое время на поиск в режиме гибернации.Он построен не таким образом, чтобы его можно было прозрачно сгруппировать с помощью Терракоты.Вот почему в двух словах:Hibernate имеет специально созданную JMS репликацию индексов Lucene в JVMS.

Основная идея поиска заключается в том, что обращение к локальному диску в lucene работает действительно хорошо, в то время как фрагментация или разделение индексов Lucene по сети приводит к ооочень большой задержке, из-за чего Lucene кажется плохим, хотя это вовсе не вина Lucene.С этой целью поиск в режиме гибернации не зависит от JBossCache или Любой схемы разделения / кэширования в памяти и вместо этого полагается на JMS и локальный диск каждой JVM, чтобы обеспечить актуальную индексацию по кластеру с одновременной низкой задержкой.Затем, прелесть поиска в режиме гибернации заключается в том, что стандартные запросы в режиме гибернации и многое другое могут быть запущены через Hibernate по этим индексам естественного языка на каждой машине.

Оказалось, что у Terracotta была похожая идея с Emmanuel, и мы создали продукт SearchableMap поверх Compass.Каждая машина получает свое собственное хранилище Compass, и хранилище настроено для локального переноса на диск.Terracotta используется для создания возможности записи с несколькими мастерами, где любая JVM может добавлять к индексу, а дельта отправляется через Terracotta для локального воспроизведения / повторного применения на каждый диск.Это работает так же, как поиск в режиме гибернации, но с DSO в качестве сетевого протокола вместо JMS и без приятных интерфейсов Гибернации, но вместо этого с интерфейсами Compass.

Я думаю, что мы будем поддерживать поиск в режиме гибернации с помощью JBoss (им нужно будет исключить JMS impl из списка подключаемых) к концу года.

Теперь перейдем непосредственно к вашим вопросам:

1.Скорость обновления объектов в секунду в режиме гибернации или SearchableMap должна быть довольно высокой, поскольку оба отправляют только дельты.В случае Hibernate это функция нашего поставщика JMS.В Terracotta это масштабируется просто за счет добавления большего количества серверов Terracotta в массив.

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

  2. Я думаю, это произойдет, как только мы заставим JBoss учесть их предположения JMS и т.д.

Ваше здоровье,

--Ари

Другие советы

Поскольку люди на форумах Hibernate продолжают ссылаться на этот пост, я чувствую необходимость указать, что, хотя комментарии Ari в начале 2009 года были правильными, мы значительно развивались и совершенствовались.

Hibernate Search предоставляет набор внутренних каналов "из коробки", таких как уже упомянутый основанный на JMS и более недавнее дополнение с использованием JGroups, но мы также довольно упростили подключение альтернативных реализаций или переопределение некоторых.

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

У него есть серверная часть на базе Infinispan для очень быстрого распределения индекса по разным узлам, и было бы проще добавить индекс на основе Terracotta или любой другой технологии кластеризации.Появляются новые решения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top