ArangoDB 3.5:流事务 API、蒙面数据、搜索性能大幅提升、最短路径功能
ArangoDB 3.5 发布了。ArangoDB 是一个分布式原生的多模型数据库,具有灵活的文档、图形和键值数据模型。使用方便的 SQL 查询语言或 JavaScript 扩展构建高性能应用程序。
此版本亮点包括:
- 期待已久的 Streaming Transactions API,可以直接使用不同的语言驱动运行和管理 ACID 事务(已支持 Java Sync、Go、JavaScript 和 PHP)
- ArangoSearch 改进,包括可配置分析器、超快速排序索引等
- 扩展图形数据库功能,如 k-shortest 路径和新的 PRUNE 关键字
- Data Masking,可以安全地使用模糊的生产数据来实现真实的开发和测试环境
- Time-To-Live 索引、索引提示和命名索引等更新
- SmartJoins,可以针对分布式数据运行高效的共址 JOIN 操作(企业版功能)
流事务 API(Streaming Transactions API)
此版本正式引入了流事务 API(Streaming Transactions API),这是一种更简单地使用 ACID 事务的方法,不需要编写任何 JavaScript 代码。使用新的流事务 API,可以直接使用喜欢的语言对 ArangoDB 进行 BEGIN、COMMIT 与 ABORT(回滚)操作,与使用 RDBMS 类似,目前官方已经支持 Java Sync、Go、JavaScript 与 PHP。事务可以包含一系列受支持的事务操作,后跟 commit 或 abort 命令。这允许客户端以比基于 JavaScript 的事务更有效的方式构建更大的事务。
事务可以有许多配置选项,对于调用事务,可以定义以下内容:
- collections:任何写操作都需要的事务的集合
- waitForSync:一个可选的 Boolean 标志,用于强制事务在返回之前写入磁盘
- allowImplicit:允许事务从未声明的集合中读取
- lockTimeout:允许指定事务完成的最长时间(默认为 10 分钟)
- maxTransactionSize:如果使用 RocksDB 作为存储引擎(自 ArangoDB 3.4 以来的默认引擎),可以以字节为单位定义事务的最大大小。
搜索引擎升级:可配置分析器和超快速排序查询
可配置分析器允许执行区分大小写的搜索、词干分析,并允许使用自己的语言特定的禁用词列表。同时还可以更好地调整 ArangoSearch 查询,包括英语、法语、德语与中文等多种语言。
新的排序索引,包括排序的查询有大幅性能提升。在为 ArangoSearch 创建视图时,现在可以指定创建此新索引并定义哪种排序顺序最适合查询要求(升序/降序)。如果查询中的排序顺序与视图中指定的排序顺序匹配,则可以直接从索引中读取结果并以超快的速度返回结果。内部基准测试表明,这些情况下性能提升高达 1500 倍。
创建排序视图可以通过`arangosh`完成:
db._createView('myView', 'arangosearch', { links : { ... }, primarySort: [ { field: 'myField', direction: 'asc' }, { field: 'anotherField', direction: 'desc' } ] }) db._query('FOR d in myView SEARCH ... SORT d.myField ASC RETURN d`); // no sorting at query time
图形数据库升级:k-shortest 路径和新的 PRUNE 关键字
新的 k-shortest 路径功能提供查询两个给定顶点之间的所有最短路径的选项,根据路径长度或路径权重返回排序结果。
在上图的欧洲铁路的例子中,可以查询伦敦和格拉斯哥之间旅行的最短距离、最少停靠或最便宜的票价,具体取决于在边缘存储的信息。还可以想象一下将 k-shortest 路径功能运用到网络管理与威胁情报等方面。
新的 PRUNE 关键字是 AQL 图遍历查询中 FILTER 的替代方法,使用 PRUNE 允许用户减少遍历查询必须查找的文档数量。PRUNE 在图遍历中表现为停止条件,告诉遍历在满足给定条件时停止并返回完整结果路径。
数据遮掩(Data Masking):适用于 GDPR 和 CCPA 兼容的测试和开发
在生产环境中测试新版本或新功能是很有必要的,但是,将用户名称、生日、电子邮件地址或信用卡信息等敏感数据从高度安全的生产系统导出到安全性很低的测试和开发环境,通常是不可能的,或者会导致 GDPR/CCPA(欧盟《一般数据保护条例》/《加利福尼亚州消费者隐私保护法案》)合规性问题。
ArangoDB 中新的 Data Masking 功能允许定义要进行模糊处理的敏感数据,然后生成这些集合的“掩数据”,导出以用于测试或开发目的。
此外,快速一致的集群备份功能将在下个版本 3.5.1 中出现。
更具体的更新内容查看:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Gitlab 12.2 发布,改进团队协作
Gitlab 12.2 已经发布,此版本将帮助团队优化他们的管道,改进协作,并管理项目之间的相互依赖。更新内容如下: 更快、更灵活的管道 CI 管道的目标是自动化手工构建和测试任务,加速软件交付,同时减少错误。然而,对于某些用例,GitLab CI/CD 管道并没有那样高效。GitLab 12.2 现在支持 Directed Acyclic Graphs(DAG)作为创建和管理详细作业依赖关系的方法,而不是依赖于顺序阶段。使您的 CI 管道变得更快和更有效率。 设计管理 软件开发是一项团队协作工作,在 12.2 版本中,提供了新的能力,包括在 GitLab 上的设计管理。设计管理将使设计内容的共享、版本和协作变得容易,从而帮助团队更有效地使用单一来源。 跨项目合并请求依赖 复杂系统通常跨越多个项目,代码更改之间具有相互依赖关系,其中合并更改的顺序很重要。GitLab 现在支持跨项目合并请求依赖,使定义这些依赖关系成为可能,并防止因更改按错误的顺序合并而导致的错误。减少错误意味着能够减少修改,并更快地部署更改。 Gitlab 12.2 还有其他改进,包括合并请求中的安全审批、Core 中...
- 下一篇
Rancher 2.2.8 发布,支持 K8S 新 CVE 的补丁版本
北京时间 8 月 20 日,Kubernetes 发布了新的补丁版本来修复近期的两个安全漏洞(CVE-2019-9512 和 CVE-2019-9514)。Rancher 在翌日凌晨发布最新版本 Rancher v2.2.8,支持 Kubernetes 新版本。 Kubernetes CVE 及修复版本 Go 语言由于受到 CVE-2019-9512 和 CVE-2019-9514 漏洞影响,因此Kubernetes 的所有版本和所有组件都受到该漏洞影响。此外,受到影响的还有 HTTP/2 流量(including/healthz)。这两个漏洞还允许不受信任的客户端分配无限量的内存,直到服务器崩溃。产品安全委员会已将这组漏洞分配为 CVSS,评分为 7.5。基于此,Go 发布了 go 1.12.8 和 go 1.11.13,Kubernetes 也相对应地更新了补丁版本: v1.13.10 v1.14.6 v1.15.3 为了您的集群安全,建议将 Kubernetes 集群都升级至新发布的修复版本,关于 CVE 的更多详情,请参阅: https://groups.google.com/...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题