1

Titan のドキュメントで見つけたすべての例では、Rexster コンソールを使用してインデックスを作成しています。単一の Titan ノードにログインし、インデックスを作成してコミットします。しばらくすると、クラスタ全体がインデックスを認識し、使用できるようになります。

これを行う他の方法があるかどうか疑問に思っています。Rexster 拡張などのコードからインデックスを作成する場合、いくつかの利点がありますtoString。インデックスの作成に使用できるメソッドを提供するプロパティ キーとエッジ ラベルに ENUM を使用します。このように、値が変更される心配はありません。

言及すべきもう 1 つの側面は、Titan のベンチマークを行って、クラスターを頻繁に再初期化することです。ノードにログインして手動で行うよりも、コードにすべての作業を任せる方が快適です。

ただし、コードからインデックスを作成するのは面倒なようで、最終的に一貫性のあるストレージ バックエンドを使用すると、複数の例外が発生しました。ノードの同時起動により、複数のノードがインデックスを作成しようとしたと思います。詳細については、「 Titan ノードが起動しない」を参照してください。

これらの問題を処理する適切な方法はありますか? 私が知らない他の方法はありますか?

4

1 に答える 1

1

In practice, I don't think many people create their schema by manually typing things into the console. I typically create a Schema class that has some methods to do that work. In that way, I can use enums, static string variables, etc. in the way you are describing. That Schema class is really useful, because it represents a versioned instance of what my Titan schema looks like at any given time and I can re-use it in lots of places (to initialize a production instance manually, construct schema between unit tests, work it into a groovy script to use for automation on your build server, etc.)

For Titan, the Schema class is quite central to the concept of developing and maintaining a custom Gremlin DSL. You may find this blog post on the topic interesting if you have not already read it.

于 2015-01-23T13:20:38.893 に答える