怎样降低数据库的运营维护?开源数据库新秀推荐!
ArangoDB 是一个开源的分布式原生多模型数据库 (Apache 2 license)。
其 Vision 是:利用一个引擎,一个 query 语法,一项数据库技术,以及多个数据 模型,来最大力度满足项目的灵活性,简化技术堆栈,简化数据库运维,降低运营成 本。Find ArangoDB on Github。
1. 为什么叫“原生”?
ArangoDB 从第一行代码开始就是按照多模型数据来设计编写,您可以根据您的业务需求灵活地 为数据建立模型,ArangoDB 支持 graph 图,document 文档 和 key-value 三种数据存储模型。这三种数据模型的操作都基于同一个引擎,并使用统一的 query 语法- AQL。
而且用户也可以在单次查询过程中混合使用多种模型,在执行查询过程时,无需在不同数据模型间相互“切换”,也不需要执行数据传输过程,并且这三种数据模型均支持水平扩展,这使得 ArangoDB 在速度和性能方面与其他数据库相比具有极大优势,因此适用于高性能领域需求。
2. 什么是 AQL ?
AQL- ArangoDB 查询语言 (ArangoDB Query Language),是一种类似于编码的声明式 查询语言。如果您了解 SQL,您就能够对 AQL 清晰直观的语法轻松上手。不再需要 在多种数据库技术之间互相切换,ArangoDB 让您只维护一个数据库,一个查询语言 ,来满足各种各样不同的需求。请查阅 SQL / AQL 的对比。以下是 AQL 的特殊性能:
-
Joins
-
Graph Traversals
-
Aggregations
-
Complex, powerful and convenient queries
-
Geo-spatial queries
-
Schemaless querying
-
Single document transactions (cluster)
-
Extensible via user-defined functions
-
Multi-collection and multi-document queries with transactional semantics
(single instance)
3. Foxx框架
Foxx是一个JavaScript框架, 用于编写直接在ArangoDB内部运行的以数据为中心的HTTP微服务。ArangoDB 以特殊的方式集成了Google V8引擎,以便通过JavaScript可以完全访问数据库内核及其功能。开发人员可以编写自己的以数据为中心的HTTP微服务器,或者从我们的GithubStore中使用现有的HTTP, 例如,OAuth2。因此,可以构建高度可配置的API端点,并根据个人需求扩展 ArangoDB。 有关Foxx的更多信息。
4. 企业级版本的特性
• SmartGraphs• Auditing
企业级版本下载: download ArangoDB Enterprise Edition
5. 3.2 beta 版本新特性
Ø 社区版新特性
- 融合 RocksDB 存储引擎,尽情享用存储空间和安全性能。
- Pregal 分布式图形处理。
- 有容错机制的 Foxx 在集群模式下根据您的需求扩展数据库
- Geo-cursor, 根据“距离”分类数据信息
- Arangoexport 数据导出
3.2 beta 社区版本下载:https://www.arangodb.com/download-technical-preview/
Ø 企业级版新特性
• SatelliteCollections.
使用 SatelliteCollections,可以将集合定义为集群,并将集合复制到每台 计算机。 ArangoDB 查询优化器知道每个分片所在的位置,并将请求发送到 所涉及的 DBServers,然后本地执行查询。使用这种方法,可以避免在分片 集合的连接操作期间的网络跳数,并且响应时间可以接近 于单个实例的 响应 时间。
具体实例请参阅: https://docs.arangodb.com/3.2/Manual/Administration/Replication/Sy nchronous/Satellites.html
3.2 beta 企业级版本下载: https://www.arangodb.com/download-technical-preview-enterprise/