融合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。

时间: 2024-10-27 03:12:07

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

融合RocksDB, Pregel, Fault-Tolerent Foxx & Satellite Collections 怎样使数据库性能提升35%?

摘要: 经过数月的研发测评,开源多模型数据库ArangoDB 终于发布了其 3.2 正式版,该版本消除了两个重大的障碍,添加了一个期待已久的功能,还集成了一个有趣的功能.此外,官方团队表示新版本将 ArangoDB 的性能平均提高了 35%.同时,与 3.1 版本相比,还减少了内存的占用.集群管理方面也有了大幅度的改进. 具体如下: RocksDB 存储引擎: 与 Facebook 的 RocksDB 存储引擎的集成,使得其成为架构中第一个可插拔的存储引擎,用户现在可以使用与磁盘一样多的数据.加

如何使jquery性能最佳

转自 http://www.cnblogs.com/mo-beifeng/archive/2012/02/02/2336228.html 1. 使用最新版本的jQuery jQuery的版本更新很快,你应该总是使用最新的版本.因为新版本会改进性能,还有很多新功能. 下面就来看看,不同版本的jQuery性能差异有多大.这里是三条最常见的jQuery选择语句: $(‘.elem’) $(‘.elem’, context) context.find(‘.elem’) 我们用1.4.2.1.4.4.1.

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

原文标题:Thread Pools in NGINX Boost Performance 9x! 原文官方地址:https://www.nginx.com/blog/thread-pools-boost-performance-9x/ 本文为译文,非直译. 一.问题一般情况下,nginx 是一个事件处理器,一个从内核获取连接事件并告诉系统如何处理的控制器.实际上,在操作系统做读写数据调度的时候,nginx是协同系统工作的,所以nginx能越快响应越好. nginx处理的事件可以是 超时通知.so

读薄《高性能MySql》(二)Schem与数据优化

读薄<高性能MySql>(一)MySql基本知识 读薄<高性能MySql>(二)Schem与数据优化 选择更优的数据类型 当我们设计数据类型的时候应该选择最优的数据类型,因为好的数据类型会使数据库性能提升很多,特别是在使用 ORM 的时候要尤其消息,因为需求的复杂性,ORM 基本上没什么可能会生成最优的类型. 接下来介绍一些通用的数据类型结构. 更小的通常更好 一般情况下,应该尽量使用存储数据最小的数据单类型 尽量使用自带的数据类型 比如保存日期最好用 mysql 内有的日期类型而

从YOLOv1到v3的进化之路

引言:如今基于深度学习的目标检测已经逐渐成为自动驾驶,视频监控,机械加工,智能机器人等领域的核心技术,而现存的大多数精度高的目标检测算法,速度较慢,无法适应工业界对于目标检测实时性的需求,这时YOLO算法横空出世,以近乎极致的速度和出色的准确度赢得了大家的一致好评.基于此,我们选择YOLO算法来实现目标检测.YOLO算法目前已经经过了3个版本的迭代,在速度和精确度上获得了巨大的提升,我们将从YOLOV1开始讲起,直至目前最新的版本YOLOV3. 一.     YOLO V1 一步检测的开山之作

数据库拆分?

1 数据库拆分的兴起 在过去几年中,随着商业应用数据库事务量的大幅增长和数据库体积的增大,数据库拆分的概念已日益普及.许多在线服务供应商,软件即服务供应商(SaaS)和社交网站的成功更说明了这一点. 数据库拆分可以简单定义为针对跨多个服务器的大型数据库设计的一种“零共享”分区方案,这种方案使数据库性能和扩展性提高到一个新的水平变得可行.想象一下碎玻璃,您就能理解什么是sharding(碎片)——将数据库分成较小块所谓的“碎片”,散布在众多分布式服务器上. 术语“sharding”是谷歌工程师们首

10个提升MySQL百家乐性能baijiale的小技巧

从工作量分析到索引的三条规则,这些专家见解肯定会让您的MySQL服务器尖叫. 在所有的关系数据库中,MySQL已经被证明了完全是一头野兽,只要通知停止运行就绝对不会让你多等一秒钟,使你的应用置于困境之中,你的工作也承受极大的风险. 不过事实是,普通的错误都在MySQL性能错误的射程之内.所以为了使你的MySQL服务器能够高速运转,提供稳定且持续的服务,消除这些错误是非常有必要的,但是这可能常常会被你的繁忙工作或配置陷阱微妙地遮蔽了. 幸运的是,许多MySQL性能问题其实都有相似的解决办法,发现并

【腾讯Bugly干货分享】移动客户端中高效使用SQLite

本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57b57f2a0703f7d31b9a3932 作者:赵丰 导语 iOS 程序能从网络获取数据.少量的 KV 类型数据可以直接写文件保存在 Disk 上,App 内部通过读写接口获取数据.稍微复杂一点的数据类型,也可以将数据格式化成 JSON 或 XML 方便保存,这些通用类型的增删查改方法也很容易获取和使用.这些解决方案在数据量在数百这一量级有着不错的表现,但对于大数据应用的

数据库schema设计与优化

原文地址 1. 前言 对于数据库而言,在日常开发中我们主要的关注点有两块,一个是schema的结构设计,另一个就是索引的优化,这两块是影响我们最终系统结构和性能的关键部分,自然也是我们花费精力最多的部分: 本文主要介绍数据库设计中的一般原则和优化手段,包括数据库的一半范式.反范式设计.数据切分.数据路由与合并等等 2. Schema设计的一般性原则 2.1 概述 范式理论是关系型数据库设计的黄金法则,它提供了数据结构化的理论基础,有效地保证了数据的一致性,应该说,关系型数据库就是在范式的基础上才