Frage

Hat jemand Erfahrung mit Terracotta mit Hibernate Search mit Anwendung Abfragen erfüllen?

Wenn ja:

  1. Was Größenordnung von „Objekt Updates“kann damit umgehen? (Wie ist das Leistung)

  2. Welche Art von Leistung tun die Abfragen haben?

  3. Ist es möglich, Terracotta zu verwenden     Hibernate Search ohne auch     eine Trägerdatenbank zu erfüllen all     "Abfragen" in Speicher?
War es hilfreich?

Lösung

Ich bin Terrakotta CTO. Ich verbrachte im letzten Monat einige Zeit in Hibernate Search suchen. Es ist nicht in einer Art und Weise gebaut transparent durch Terracotta geclustert werden. Hier ist der Grund auf den Punkt gebracht:. Hibernate ein custom-built JMS Replikation von Lucene-Indizes über JVMs hat

Die Grundidee in Suche ist, dass unter lucene auf der lokalen Festplatte zu sprechen wirklich gut funktioniert, während fragmentieren oder Lucene-Indizes Partitionierung bis über das Netzwerk sooo viel Latenz führt zu machen Lucene scheinen schlecht, wenn es überhaupt nicht Lucene Schuld ist. Zu diesem Zweck angewiesen Hibernate Search nicht auf JBossCache oder jeder In-Memory-Partitionierung / Caching-Systeme und verlässt sich stattdessen auf JMS und jeder lokalen Festplatte des JVM, um up-to-date zu schaffen Indizierung über eine Cluster bei gleichzeitiger geringer Latenzzeit. Dann ist die Schönheit der Hibernate Search dass Standard Hibernate-Abfragen und mehr können bei diesem natürlichen Sprache Indizes in jeder Maschine Start durch Hibernate sein.

Bei Terracotta stellt sich heraus, dass wir eine ähnliche Idee zu Emmanuel hatte und ein SearchableMap Produkt auf der Compass gebaut. Jede Maschine hat seinen eigenen Compass Speicher und der Speicher konfiguriert ist, lokal auf der Festplatte zu verschütten. Terracotta wird verwendet, um eine Multi-Master-Schreibfähigkeit zu schaffen, in der jede JVM auf den Index hinzufügen können und das Delta wird durch Terracotta gesendet werden wiedergegeben / erneut angewendet lokal an jeder Scheibe. Es funktioniert genau wie Hibernate Search aber mit DSO als Netzwerkprotokoll anstelle von JMS und w / o den netten Hibernate-Schnittstellen, sondern mit Compass-Schnittstellen.

Ich denke, wir werden Hibernate Search unterstützen w / Hilfe von JBoss (sie müßten die JMS impl als steckbare Faktor out) bis Ende des Jahres.

Jetzt auf Ihre Fragen direkt an:

1. Gegenstand Aktuelles / sec in den Ruhezustand oder SearchableMap sollte recht hoch sein, weil beide nur Deltas sendet. In Hibernate Fall ist es eine Funktion unserer JMS-Provider. In Terracotta ist es skalierbar nur durch mehr Terracotta Server zum Array hinzugefügt wird.

  1. Die Abfrageleistung in beiden ist sehr schnell. Lokale Speicherleistung in den meisten Fällen. Und wenn Sie von der Festplatte auf Seite müssen, stellt sich heraus, die meisten OSes einen guten Job machen und reagieren viel schneller als jedes netzwerkbasierte Clustering kann auf Anfragen.

  2. Es ist, glaube ich, wenn wir bekommen JBoss ihre JMS Annahmen ausklammern, etc.

Cheers,

- Ari

Andere Tipps

Da die Menschen auf den Hibernate-Foren zu diesem Beitrag immer Bezug ich in Bedürfnisse, darauf hinzuweisen, dass, während Ari Kommentare, wo richtig am Anfang des Jahres 2009 haben wir entwickelt und viel zu verbessern.

Hibernate Search bietet eine Reihe von Back-End-Kanälen aus der Box, wie die bereits erwähnte JMS basierte und ein neuerer Zusatz JGroups verwenden, aber wir haben es auch ziemlich einfach, in alternativen Implementierungen zu stopfen oder einig außer Kraft setzen.

Neben einer benutzerdefinierte Backend zu verwenden, ist es jetzt möglich, da die Version 4 die gesamte Strategie zu ersetzen und stattdessen die Back-End-Implementierung der Änderung nur können Sie einen Indexmanager verwenden, die ein anderes Design folgt und verwenden keine Backend überhaupt; Zu diesem Zeitpunkt haben wir nur zwei IndexManagers aber wir arbeiten mehr Alternativen auf; wieder ist die Idee, schöne Implementierungen für die gebräuchlichsten

zur Verfügung zu stellen

Es hat eine Infinispan basierte Backend für sehr schnelle Verteilung des Index über verschiedene Knoten, und es sollte einfach sein, eine auf Terracotta oder einem anderen Cluster-Technologie basiert beizutragen. Weitere Lösungen kommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top