aerospike参考资料

http://blog.csdn.net/jiashiwen/article/category/3090193


如果您的企业依赖于:

  1. 庞大的数据量(超过任何结构化数据库所能处理的数据量)
  2. 可预见(且快速)的性能
  3. 透明的扩展
  4. 始终正常运行

那么您只有一个选择,那就是 Aerospike。 Aerospike 数据库是一个键-值存储的高性能实时 NoSQL(灵活模式)数据库。 即刻开使!免费下载 Aerospike 软件并电邮 [email protected] 我们能够为您的用户带来更多优势:

  • 快速——我们不仅快速,而且始终保持快速:
    • 可预见的高性能。我们是行业最佳——比竞争对手快 10 倍,99% 的响应可在 1 毫秒内实现,99.9% 的响应可在 5 毫秒内实现。
    • 混合架构。索引存储在 RAM 中,而数据存储在闪存/固态硬盘 (SSD) 上,针对采用多核处理器和多处理器机器的现代硬件进行优化。直接硬盘访问(绕过文件系统)可带来难以置信的性能。
    • 群集感知客户端软件。由于客户端知晓数据的存放位置,因此通常能够通过一次单跳检索到数据。
    • 无热点!Aerospike Server 使用复杂的哈希函数来确保数据均等地分布到所有可用节点,从而将需求平均分布到各资源上。
  • 可靠——没有中断、没有停机、没有数据损失:
    • 数据完整性。许多 NoSQL 数据库会牺牲数据一致性(ACID 标准),但 Aerospike 保持了高度的一致性,或者允许对跨越多个群集和数据中心的一致性进行调节。
    • 可靠且容错。如果群集中的一个节点出现故障,则其他节点将自动重新平衡负载。

我们能够为您带来更多优势:

  • 所有 NoSQL 数据库都声称能处理大数据,但我们正在管理真正巨大的数据。到底有多大?我们的客户每月处理多达 2 万亿次交易,并管理超过 8 TB 数据,而且数据量每天都在迅猛增长,永无止境。
  • 易于设置、管理和扩展:
    • 分布式。Aerospike Server 能够根据需要在任意位置的任意台服务器上运行。
    • 线性扩展。Aerospike Server 软件能够根据需要安装到多个数据中心内分组为多个群集的多个节点上。如要纵向扩展,只需将节点添加到集群,Aerospike 群集将自动在所有可用的服务器之间重新平衡数据负载。无需分片。无需人工干预。
    • 滚动的硬件和软件升级。备份和安装在后台完成,无需停机。
    • 跨数据中心支持。不同数据中心内的群集能够自动协调,从而实现绝对的可靠性。
    • 运行在商用硬件之上。易于购买和安装新服务器,没有需要特别订购的部件或不常见的硬件组件。我们甚至有一个非常好的傻瓜型方法,能够在价值 5000 美元的商用机器上实现 100 万 TPS。
    • 易于使用的软件开发套件。我们的多语言、多平台 API 允许您快速开发和部署您自己的客户端应用程序。
  • 业界最低的总体拥有成本 (TCO)。Aerospike Server 经过优化,使您可以通过更少的服务器获得更快的响应速度。我们并不认为拥有一个 100 节点的群集是一件值得骄傲的事,相反,我们对软件进行了优化,以利用更少的服务器提供更快的响应速度——并且,更少的服务器意味着为您降低硬件和维护成本。总体拥有成本仅为其他数据库的 17 分之一。
  • 业经验证的成功纪录。我们的第一次部署是在三年前实施的,到目前为止仍在正常运行,从未出现任何停机故障。
  • 首屈一指的客户支持。我们将检视您的应用程序设计,帮助您制定部署计划,并提供标准的技术支持。
  • 定期发布的软件升级。我们通过加利福尼亚州和印度的工程团队积极支持和改进 Aerospike 数据库,推出新的软件更新和新功能。

下载 超高性能 NoSQL 基准测试 – 分析耐用性和性能的权衡

Aerospike | Aerospike Chinese
原文地址: http://www.aerospike.com/chinese/



Aerospike 宣布开源其内存中的 NoSQL 数据库

Aerospike 宣布开源其 NoSQL 数据库,使用 AGPL 许可证发布。该许可证要求对源代码的任意改进都必须提交回主库。Aerospike 相关的所有源码都可通过如下地址获取:

https://github.com/aerospike

Aerospike 当前将数据库打包成两个版本:社区版和企业版。其中社区版是免费的,但限制了集群、存储能力以及每秒的事务处理数。在最新的 3.3.5 版本中这些限制已经移除(我们目前用得是最新版3.5.15)。社区版跟企业版所提供的功能已经基本一致,除了企业版提供的多个数据中心的复制功能以及补丁和技术支持服务外。 

