经过数月的研发测评,开源多模型数据库ArangoDB 终于发布了其 3.2 正式版,该版本消除了两个重大的障碍,添加了一个期待已久的功能,还集成了一个有趣的功能。此外,官方团队表示新版本将 ArangoDB 的性能平均提高了 35%。同时,与 3.1 版本相比,还减少了内存的占用。集群管理方面也有了大幅度的改进。

具体如下:

RocksDB 存储引擎:

与 Facebook 的 RocksDB 存储引擎的集成,使得其成为架构中第一个可插拔的存储引擎,用户现在可以使用与磁盘一样多的数据。加上 RocksDB 更好的锁定行为(文档级别的锁),密集写入型的应用程序将显著改善性能。没有内存限制,并且只有文档级别的锁定,这将为许多用户消除了两个大障碍。如果选择 RocksDB 作为存储引擎,包括索引在内的所有内容都会持久保留在磁盘上,这就大大减少启动的时间。更多请参阅“比较新RocksDB和mmfiles引擎”的操作方法,以测试操作系统和用例的新引擎。

Pregel 分布式图形处理:

分布式图处理在ArangoDB 的图形工具箱中是一个缺失的功能。但是ArangoDB 通过实施Pregel 计算模型满足了这一需求。

通过PageRank,社区检测,顶点中心度量和进一步的算法,ArangoDB现在可以用来获取对图形隐藏特征的高级洞察。例如,您可以使用图形处理功能来检测社区。然后,您可以使用结果将数据有效地分散到集群中,从而使SmartGraph的使用充分发挥其潜力。我们相信,通过集成分布式图处理,用户现在将拥有单个数据库中最完整的图形工具集之一。

使用Pregal 社区检测教程测试新的Pregal 结合,并通过有关在ArangoDB 中使用SmartGraphs 的新教程进一步提高高级graph技能。

Foxx 的容错机制:

有容错机制的 Foxx 服务在集群模式下可根据您的需求扩展数据库。

很多开发者喜欢使用ArangoDB 的Foxx JavaScript 框架来实现以数据为中心的微服务。定义您自己的高度可配置的HTTP路由,完全访问C ++级别的ArangoDB内核可以非常方便地实现。在3.2版本中,ArangoDB 的Foxx团队完全重写了管理内部部件,以支持有容错机制的Foxx 服务。这样可以确保多协调器集群将始终保持其服务同步,即使所有现有协调器都不可用,新协调器也将被完全初始化。

通过遵循全新的Foxx教程,自己测试新的有容错机制的Foxx 或学习Foxx

强大的图形可视化功能:

使用 ArangoDB 3.2 可以轻松处理图形数据。

您可以通过arangoexport 使用open-source 选项导出数据,然后将其导入到Cytoscape(请参阅教程)。

或者您可以通过Foxx插入全新的Keylines 3.5,并安装按需连接。有了这个选项,您将始终将Keylines中的最新数据整齐地显示出来,不会出现任何导出/导入麻烦。只需按照本教程开始使用ArangoDB和Keylines。

只读用户:

为了加强ArangoDB 中的基本用户管理,其添加了只读用户功能。这些用户的权限可以在数据库和收集级别上进行定义。在数据库级别上,用户可以获得管理员权限,读取访问权限或拒绝访问权限。在收集级别,在数据库中,用户可以被给予读/写,只读或拒绝访问。如果用户没有访问数据库或集合,则该用户将不会显示数据库和集合。参考有关新用户管理的教程。

地理查询 Geo Index Cursor:

地理查询对我们的社区变得越来越重要。使用geo_cursor,现在可以将文档按距离排列到空间中的某一点(参考教程)。这使得查询变得更简单,像“时代广场周边半英里半径的素食餐厅在哪里?”我们计划在下一个小版本中增加对其他地理空间功能的支持(如多边形)。

卫星集合 Satellite Collections:

卫星集合(Satellite Collections)是这次合作的令人振奋的结果。它旨在在使用分片数据集时实现更快的连接操作。为了避免在机器之间的连接处理过程中出现昂贵的网络跳数,只能找到一个解决方案来启用本地连接。

使用Satellite Collections,您可以定义集合以分散到集群,以及将集合设置为复制到每台计算机。 ArangoDB 查询优化器知道每个分片在哪里,并向相关的DBServers 发送请求,然后在本地执行查询。然后,DBservers 会将部分结果发送回协调器,八戒影院该协调器汇总了最终结果。通过这种方法,可以避免在分片集合的连接操作期间的网络跳跃,从而增加查询性能并减少网络流量。这可以通过一个例子更容易理解。在下面的模式中,集合C被划分到多个机器,而较小的卫星(即,S1-S5)被复制到每个机器上,绕着C的碎片轨道运行。

卫星集合的用例很丰富。在这个更深入的博客文章中,我们使用了一个IoT案例。基于基因组测序分析的个性化患者治疗是另一个很好的例子,其中涉及大量数据集的高效联合操作可以帮助改善患者护理并节省基础设施成本。

闲时数据加密:

使用RocksDB,您可以使用高度安全的AES算法对存储在磁盘上的数据进行加密。即使有人窃取您的一个磁盘,他们将无法访问数据。通过升级,ArangoDB向HIPAA合规迈出了重要一步。

