2017-12-15 17 views
2

OrientDBのようなグラフ(頂点とエッジ)データを検証する方法は?例えば 、 私のグラフは、私は(検証付き)も定義されたスキーマに関連付けることができますどのようなフォーマットの頂点/エッジ頂点とエッジのモデルスキーマ

{ 
    "name": :any_name, 
    "age" : 13 
} 

を持っている場合は?

OrientDBには、データを頂点およびエッジに格納する機能があり、各スキ​​ーマは明確に定義されています。どうすればarangoDBでこれを行うことができますか?

答えて

2

「Out-of-the-box」ArangoDBはスキーマの強制をサポートしていません。明らかに、それは潜在的に、いくつかのユースケースで重大な欠点である。

しかし、ArangoDBの最大Neunhöfferが仕事のビットと、一つのスキーマを適用しArangoDBベースのシステム残し、標準のデータベースAPIをオフに切り替えることができると主張している。したがって

をArangoDBは次にすることができますデータに直接アクセスしてデータベースサーバーで実行されるJavaScriptで記述されたユーザーコードによってそのHTTP APIを拡張できるため、厳密なスキーマ実行永続エンジンに変わりました。データ・ストアがクライアント・コードによって使用される方法を徐々に進化させ、特に安定したデータベース・スキーマ、特に書き込み操作を実施する特別なユーザー定義の経路にゆっくりと移行することができます。その結果、突然すべての書き込み操作がカバーされると、APIによって強制される厳密なスキーマに突然依存することができるため、多くのクライアントコードが単純化される可能性があります。

最終的に、アプリケーションのAPI全体をカスタマイズした場合、標準のデータベースAPIをオフにしてセキュリティとクリーン性をさらに高めることができます。この最後のステップでは、データベース中心のアプリケーション固有の方法でデータ中心のマイクロサービスを実装するソフトウェアアーキテクチャに到達しました。これは、バグに対して優れており、パフォーマンスに優れています(複雑なクエリはデータの近くで実行できます)。アプリケーション設計の簡素化に優れ、保守性にも優れています。マイクロサービスは、独立して配備され更新されることができるので、このようなdevopもです。

https://www.arangodb.com/2015/03/agile-development-vs-schema-enforcement

関連する問題