2017-03-05 5 views
1

Ich habe es mit einer Tabelle in SQLServer zu tun, die ich in ElasticSearch fast in Echtzeit indiziert habe. Datensätze werden in dieser Tabelle von verschiedenen Punkten aus hinzugefügt/aktualisiert/gelöscht (Legacy-Code, gespeicherte Prozeduren usw.), so dass der Code nicht instrumentiert werden kann, um alle Bereiche zu finden, die mit dieser Tabelle interagieren. Welche Technik und/oder Werkzeug würde dies ermöglichen?Wie halten Sie ElasticSearch mit SQLServer ohne Code auf dem neuesten Stand?

Hinweis: Tabelle in SQLServer enthält etwa 10 Spalten und könnte bis zu einer Million Zeilen enthalten.

Antwort

2

Wenn Sie es mit minimalem Code machen wollen, dann können Sie es mit Logstash jdbc plugin einrichten (jetzt wird dieses Flusskonzept in Elasticsearch nicht mehr unterstützt). In der Tabelle haben Sie eine letzte aktualisierte Zeitstempelspalte. Sie können die Abfrage so konfigurieren, dass sie darauf basiert, damit Änderungen seit der letzten Ausführung übernommen werden können. Stellen Sie sicher, dass der Index für diese Zeitstempelspalte definiert ist. Da dies ein Polling-Prozess ist, gehen Sie einfach nicht über Bord und legen Sie sehr niedrige Abfrageintervalle fest, da dies den SQL DB-Server unnötig belasten könnte.

Wenn Sie bereit sind, es richtig zu machen und bereit zu verbringen Zeit Codierung, dann sollten Sie wahrscheinlich SQL Server Service Broker Option in Betracht ziehen. Sie können einen Trigger in der Tabelle zum Schreiben einer Nachricht und einen externen Abfrage-/Triggerprozess in der Warteschlange verwenden, um die Nachricht/Änderung abzurufen und an Elasticsearch zu senden.

+0

Danke für die schnelle Antwort. Wenn Sie sagten, das Abfrageintervall niedrig zu halten, waren Sie nur besorgt über SQLServer und nicht über ElasticSearch? –

+0

Rechts. Ich habe über das Laden der SQL Server-Datenbank gesprochen. Mit einigen Tests sollten Sie in der Lage sein zu bestimmen, welche Häufigkeit akzeptabel ist, ohne die Belastung von SQL Server unnötig zu erhöhen. – askids

Verwandte Themen