2017-05-17 3 views
0

Ich hatte den Quellcode von Titan db, titan zuweisen IDs für Vertex, Eigenschaft, Label und so weiter. Aber es ist schwer zu verstehen, wie es funktioniert für die Zuordnung?Wie titan ids in titan db internen zuweisen?

+0

Mögliches Duplikat von [Titan + Cassandra und String Vertex IDs] (http://stackoverflow.com/questions/38229312/titancassandra-and-string-vertex-ids) –

Antwort

1

Eine Titan-ID haben folgendes Format

╔═════════╦═══════════╦══════════════════╗ 
║ Counter ║ Partition ║ IDTypePadding ║ 
╚═════════╩═══════════╩══════════════════╝ 
  • Jede ID hat IDTypePadding Suffix. Suffix definiert den Typ der ID. Dies ist in IDManager Klasse VertexIDType enum implementiert.

  • Standardmäßig sind 32 Partitionswerte verfügbar. Jede Titaninstanz wählt standardmäßig zufällig 10 Partitionen.

  • Für jede Partition, Titan zuweisen ID Block. Standard-ID-Blockgröße ist 10000. Titan stellen Sie sicher, ID-Block ist einzigartig Cluster auf Partitionsebene mit Backend Storage titan_ids Tabelle.

  • ID Zuweisen: Zuerst titan wählen Sie die IDTypePadding. Wähle dann eine Partition zufällig aus. Endlich holen Sie den inkrementierten Zähler vom ID-Block.