Model 顶点和边的模型模式

Model 顶点和边的模型模式,model,schema,arangodb,Model,Schema,Arangodb,如何验证图形(顶点和边)数据,如OrientDB中发生的情况? 例如 如果我的图形具有格式为的顶点/边 { "name": :any_name, "age" : 13 } 如何将其与定义良好的模式(与验证)关联 在OrientDB中,还具有在顶点和边中存储数据的功能,并且每个模式都定义良好。如何在arangoDB中执行此操作?“开箱即用”arangoDB不支持模式强制。显然,在某些用例中,这可能是一个显著的缺陷 然而,ArangoDB的Max Neunhöffer认为,只要稍加

如何验证图形(顶点和边)数据,如OrientDB中发生的情况? 例如 如果我的图形具有格式为的顶点/边

{
    "name": :any_name,
    "age" : 13
}
如何将其与定义良好的模式(与验证)关联

在OrientDB中,还具有在顶点和边中存储数据的功能,并且每个模式都定义良好。如何在arangoDB中执行此操作?

“开箱即用”arangoDB不支持模式强制。显然,在某些用例中,这可能是一个显著的缺陷

然而,ArangoDB的Max Neunhöffer认为,只要稍加努力,就可以关闭标准数据库API,留下一个基于ArangoDB的系统来执行模式:

因此,ArangoDB可以变成一个严格的模式执行持久性引擎,因为它的HTTP API可以通过JavaScript编写的用户代码进行扩展,而JavaScript是在数据库服务器中执行的,可以直接访问数据。我们可以逐步改进客户机代码使用数据存储的方式,并将其缓慢地转移到特殊的、用户定义的路由上,这些路由强制执行目前稳定的数据库模式,特别是对于写操作。因此,许多客户机代码都可以简化,因为一旦覆盖了所有写操作,就可以突然依赖API强制执行的严格模式

最后,当用户定制了应用程序的整个API时,甚至可以关闭标准数据库API,这进一步提高了安全性和清洁度。通过这最后一步,我们已经实现了一种软件体系结构,该体系结构以特定于应用程序的方式直接在数据库服务器中实现以数据为中心的微服务,这有利于防止错误,有利于性能(复杂的查询可以在数据附近运行),有利于应用程序设计的简单性和可维护性。甚至devops也喜欢这样,因为微服务可以独立部署和更新