摘要:

原创翻译, 原文作者:Adam Fowler, 转载自:https://adamfowler.org/2017/06/27/nosql-review-arangodb-3-2-beta/

我查看了ArangoDB混合文档和图形存储的最新测试版...

ArangoDB是一个混合或多模型的NoSQL文档和图形存储。这为项目开发提供了很大的灵活性和力量。自从他们开始以来,我一直在关注ArangoDB,如今已有3年多,所以现在我们来一起看看有什么有趣的更新:

有什么更新?

最大的变化是使用Facebook的RocksDB键值存储作为存储引擎(我将在以后的文章中分别回顾RocksDB)。这是一个巨大的变化,需要在应用程序中进行负载测试,因为一致性和锁定功能与以前的mmfiles方法不同。
此外,MongoDB客户在将WiredTiger引入存储引擎时发现,人们将始终想要测试和重新测试新的存储层,以寻找意外的回归和性能问题。
但是这确实是一个积极的更新,允许文档级锁定,并可以防止写入阻塞读取,反之亦然。这将大大提高在高写入和读取负载下的性能。

Pregel图形处理模型的支持将是开发人员的福音。想像这样一个有效的Map / Reduce版本,用于跨整个群集数据传播的图形算法。有趣的是,您可以选择单节点或集群执行。某些图形算法需要在单个机器上运行所有数据,所以使图形爱好者拥有自由选择的快乐!

企业版也受益于LDAP安全支持,闲时加密。这是许多敏感型企业客户,如银行和政府的福音。

Satellite Collections(仅限企业版)是一个很好的新功能,您可以指导引擎使用副本进行处理,从而无需网络跳转来在另一个节点上查找密钥收集数据。这可能听起来不怎么样,但是我可以通过在NoSQL数据库上运行分布式处理算法来告诉你,这将有助于在很大程度上调整大型文档处理算法。

我喜欢ArangoDB 什么?

分布式图形存储中的一个大问题是在群集中的多个服务器上图形算法的高效处理。为了使用商业服务器而不是昂贵的大功率服务器,您需要将数据传播出去。当然,对于遵循节点之间的路径的图算法,当您遍历该图时,会引入滞后。

我很高兴看到ArangoDB在这个关键问题上花了大量的时间。如果他们可以在这个版本中用Pregel解决这个问题,那么他们将会超越其他几个竞争对手。

例如,最近添加的SmartGraphs功能(仅限企业版)。这基于已知属性管理图上的节点的分片。考虑一个社交图 - 大多数人在同一个国家有连接(除非你是我,并且写IT!) - 所以根据用户的国家划分一个图表是很好的,通过应用此属性,可以最大限度地减少大多数查询的网络跳数。

结合上面提到的SatelliteCollections(仅限企业版),您可以调整数据存储,以确保快速图形查询,即使图形被分片 - 使用我的国际,喷气式设置,twitter连接来处理像我这样的棘手情况。在与ArangoDB交谈后,他们认为这些功能的组合对于特定的IoT用例将非常有用。如果您发现该组合有用,请为此文章添加评论 - 我很乐意听到不同的声音!

当我第一次写关于ArangoDB在NoSQL 2016的状态,我评估它还不完全符合ACID。这是由于滞后的最终一致的副本。由于其他主服务器上的碎片被标记为“追随者”,因此已经解决了这一点。对主要和主要追随者的更新是同步的,允许数据的高可用性,同时确保符合ACID

这是数据场景关键任务的重中之重,当数据库告诉您保存数据时,您需要确保数据安全地位于光盘上。我只能再次强调,我认为符合ACID对于具有关键任务应用程序需求的企业客户至关重要。

我也喜欢ArangoDB的免费版本使用真正的开源许可证 -  Apache 2.0许可证。与其他供应商使用的AGPL v3不同,该许可证并不限制想要使用该软件的组织,也可以将其定制为生产商业应用程序。

我认为这可能源于我个人对多模型文档和图形库的热爱,ArangoDB的工程团队真的做的很好。而且跟我交谈的每个人似乎都很友善。即使是他们的President也亲自花了时间帮我收集关于这篇文章的信息!

ArangoDB的工程团队也及时考虑到客户的问题和用途,并根据此添加产品新功能,新功能都是参考现实用例而来。

做的不好的方面?

ArangoDB作为键值存储用例与 Redis相比似乎还受局限。

话虽如此,但这是一个很小的困扰,大多数人会使用ArangoDB的文档和图形库功能以及AQL查询语言,因为它们为大多数用例提供了丰富的功能。

使用场景有哪些?

牛津大学似乎使用ArangoDB来减少医院出勤和医疗费用,并提高测试结果。其开发了一项手机应用程序,通过在ArangoDB 中存储数据的Node.js应用程序,使用手指式血压计将患者的信息发回NHS信托。这当然意味着你可以有效地跟踪病人,并智慧地决定何时要求他们进入医院,减少NHS的负担。这是一个很好的小例子,但很容易复制到其他问题领域。

更多场景用例

Find ArangoDB on Github

