ArangoDB 的主要特点:
- 无需定义数据存储模式(Schema-free)的能力——数据以文档的形式结构化,其中元数据和结构信息与用户数据分离;
- 支持使用 ArangoDB 作为 JavaScript 中 Web 应用程序的服务器,并能够通过 REST/Web API 访问数据库;
- 将 JavaScript 用于访问数据库的浏览器应用程序以及在 DBMS 端执行的处理程序;
- 多线程架构,将负载分布到所有CPU核心上;
- 灵活的数据存储模型,可以组合键值对、文档和定义记录之间关系的参数(提供遍历图顶点的工具);
- 不同的数据表示模型(文档、图和键值对)可以混合在一个查询中,这简化了异构数据的聚合;
- 支持合并查询(JOIN);
- 能够选择与正在解决的任务相对应的索引类型(例如,您可以使用索引进行全文搜索);
- 可定制的可靠性:应用程序本身可以决定什么对它更重要:更高的可靠性还是更高的性能;
- 高效存储,充分利用现代硬件(例如SSD)并可以使用大缓存;
- 事务:能够同时对多个文档或集合运行查询,并具有可选的事务一致性和隔离性;
- 支持复制和分片:能够创建主从配置并根据某种功能将数据集分发到不同的服务器;
- 提供 JavaScript 框架来创建微服务
福克斯 ,在可直接访问数据的 DBMS 服务器内执行。
- 子查询以及 UPDATE 和 REPLACE 操作的性能得到了优化;
- 实现了 AQL 查询并行执行的能力,这可以减少收集分布在不同集群节点上的数据的时间;
- 实现了文档的延迟实现,这使得在某些情况下无需完全检索不相关的文档;
- 扫描文档时,确保尽早丢弃不符合指定过滤器的文档;
- ArangoSearch全文搜索引擎得到改进,支持基于数据相似度的排名。 添加了对自动完成查询的分析器支持,实现了 TOKENS() 和 PHRASE() 函数以动态生成搜索查询;
- 添加了 maxRuntime 设置以选择性地限制查询执行时间;
- 添加选项“—query.optimizer-rules”来控制处理查询时某些优化的激活;
- 组织集群运行的可能性已经扩大。 新增选项“—cluster.upgrade”用于选择集群中节点的升级方式;
- 添加了对 TLS 1.3 的支持,以加密客户端和服务器之间的通信通道(默认情况下客户端继续使用 TLS 1.2)。
来源: opennet.ru