現在、私はneo4jに移行する予定のリレーショナルデータベースを持っています。私たちは、/ entity/{id}/relatedEntitiesなどのURLの入力としてtake IDを公開しています。これらのIDはdbが生成する自動増分IDです。これらのIDを使用し続ける必要がある下位互換性を維持するために、これらのAPIの複数のクライアントがIDをキャッシュしている可能性があります。私の質問は、新しいエンティティの追加を開始したときにneo4jに移行した後で、クラスタ化された環境でこれらのIDを特別に生成し続ける方法です(neo4j用の複数のJVMとマスター/クライアントノードを予定しています)。neo4jを使用して自動インクリメントを取得する方法
1
A
答えて
1
Neo4j 3.0.6以降、自動生成シーケンスは機能セットの一部ではありません。
シーケンスのラベルを指定するプロパティでシーケンスノードを定義し、新しい番号が必要なときにそのノードをロックし、後で生成してロックを解除しますが、それは扱いにくいかもしれません。クラスタ化された環境では、書き込み操作の場合はクラスタのマスターノードで書き込みを実行する必要がありますが、この領域でより多くの経験を積んだユーザーはそれを確認または拒否できます。
代替アプローチの1つは、シーケンスの代わりにUUIDを使用することです。 intの代わりに文字列として扱う必要があります。生成されたIDに基づいて比較を行う能力は失われますが、APOCプロシージャはUUID生成をサポートしており、数学的にはそれらは一意であり、存在しません過去に使用した以前の数値IDとの衝突。
関連する問題
- 1. ユーザー関数でneo4jの自動インクリメントを実装する方法
- 2. flask-sqlalchemy ormモードで自動インクリメントIDを取得する方法
- 3. エンティティフレームワークコードの自動インクリメント値を取得する方法
- 4. oracle 11gを使用して自動インクリメント列を定義する方法
- 5. プライマリキーとSQLで自動インクリメントを使用してデータベースを作成する方法
- 6. ルームパーシステントライブラリのコンポジットプライマリキーを使用してプライマリキーを自動インクリメントする方法は?
- 7. Pythonロガーで自動インクリメント整数を使用する方法は?
- 8. javascriptで自動インクリメントIDを使用する方法は?
- 9. phpMyAdminで自動インクリメントを使用する方法
- 10. Yii2で保存した後に自動インクリメントIDを取得する方法
- 11. 自動インクリメントなしで最後の4レコードを取得する方法
- 12. すべてのデータを取得しますが、自動インクリメント
- 13. 値を自動インクリメントする方法
- 14. コンポジットプライマリキーを使用した自動インクリメント
- 15. jdbcを使用してOracleの列を自動インクリメントする
- 16. クエリを使用してForeign DatabaseFieldを自動的に取得する方法は?
- 17. MySQL Java JDBC:自動インクリメント列の名前を取得する方法は?
- 18. 古いmdbデータベースで自動インクリメントの主キーを取得する方法は?
- 19. Oracleデータベースから自動インクリメントされたPKを取得する方法は?
- 20. データベースから自動インクリメントされたid値を取得する方法
- 21. 自動インクリメントされたID値をJLabelに取得する方法
- 22. ファイルを自動的にインクリメントしてリセットする方法
- 23. Pythonで自動インクリメントする方法
- 24. Javascriptで自動インクリメントする方法は?
- 25. neo4jを使用してspringデータjpaを使用してカスタム結果を取得する方法は?
- 26. SQL Server:ストアドプロシージャ内の自動インクリメントIDを取得しますか?
- 27. GUIDと自動インクリメント整数の両方を使用する
- 28. 自動インクリメントを行う方法は?
- 29. LINQモデリングEntityRefを使用してデータを自動取得する
- 30. PHP5で自動インクリメント値を取得する
下位互換性が過大評価されています。 –