融合RocksDB, Pregel, Foxx & Satellite Collections 怎样使数据库性能提升35%?
经过数月的研发测评,开源多模型数据库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%?的更多相关文章
- 如何使jquery性能最佳
转自 http://www.cnblogs.com/mo-beifeng/archive/2012/02/02/2336228.html 1. 使用最新版本的jQuery jQuery的版本更新很快, ...
- 降低磁盘IO使Oracle性能优化(转)
文章转自:http://blog.chinaunix.net/uid-26813519-id-3207996.html 硬件方面虽然只占Oracle性能优化的一个方面(另一方面是软件),但是仍不可忽视 ...
- 线程池机制使nginx性能提高9倍
原文标题:Thread Pools in NGINX Boost Performance 9x! 原文官方地址:https://www.nginx.com/blog/thread-pools-boos ...
- dapper使用时性能优化
数据库中类型 Area 数据库类型 varchar dapper 来操作数据库,不能直接写 sql Area=@Area) //dapper 对C#中的字符串类型 默认是对应数据库nva ...
- 【小方法】navicate for mysql使数据库可以识别中文
右键选择新建数据库,将字符集与排序规则改成utf-8形式
- MongoDB基础
1.概念及特点 说明:由于部分语句中$ 符号无法正常显示,使用¥代表 概念 MongoDB是一个基于文档的分布式的开源的NoSQL数据库,文档的结构为BSON形式,每一个文档都有一个唯一的Object ...
- 使用Spring Boot搭建应用开发框架(一) —— 基础架构
Spring的简史 第一阶段:XML配置,在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件分放到不同的配置文件里,那时候需要频繁的在 ...
- 从YOLOv1到v3的进化之路
引言:如今基于深度学习的目标检测已经逐渐成为自动驾驶,视频监控,机械加工,智能机器人等领域的核心技术,而现存的大多数精度高的目标检测算法,速度较慢,无法适应工业界对于目标检测实时性的需求,这时YOLO ...
- 我的自定义框架 || 基于Spring Boot || 第一步
今天在园子里面看到一位大神写的springboot做的框架,感觉挺不错,遂想起来自己还没有一个属于自己的框架,决定先将大神做好的拿过来,然后加入自己觉得需要的模块,不断完善 目前直接复制粘贴过来的,后 ...
随机推荐
- 3D OpenGL ES
什么是OpenGL ES? OpenGL ES (为OpenGL for Embedded System的缩写) 为适用于嵌入式系统的一个免费二维和三维图形库. 为桌面版本OpenGL 的一个子集. ...
- Burpsuite Professional安装及使用教程
转自:https://www.jianshu.com/p/edbd68d7c341 1.先从吾爱破解论坛下载工具:https://down.52pojie.cn/Tools/Network_Analy ...
- jenkins只能同时构建2个Job怎么办?
在jenkins 构建任务时,同时只能构建2个,如果两个没有job没有结束,构建第3个就会不执行: 提示: pending—Waiting for next available executor on ...
- socket tcp使用recv接收数据时,返回errno错误代码88
原因:就是recv函数的第一个参数不是可用的,也就是第一个参数不是建立连接时返回的文件描述符. 解决方法:xxx
- ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 0
最近遇到一个MySQL连接的问题,远程连接MySQL时遇到"ERROR 2013 (HY000): Lost connection to MySQL server at 'reading a ...
- Cause: java.lang.UnsupportedOperationException
运行web项目的时候出现以下错误: ### Cause: java.lang.UnsupportedOperationException at org.mybatis.spring.MyBati ...
- JavaScript 获取对象中第一个属性
使用 Object.keys(object) 可以取出属性名为数组,但会打乱顺序 严格意义上对象中是只有映射关系而没有顺序的,但是在存储结构里是有顺序的,如果想获取存储结构里的第一个属性可以使用for ...
- 两个有序数列,求中间值 Median of Two Sorted Arrays
原题: There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the ...
- python 与 json
+-------------------+---------------+ | Python | JSON | +================= ...
- HTML5中Web存储
HTML5 中web存储是一个比cookies更好的一个本地存储方式. 那么什么是HTML5存储呢? 使用HTML5可以在本地存储用户浏览的数据,HTML5技术没有出来之前是使用cookies进行本地 ...