Aerospike 使用场景

Aerospike 是一个从头开始构建的开源数据库,能够让有限的闪存、处理器和网络得到最大的应用。它旨在不牺牲可靠性和高吞吐量的情况下提供可预测的低延迟 — 提供了高可用性和 ACID 保证。Aerospike 是:

  • 一个内存中的 NoSQL 数据库和键/值存储,能够以线速运行。

  • 能够极大地减少您的工作负载,因为无需整合用于分片(sharding)和集群更改的逻辑。

  • 一个改变游戏规则的数据库解决方案,消除了关于数据丢失或停机时间的担心。

  • 以内存中的速度、全球规模和企业级可靠性来运作。

  • 必须立刻提供感受和响应的实时大数据或上下文驱动的应用程序的理想选择。

Aerospike解决了哪些问题?

Aerospike为应用开发者们解决了键-值存储问题。当他们想要使用支持分片的键-值NoSQL数据库时就应该考虑Aerospike。它为解决大量的网络负载而生,在这一点上很多成功的公司已经证明部署Aerospike的重要性。它不是一个只用于分析功能的数据库,也不是Hadoop的替代品。开源的缓存系统比如Memcache和Redis,都不容易扩展。它们性能确实很好,但是它们的持久化模型不成熟,而且需要完全的DRAM。扩容服务器的时候要手动分割数据才能避免低性能。

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

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

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

Aerospike 是一个键/值存储,通常被用作缓存,或被用作具有持久性的存储,比如上下文存储。上下文存储可用于:

  • 服务器端会话存储

  • cookie 存储

  • 设备 ID 存储

  • ID 映射

  • 用户首选项或用户配置文件,以便获得实时推荐和个性化 Web 门户上的用户体验

  • 电子商务

  • 旅游网站

  • 实时竞价广告系统

  • 用 Aerospike 实现大数据分析



你可能感兴趣的:(Aerospike 使用场景)