通过LDAP增强身份验证:

通常,用户是通过ArangoDB 进行定义和管理。使用LDAP,您可以使用外部服务器来管理用户。ArangoDB 实现了一个可以扩展的共同模式。如果您有不符合此模式的特殊要求,可以联系ArangoDB。

融合RocksDB, Pregel, Foxx & Satellite Collections 怎样使数据库性能提升35%?的更多相关文章

  1. 如何使jquery性能最佳

    转自 http://www.cnblogs.com/mo-beifeng/archive/2012/02/02/2336228.html 1. 使用最新版本的jQuery jQuery的版本更新很快, ...

  2. 降低磁盘IO使Oracle性能优化(转)

    文章转自:http://blog.chinaunix.net/uid-26813519-id-3207996.html 硬件方面虽然只占Oracle性能优化的一个方面(另一方面是软件),但是仍不可忽视 ...

  3. 线程池机制使nginx性能提高9倍

    原文标题:Thread Pools in NGINX Boost Performance 9x! 原文官方地址:https://www.nginx.com/blog/thread-pools-boos ...

  4. dapper使用时性能优化

    数据库中类型 Area 数据库类型 varchar dapper 来操作数据库,不能直接写 sql      Area=@Area)   //dapper 对C#中的字符串类型 默认是对应数据库nva ...

  5. 【小方法】navicate for mysql使数据库可以识别中文

    右键选择新建数据库,将字符集与排序规则改成utf-8形式

  6. MongoDB基础

    1.概念及特点 说明:由于部分语句中$ 符号无法正常显示,使用¥代表 概念 MongoDB是一个基于文档的分布式的开源的NoSQL数据库,文档的结构为BSON形式,每一个文档都有一个唯一的Object ...

  7. 使用Spring Boot搭建应用开发框架(一) —— 基础架构

    Spring的简史 第一阶段:XML配置,在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件分放到不同的配置文件里,那时候需要频繁的在 ...

  8. 从YOLOv1到v3的进化之路

    引言:如今基于深度学习的目标检测已经逐渐成为自动驾驶,视频监控,机械加工,智能机器人等领域的核心技术,而现存的大多数精度高的目标检测算法,速度较慢,无法适应工业界对于目标检测实时性的需求,这时YOLO ...

  9. 我的自定义框架 || 基于Spring Boot || 第一步

    今天在园子里面看到一位大神写的springboot做的框架,感觉挺不错,遂想起来自己还没有一个属于自己的框架,决定先将大神做好的拿过来,然后加入自己觉得需要的模块,不断完善 目前直接复制粘贴过来的,后 ...

随机推荐

  1. AES加密示例

    最近用到对文本内容进行加密,于是查了一下常用的加密算法: DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合:3DES(Triple ...

  2. 如何在cmd查看文件内容的md5值

    在cmd下进入 要查看的文件目录 默认目录是c,切换到其他盘符例如: C:\D: 就会切换到D盘 D:\ 然后输入命令 certutil -hashfile  文件名称.文件类型 MD5 如 cert ...

  3. Java之栈空间和堆空间

    1.变量的命名 (1)由字母,数字和下划线构成,首字母以字母或下划线开头 (2)变量的命名遵循见名知义 (3)Java变量命名建议不用中文 (4)变量名首字母建议不用大写字母开头 (5)用驼峰命名法命 ...

  4. 数组Array和字符串String的indexOf方法,以及ES7(ES2016)中新增的Array.prototype.includes方法

    前言 我们在判断某一个字符是否存在于一个字符串中或者某一个值是否存在于一个数组中时,ES7之前我们需要使用indexOf,ES7引入了新的方法includes 语法 数组:Array.inexOf(s ...

  5. JavaScript_11_验证

    表单验证: JavaScript可用来在数据被送往服务器前对HTML表单中的输入数据进行验证 1. 是否填写了必填项目 2. 邮件地址是否合法 ... <form action="su ...

  6. CodeForces 77C Beavermuncher-0xFF (树形dp)

    不错的树形dp.一个结点能走多次,树形的最大特点是到达后继的路径是唯一的,那个如果一个结点无法往子结点走,那么子结点就不用考虑了. 有的结点不能走完它的子结点,而有的可能走完他的子节点以后还会剩下一些 ...

  7. Luogu P1666 前缀单词

    校内资格赛题目,差点高一就要\(\tt{AFO}\)了 30分思路 对30%的数据,满足$1≤n≤10 $ 所以我们可以子集枚举,实际得分40pts #include<iostream> ...

  8. 【转】VC自定义消息

    MFC一般可利用ClassWizard类向导添加消息和消息处理函数,但用户自定义消息必须手工输入,现将vc自定义消息方法步骤记录如下: (1)定义消息 利用#define语句直接定义用户自己的消息(既 ...

  9. pandas实践——美国人口分析

    1.导入文件,并查看数据样本 abbr = pd.read_csv("./state-abbrevs.csv")areas =pd.read_csv("./state-a ...

  10. H5bulider中的微信支付配置注意事项

    一.云打包安卓自定义证书的生成: 签名算法名称: SHA1withRSA主体公共密钥算法:1024 位 RSA 密钥密钥库类型:JKS 1.下载JDK1.6安装,切换到bin目录,打开命令行: 2.生 ...