Aerospike 提供 C, C++, Java, C#, Node.js, Python, PHP, Erlang 和 Perl 语言的客户端开发包,这些客户端开发包的源码使用 Apache 许可证。

同时公司刚获得 C 轮 2000 万美金的投资用于未来的进一步开发。

Aerospike是一个以分布式为核心基础,可基于行随机存取内存中索引、数据或SSD存储中数据的数据库。

原文地址:http://www.oschina.net/news/53142/aerospike-open-source





Aerospike NoSQL 数据库架构

作者 Srini Penchikala ,译者 李志 发布于 2015年6月16日 | 讨论
  • 分享到: 微博 微信 Facebook Twitter 有道云笔记 邮件分享 后阅读

Aerospike是一个开源的分布式键-值NoSQL数据库。它支持灵活的数据模式,并且支持满足ACID特性的事务。其架构包括如下三层:

  • 客户端层:这一层包括带有Aerospike API的开源客户端库和能够感知数据在Aerospike集群中位置的追踪节点。
  • 集群和数据分布层:这一层监控集群通讯并提供一些自动化功能,比如故障转移、数据复制和跨数据中心同步。
  • 数据存储层:这一层负责在DRAM(动态随机存取存储器)和Flash(闪存)中存储数据。

InfoQ采访了Aerospike的联合创始人兼CTO Brian Bulkowski,内容包括NoSQL数据库架构、其优势以及限制。

InfoQ:现在有不少NoSQL解决方案——Aerospike解决了哪些问题?

Brian: Aerospike为应用开发者们解决了键-值存储问题。当他们想要使用支持分片的键-值NoSQL数据库时就应该考虑Aerospike。它为解决大量的网络负载而生,在这一点上很多成功的公司已经证明部署Aerospike的重要性。它不是一个只用于分析功能的数据库,也不是Hadoop的替代品。

在大规模用户信息存储和会话管理方面,Aerospike的表现都极其出色。而且在很多商家使用实时数据在做的个性化项目、安全项目、移动支付和很多其他项目的例子中,Aerospike都是不二之选。

通过发布Aerospike源代码和最近的一些用户自定义函数,还有二级索引和统计收集而来的数据集的使用,Aerospike可以被选做可扩展高性能应用的数据库。

InfoQ:如何比较Aerospike和关系型数据库?

Brian:Aerospike在一开始就是以擅长做键-值存储的分布式数据库为目标开发的。关系型数据库功能完备但是丧失了主键使用上的速度和规模优势。然而,主键的使用方面——为了性能而做数据反规范化,是互联网应用开发者最看重的一个特性。

关系型数据库是很棒的多功能工具,然而,糟糕的扩展性、缓慢的连接操作(joins)、维护数据关系的复杂性和难以更改的架构降低了应用的性能和开发者的敏捷性。这就是为什么为了打造那些真正令人兴奋的应用,缓存和分片已经被应用多年。

SQL尚未适配几个关键的开发需求。多语言使用要侧重于列表和图的抽象和更高级的数据结构,比如文档。NoSQL数据库给开发者们提供了想要的东西——列表和图作为上层数据类型并且允许跨语言访问。还有一些小的改进,比如可以很容易地保持原子性地更新和读取记录(UPDATE和SELECT),这让开发者的工作变得更轻松。

不同于关系型数据库的实现,Aerospike利用最新的硬件——多核、多CPU服务器和闪存(PCIe卡和SSD),还有可以向外扩展,处理数十亿的对象、TB级的数据和每秒百万级的事务的分布式无共享架构。当下的公有云都可以配置SSD,只需花费RAM的小部分费用就能获得内存般的性能。一个关于“高可扩展性”的博客列举了原因。

InfoQ:如何比较它与其他NoSQL数据库?

Brian:一些流行的NoSQL数据库提倡高性能,但是仍然需要缓存技术来解决并发读写的问题。Aerospike优良的内存性能使应用开发更简单,同时部署也更便捷。如果你正在使用NoSQL替代MySQL满足高性能和可扩展性,你需要一个性能很可靠的内存数据库。

然而,开源的缓存系统比如Memcache和Redis,都不容易扩展。它们性能确实很好,但是它们的持久化模型不成熟,而且需要完全的DRAM。扩容服务器的时候要手动分割数据才能避免低性能。

Aerospike从设计之初就同时支持RAM和闪存(SSDs)。淘汰从RAM到闪存之间的数据交换方案,Aerospike实现了一个混合方式,把已分配的索引和数据或者存储在RAM或者SSD中。我们发现对于不同的部署环境,有一些数据最好放在RAM中,而有一些最好放在闪存中,这个工作对Aerospike来讲很简单。