转载于:https://www.cnblogs.com/germanwifi/p/7269372.html

NoSQL分布式数据库的独家见解- Adam Fowler相关推荐

  1. 【云计算与大数据技术】分布式数据库NoSQL中KV、列式、图、文档数据库的讲解(图文解释 超详细)

    一.NoSQL数据库概述 NoSQL泛指非关系型数据库,相对于传统关系型数据库,NoSQL有着更复杂的分类,包括KV数据库,文档数据库,列式数据库以及图数据库等等,这些类型的数据库能够更好的适应复杂类 ...

  2. 分布式数据库:如何正确选择分片键?

    过去十年见证了分布式数据库的崛起不仅通过本地集群来实现负载均衡,并提供高可用性,还具有数据中心内的机架感知等属性.专为云而设计的分布式数据库,可以跨越可用性区域,通过编排技术,支持公有云.私有云.混合 ...

  3. 分布式数据库或成为新增量

    以下文章来源于华泰证券:http://www.microbell.com/repinfodetail_775272.html 作者:谢春生.郭雅丽 数据库行业螺旋上升,分布式数据库或成新增量 纵观计算 ...

  4. 2019年最受程序员欢迎的10大非关系型(NoSQL)数据库

    数据库是一组信息的集合,这些信息被组织起来以便于访问.管理和更新.在开始介绍最流行的NoSQL数据库之前.您必须了解NoSQL数据库.大多数程序员不知道它代表什么.它的全称是Not Only SQL. ...

  5. 【巨杉访谈】分布式数据库如何存储管理非结构化数据?

    SequoiaDB 巨杉数据库,是一款面向企业级的分布式 NewSQL 数据库,自主研发并拥有完全自主知识产权,没有基于任何其他外部的开源数据库源代码. 四月初,在开源中国源创会厦门站活动中,巨杉数据 ...

  6. 【巨杉数据库SequoiaDB】【巨杉访谈】分布式数据库如何存储管理非结构化数据?

    SequoiaDB 巨杉数据库,是一款面向企业级的分布式 NewSQL 数据库,自主研发并拥有完全自主知识产权,没有基于任何其他外部的开源数据库源代码. 上周,在开源中国源创会厦门站活动中,巨杉数据库 ...

  7. 几款分布式数据库的对比

    过去十年见证了分布式数据库的崛起不仅通过本地集群来实现负载均衡,并提供高可用性,还具有数据中心内的机架感知等属性.专为云而设计的分布式数据库,可以跨越可用性区域,通过编排技术,支持公有云.私有云.混合 ...

  8. 开源分布式数据库中间件

    转自:https://www.csdn.net/article/2015-07-16/2825228 MyCat:开源分布式数据库中间件 为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性 ...

  9. 从架构特点到功能缺陷,重新认识分析型分布式数据库

    写在前面 本文是分布式数据库的总纲文章的第一部分,主要探讨分析性分布式数据库的发展和技术差异:第二部分则是交易性数据库的一些关键特性分析.Ivan开始计划的分布式数据库是不含分析场景的,所以严格来说本 ...

最新文章

  1. Primary VLAN
  2. Discuz!NT发帖回复后没有积分动画的去除和修复方法
  3. QList模板类常用接口函数
  4. 马里奥AI实现方式探索 ——神经网络+增强学习
  5. jmeter聚个报告怎么看qps_【jmeter】jmeter测试网站QPS
  6. hadoop fs:du统计hdfs文件(目录下文件)大小的用法
  7. 一文看懂哈夫曼树与哈夫曼编码
  8. for循环false 终止 python_python3.5.1给用户3次无效的尝试,然后终止pgm(Simple FOR循环)...
  9. C#中的String类
  10. puppet进阶指南——cron资源详解
  11. 扫描二维码 打开 小程序或是H5网页
  12. 如何选择tomcat版本
  13. jedate选择一年范围日期插件
  14. 浅谈关于Java中map这个类衍生的类
  15. NodeJS启动vue项目的坑
  16. U盘启动的WinPe安装winxp(非ghost版)重启后出现NTLDR IS MISSING的问题
  17. mac系统恢复服务器上的安装器损坏,Mac提示App已损坏你应该将它移到废纸篓的解决方案-mac无法安装软件解决教程 - 河东软件园...
  18. 做技术应该持有什么样的工作态度?
  19. 推荐系统8——利用社交网络数据推荐
  20. 高校社团管理系统jsp和javabean开发

热门文章

  1. linux系统命令行基础知识点
  2. php跨域请求解决方案_swoft2 -跨域与中间件详解
  3. python3 re模块_Python3 正则表达式 re 模块的使用 - 学习笔记
  4. Nginx开发一个简单的HTTP过滤模块
  5. 业务专题篇:如何用数据评价某次活动?
  6. spring boot创建一个应用
  7. 将shell命令结果直接输出到HDFS上
  8. App相互唤醒的几种方式
  9. Err Welcoe to emergency mode
  10. spring cloud学习进阶篇:Spring Cloud Sleuth + Zipkin 实现分布式跟踪解决方案