阅读更多

4顶
0踩

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

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

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

1.  Aerospike 社区版



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

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

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

相关资料:DocumentationFAQBlogForums

2.  LevelDB



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

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

相关资料:BenchmarksMailing ListTwitter

3.  Scalaris



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

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

相关资料:Users and Developers GuideFAQMailing List

4.  Project Voldemort



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

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

相关资料:WikiMailing ListGithubProject Voldemort: Scaling Simple StorageServing Large-scale Batch Computed Data with Project Voldemort

5.  HyperDex



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

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

相关资料:DocumentationBlogGitHubFAQAnnouncement Mailing ListDiscussion Mailing List

6.  Berkeley DB



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

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

相关资料:WikiForumsLaunchpad

7.  Apache Accumulo



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

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

相关资料:ManualMailing ListsApache Accumulo Users Group

8.  Redis



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

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

官网:http://redis.io/

相关资料:DocumentationTutorialsFAQMailing ListTwitter

9.  Apache Cassandra



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

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

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

相关资料:WikiGetting Started

Via linuxlinks
  • 大小: 2.1 KB
  • 大小: 9.9 KB
  • 大小: 6.3 KB
  • 大小: 23.2 KB
  • 大小: 6.4 KB
  • 大小: 11.1 KB
  • 大小: 11.2 KB
  • 大小: 13.9 KB
  • 大小: 9.2 KB
4
0
评论 共 4 条 请登录后发表评论
4 楼 zuoguiyefengliu 2016-11-02 11:03
huang_yong 写道
怎么没有看到Memcached、MongoDB?


mongoDB不是key-value数据库是文档型数据库
3 楼 huang_yong 2014-04-10 23:36
sp42 写道
huang_yong 写道
怎么没有看到Memcached、MongoDB?
9494

我都回忆不起来一年前竟然评论过这篇,哈哈!
2 楼 sp42 2014-04-08 22:03
huang_yong 写道
怎么没有看到Memcached、MongoDB?
9494
1 楼 huang_yong 2013-05-02 12:30
怎么没有看到Memcached、MongoDB?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • (转)[转]大数据时代的 9 大Key-Value存储数据库

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

  • [转]大数据时代的 9 大Key-Value存储数据库

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

  • 转载和积累系列 - 大数据时代的 9 大Key-Value存储数据库

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

  • 从零开始设计键值数据库(KEY-VALUE STORE)

    键值存储(key-value store),也被称为键值数据库(key-value database),是一个非关系型数据库。每一个独特的标识符都被存储为一个带有相关值的键。这种数据配对被称为 "键-值 "对。 在一个键值对中,键必须是...

  • 大数据时代常用的几类Key-Value(NoSQL)数据库

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

  • 高性能的Key-Value数据库:Redis

    NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web- 0网站的兴起,传统的关系数据库在应付web- 0网站,特别是超大规模和高并发的SNS类型的web- 0纯...

  • Key-value数据库

    Key-value数据库是一种以键值对存储数据的一种数据库,...Redis是一个Key-Value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。另外redis是

  • 起点小说解锁.js

    起点小说解锁.js

  • 299-煤炭大数据智能分析解决方案.pptx

    299-煤炭大数据智能分析解决方案.pptx

  • 299-教育行业信息化与数据平台建设分享.pptx

    299-教育行业信息化与数据平台建设分享.pptx

  • 基于Springboot+Vue酒店客房入住管理系统-毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

  • 时间复杂度的一些相关资源

    时间复杂度是计算机科学中用来评估算法效率的一个重要指标。它表示了算法执行时间随输入数据规模增长而变化的趋势。当我们比较不同算法的时间复杂度时,实际上是在比较它们在不同输入规模下的执行效率。 时间复杂度通常用大O符号来表示,它描述了算法执行时间上限的增长率。例如,O(n)表示算法执行时间与输入数据规模n呈线性关系,而O(n^2)则表示算法执行时间与n的平方成正比。当n增大时,O(n^2)算法的执行时间会比O(n)算法增长得更快。 在比较时间复杂度时,我们主要关注复杂度的增长趋势,而不是具体的执行时间。这是因为不同计算机硬件、操作系统和编译器等因素都会影响算法的实际执行时间,而时间复杂度则提供了一个与具体实现无关的评估标准。 一般来说,时间复杂度越低,算法的执行效率就越高。因此,在设计和选择算法时,我们通常希望找到时间复杂度尽可能低的方案。例如,在排序算法中,冒泡排序的时间复杂度为O(n^2),而快速排序的时间复杂度在平均情况下为O(nlogn),因此在处理大规模数据时,快速排序通常比冒泡排序更高效。 总之,时间复杂度是评估算法效率的重要工具,它帮助我们了解算法在不同输入规模下的性

  • 安全承诺书-施工(单位版).docx

    5G通信行业、网络优化、通信工程建设资料

  • 基于Springboot+Vue人口老龄化社区服务与管理平台-毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

  • node-v12.22.6-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 通信工程施工作业现场高危险源控制图集.docx

    5G通信行业、网络优化、通信工程建设资料

  • 毕设绝技《基于小程序的交友系统的设计与实现》

    《基于小程序的交友系统的设计与实现》是一个融合了小程序技术和社交功能的毕业设计项目。该项目旨在通过开发一款小程序,为用户提供一个便捷、有趣的交友平台,满足用户寻找新朋友、拓展社交圈的需求。 一、项目背景与目标 随着移动互联网的普及,小程序以其轻便、易用的特性受到了广大用户的喜爱。本项目旨在利用小程序技术开发一款交友系统,通过简洁明了的界面设计和丰富多样的社交功能,吸引用户参与并提升用户体验。通过实现这一系统,旨在帮助用户拓展社交圈,增进人际关系,并推动社交领域的创新与发展。 二、系统设计与功能实现 用户注册与登录:系统提供用户注册与登录功能,确保用户信息的真实性和安全性。用户可以通过手机号或第三方社交账号进行注册和登录。 个人资料展示:用户可以在个人资料页面展示自己的基本信息、兴趣爱好、照片等,以便其他用户了解并产生互动。 附近的人:系统通过定位功能展示附近的其他用户,用户可以浏览附近的人的信息,并主动发起聊天或交友请求。 聊天功能:系统提供一对一的聊天功能,用户可以与感兴趣的人进行实时交流,增进彼此的了解。 活动组织:用户可以发起或参与各类线下活动,如聚会、运动、旅行

  • 安全生产教育培训制度.doc

    5G通信行业、网络优化、通信工程建设资料

  • shampoo-sales.csv

    shampoo-sales.csv

Global site tag (gtag.js) - Google Analytics