其他的NoSQL数据库只实现了延迟一致性,但是Aerospike默认运行同步复制机制,提供单行ACID属性。读提交是最实用的ACID隔离级别,它为程序员提供了写后读的实时性,确保返回正确结果。Aerospike实现了包括锁存器和短期记录锁的分布式隔离技术,确保了隔离性。Aerospike提供的持久化机制包括在RAM和持久化存储上的多节点复制,另外每次事务更新都会在发送提交成功信号之前写入集群中的多个位置。更多的细节可以在这篇超大数据集会议论文中找到。

Aerospike有力保证让数据离处理它的进程更近,这是通过运行在服务器而非客户端的用户自定义函数实现的。分布式的代码管理器可以使得模块安全地上传至集群,而后高效地执行。这一特性减轻了网络拥堵。举例来说,在数据库中把一个元素添加到列表,列表管理可以写成一个简单的UDF(用户自定义函数),其实就是用自定义操作扩展数据库功能。

其他的NoSQL数据库要求手动分片、手动故障转移、维护窗口等。MongoDB和HBase提供了自动分片,但是MongoDB需要一个区分数据的分片键值作为参数,而HBase要涉及到从原则集里选择一个RegionSplitPolicy(域分配原则)。然而Aerospike是可以自我复合和自动执行一些功能的,包括故障转移和数据再平衡,这极大地减少了维护的工作量。在Aerospike部署中,维护窗口的存在是不必要的——备份和升级的操作会在数据库集群还在响应请求服务的同时就完成了。

InfoQ:Aerospike作为解决方案一部分的最佳用例或者最佳应用是什么?

Brian:Aerospike是一个可以满足广告优化和广告个性化这些低延迟应用的数据库选择。实时竞价广告系统——运行着大量互联网上常见的竞价广告,很依赖服务器上最近的cookie数据变化,还要加上海量的Hadoop分析而来的更深层用户数据。这种类型的大数据应用要求REST API请求响应在毫秒级,而且要把最近行为写到上层数据库。Aerospike被平台用作用户信息存储、服务端cookie存储、实时上下文存储、设备ID存储和ID映射,可以预见,这些平台必须在1毫秒之内存储和读写几十亿条数据。此外,Aerospike提供金融交易必需的单行ACID特性。

Aerospike还被商家用于在用户浏览商品时生成动态内容——报价和交易信息,并给出相关产品的最佳推荐。以Snapdeal公司举例来说,过去一直使用运行于RAM的MongoDB作为缓存,后来发现性能欠佳。现在他们使用Aerospike,满足了开发人员单页面更多的数据库调用,由此实现了视觉更丰富、利益更大化的网络体验。

我们发现缓存正在变成历史。很多社交媒体公司——从Pinterest到Twitter,都在使用持久化的内存键值存储作为数据基础架构的核心——无缓存化。

如今每家平台都需要全天候的服务才能保证优质的用户体验、达成服务水平协议,还要通过维护和备份做到始终可用。许多Aerospike客户刚开始使用较小的集群。当他们的产品不仅仅是增长,而是爆炸式增长的时候,他们发现很容易就可以通过增加服务器而扩展服务。根本没有必要重启现现有节点、客户端,或是计划停机时间等等。

InfoQ:Aerospike架构里是否有持久化的后台数据库或者完全的内存数据库?

Brian:Aerospike在使用RAM的时候是持久化的,标准配置会写入磁盘。由于不通过磁盘读取数据,因此没什么性能影响。当使用闪存或SSD时,数据会同步写入主备机。在数据块写入到磁盘是时是队列维护的,所以所有副本都是持久化的,而且没有性能影响。

InfoQ:它支持什么类型的监控?

Brian:有很多方式可以用来监控Aerospike。Aerospike监控控制台(AMC)提供了一个很全面的仪表盘来监视集群的活动。它通过vagrant预装在Aerospike虚拟机中,并注册了亚马逊AMI(亚马逊系统镜像)。

Aerospike支持Nagios和Graphite插件——这些Python写的插件可以作为其他系统的模板。

InfoQ:使用Aerospike有什么限制?

Brian:Aerospike在如下场景可能不是最佳选择:

  • 工作负载总是只读的
  • 如果工作负载是批量分析,旋转介质(HDDs)会更高效





AerospikeDB与Redis性能比较:在AWS上的NoSQL基准测试

http://www.infoq.com/cn/news/2015/02/aerospikedb-redis-aws-nosql?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global














你可能感兴趣的:(aerospike参考资料)