热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大数据时代的9大KeyValue存储数据库

在过去的十年中,计算世界已经改变。现在不仅在大公司,甚至一些小公司也积累了TB量级的数据。各种规模的组织开始有了处理大数据的需求,而目前关系型数据库在可缩放方面几乎已经达到极限。一

在过去的十年中,计算世界已经改变。现在不仅在大公司,甚至一些小公司也积累了TB量级的数据。各种规模的组织开始有了处理大数据的需求,而目前关系型数据库在可缩放方面几乎已经达到极限。

一个解决方案是使用键值(Key-Value)存储数据库,这是一种NoSQL(非关系型数据库)模型,其数据按照键值对的形式进行组织、索引和 存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能。

本文就为你介绍9种用于大数据处理的免费键值存储数据库。

1.  Aerospike 社区版

大数据时代的 9 大Key-Value存储数据库



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

Aerospike主要用于广告业务,作为一个服务器端的COOKIE存储来使用,在这种场景下读取和写入性能是至关重要的。

官网:http://www.aerospike.com/press-releases/aerospike-launches-free-community-edition/

相关资料:Documentation、FAQ、Blog、Forums

2.  LevelDB

大数据时代的 9 大Key-Value存储数据库



Leveldb是Google开发的一个非常高效的kv数据库,支持billion级别的数据量,在这个数量级别下还有着非常高的性能,主要归功 于它的良好的设计,特别是LSM算法。Leveldb已经作为存储引擎被Riak和Kyoto Tycoon所支持,在国内淘宝的Tair开源key-value存储也已经将LevelDB作为其持久化存储引擎,并部署在线上使用。

官网:http://code.google.com/p/leveldb/

相关资料:Benchmarks、Mailing List、Twitter

3.  Scalaris

大数据时代的 9 大Key-Value存储数据库



Scalaris 是一个采用Erlang开发的分布式 key-value 存储系统,提供的 API 包括:Java、Python、Ruby和JSON。

官网:http://scalaris.googlecode.com/

相关资料:Users and Developers Guide、FAQ、Mailing List

4.  Project Voldemort

大数据时代的 9 大Key-Value存储数据库



Voldemort是一个分布式键值存储系统,是Amazon's Dynamo的一个开源克隆。特性如下:

  • 支持自动复制数据到多个服务器上。
  • 支持数据自动分割所以每个服务器只包含总数据的一个子集。
  • 提供服务器故障透明处理功能。
  • 支持可拨插的序化支持,以实现复杂的键-值存储,它能够很好的5.集成常用的序化框架如:Protocol Buffers、Thrift、Avro和Java Serialization。
  • 数据项都被标识版本能够在发生故障时尽量保持数据的完整性而不会影响系统的可用性。
  • 每个节点相互独立,互不影响。
  • 支持可插拔的数据放置策略

官网:http://project-voldemort.com/

相关资料:Wiki、Mailing List、Github、Project Voldemort: Scaling Simple Storage、Serving Large-scale Batch Computed Data with Project Voldemort

5.  HyperDex

大数据时代的 9 大Key-Value存储数据库



HyperDex是一个分布式、可搜索的键值存储系统,特性如下:

  • 分布式KV存储,系统性能能够随节点数目线性扩展
  • 吞吐和延时都能秒杀现在风头正劲的MonogDB,吞吐甚至强于Redis
  • 使用了hyperspace hashing技术,使得对存储的K-V的任意属性进行查询成为可能

官网:http://hyperdex.org/

相关资料:Documentation、Blog、GitHub、FAQ、Announcement Mailing List、Discussion Mailing List

6.  Berkeley DB

大数据时代的 9 大Key-Value存储数据库



Berkeley DB是一个开源的文件数据库,介于关系数据库与内存数据库之间,使用方式与内存数据库类似,它提供的是一系列直接访问数据库的函数,而不是像关系数据库那样需要网络通讯、SQL解析等步骤。

官网:http://www.oracle.com/technetwork/products/berkeleydb/overview/index.html

相关资料:Wiki、Forums、Launchpad

7.  Apache Accumulo

大数据时代的 9 大Key-Value存储数据库



Apache Accumulo 是一个可靠的、可伸缩的、高性能的排序分布式的 Key-Value 存储解决方案,基于单元访问控制以及可定制的服务器端处理。Accumulo使用 Google BigTable 设计思路,基于 Apache Hadoop、Zookeeper 和 Thrift 构建。

官网:http://accumulo.apache.org/

相关资料:Manual、Mailing Lists、Apache Accumulo Users Group

8.  Redis

大数据时代的 9 大Key-Value存储数据库



Redis是一个高性能的key-value存储系统,和Memcached类似,它支持存储的value类型相对更多,包括string(字符 串)、list(链表)、set(集合)和zset(有序集合)。与memcached一样,为了保证效率,数据都是缓存在内存中,区别的是Redis会 周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了主从同步。

Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python、Ruby、Erlang、PHP客户端,使用很方便。

官网:http://redis.io/

相关资料:Documentation、Tutorials、FAQ、Mailing List、Twitter

9.  Apache Cassandra

大数据时代的 9 大Key-Value存储数据库



Apache Cassandra是一个混合型的非关系数据库,它最初由Facebook开发,用于储存特别大的数据。

Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其它节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。

官网:http://cassandra.apache.org/

相关资料:Wiki、Getting Started


推荐阅读
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 事件是程序各部分之间的一种通信方式,也是异步编程的一种实现形式。本文将详细介绍EventTarget接口及其相关方法,以及如何使用监听函数处理事件。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 为了评估精心优化的模型与策略在实际环境中的表现,Google对其实验框架进行了全面升级,旨在实现更高效、更精准和更快速的在线测试。新的框架支持更多的实验场景,提供更好的数据洞察,并显著缩短了实验周期,从而加速产品迭代和优化过程。 ... [详细]
  • 本文详细介绍了如何使用OpenSSL自建CA证书的步骤,包括准备工作、生成CA证书、生成服务器待签证书以及证书签名等过程。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 本文介绍了一种利用PHP cURL库高效提取Sohu邮箱联系人列表的方法。通过设置错误报告级别、定义Cookie文件路径等关键步骤,确保了代码的稳定性和可靠性。经过实际测试,该方法在2012年3月24日被验证为有效,能够快速准确地获取联系人信息。此外,文章还提供了详细的代码示例和注意事项,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
author-avatar
归零xinghx_318
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有