融合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做的框架,感觉挺不错,遂想起来自己还没有一个属于自己的框架,决定先将大神做好的拿过来,然后加入自己觉得需要的模块,不断完善 目前直接复制粘贴过来的,后 ...
随机推荐
- SQL查找TCar表中同一辆车前后两条记录的CarId,两条记录中有多个字段值一样
查询同一个表中某一字段值相同的记录 select * from 表名 where 字段 in(select 字段 from 表名 group by 字段 having count(1)>1) s ...
- Java 反射机制(一)
阅读<Core Java Volume I --- Fundamentals>反射部分,总觉得许多概念艰涩难懂.模棱两可.我想造成这个结果的主要原因可能是Cay S. Horstmann和 ...
- Codevs 1860 最大数
题目描述 Description 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 输入描述 Input Description 第一行一个正整数n. 第二行n个正整数,空格隔开 ...
- 什么样子的WordPress网站更受搜索引擎欢迎
网站的导航功能对于搜索引擎而言是非常重要的 网站的导航功能对于帮助用户迅速找到他们想要的内容来说是很重要的.它对帮助搜索引擎理解该网站有哪些重要内容同样非常重要.虽然百度的搜索结果都是指向每一个特定的 ...
- MyBatis归纳
SqlSessionTemplate详解 SqlSessionTemplate类是MyBatis-Spring的核心.这个类负责管理MyBatis的SqlSession,调用MyBatis的SQL ...
- 《队长说得队》【Alpha】Scrum meeting 1
项目 内容 这个作业属于哪个课程 >>2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 >>实验十二 团队作业8:软件测试与ALPHA冲刺 团队名称 ...
- oracle centos 重启后报错ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
oracle centos 重启后报错ORA-12514, TNS:listener does not currently know of service requested in connect d ...
- iOS--UIScrollView基本用法和代理方法
主要是为了记录下UIScrollView的代理方法吧 在帮信息学院的学长做东西的时候需要大量用到分块浏览,所以就涉及到很多的关于scrollview,所以也就有了这篇文章 - (void)view ...
- 53. Maximum Subarray@python
Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...
- 【android】安卓的权限提示及版本相关
Only dangerous permissions require user agreement. The way Android asks the user to grant dangerous ...