2016-07-18 33 views

Antwort

2

Sie können niemals alle Daten eines einzigen Datensatzes nur auf einem Knoten haben und trotzdem k-1 Sicherheit haben. Die Idee der k-1-Sicherheit ist, dass ein Knoten ohne eine Verringerung der Datenverfügbarkeit ausfallen kann (und in der Tat wird Vertica dies niemals zulassen, wenn Daten auf einem primären Knoten oder Buddy-Knoten nicht verfügbar sind, dann wird er heruntergefahren).

Sie können jedoch bestimmte Knoten angeben, für die Unsegmentierung aktiviert werden soll. Ganz ehrlich, das ist wirklich keine gute Idee. Sie erstellen Hotspots (konzentrierte Daten, konzentrierte Arbeitslast). Sie werden auch Situationen erstellen, in denen, wenn eine Person bei anderen Knoten angemeldet ist, mehr Daten wahrscheinlich das private Netzwerk durchlaufen müssen, um zum Initiator zu gelangen.

Ich habe noch nie jemanden gesehen, der dies in der Praxis macht, und ich würde davor warnen. Wenn ein Knoten in Ihrem Cluster langsam ist, kann sich dies auf die Leistung des gesamten Clusters auswirken.

Um Ihre Frage zu beantworten, jedoch ... zum Aufteilen auf bestimmte Knoten, ist dies die Klausel für den Befehl CREATE PROJECTION.

UNSEGMENTED { NODE node | ALL NODES } ] 

Erstellen Sie einfach zwei Projektionen, eine für jeden Knoten. Sie benötigen mindestens 2 Knoten, um die k-Sicherheit zu erfüllen. Diese k-Sicherheitsprüfung wird erst beim ersten Einfügen durchgeführt (oder wenn Sie versuchen, andere vorhandene Projektionen zu löschen, bevor genügend neue aktualisiert wurden, die k-safety entsprechen).

Tun Sie dies nur, wenn Sie wirklich wissen, was Sie tun. Wenn dieser Cluster wachsen und mehr Arbeitslast erhalten wird, ist die Durchführung dieser Art von Konfiguration ein Albtraum für die Verwaltung.