顶点和边的模型架构

时间:2017-12-15 08:29:44

标签: model schema arangodb

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

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

如何将其与定义良好的架构(带有验证)相关联?

在OrientDB中,还有将数据存储在顶点和边缘的功能,并且每个模式都已定义良好。我怎样才能在arangoDB中做到这一点?

1 个答案:

答案 0 :(得分:2)

“开箱即用”ArangoDB不支持架构实施。显然,这在某些用例中可能是一个显着的缺点。

然而,ArangoDB的MaxNeunhöffer认为,通过一些工作,人们可以关闭标准数据库API,留下一个基于ArangoDB的系统来强制执行模式:

  

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

     

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

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