8种NoSQL数据库比较

合集下载

非关系型数据库概念

非关系型数据库概念

非关系型数据库(NoSQL)是一种不同于传统关系型数据库的数据库类型。

与传统关系型数据库(如MySQL、Oracle等)不同,NoSQL数据库通常采用非结构化数据存储方式,以便于处理大规模的数据集合和快速的读写操作。

NoSQL数据库主要有以下几种类型:1. 键值对数据库(Key-Value Store):将数据存储为键值对对的形式,常用的键值对数据库包括Redis和Memcached等。

2. 列式数据库(Column-Family Store):将数据存储为列族的形式,每个列族包含多个列,常用的列式数据库包括HBase和Cassandra等。

3. 文档型数据库(Document-Oriented Store):将数据存储为文档的形式,文档可以包含不同的数据类型和结构,常用的文档型数据库包括MongoDB和Couchbase等。

4. 图数据库(Graph Database):将数据存储为图的形式,每个节点表示一个实体,每个边表示实体之间的关系,常用的图数据库包括Neo4j和OrientDB等。

相对于关系型数据库,NoSQL数据库具有以下优势:1. 高可扩展性:NoSQL数据库可以轻松地进行水平扩展,以适应数据量的增长。

2. 高性能:NoSQL数据库通常采用内存数据库或者磁盘数据库的方式,可以提供更快的读写速度。

3. 灵活的数据模型:NoSQL数据库通常不需要严格的表结构,可以适应不同的数据模型和数据结构。

4. 高可用性:NoSQL数据库通常具有良好的分布式架构,可以提供高可用性和容错性。

但是,NoSQL数据库也存在一些缺点,例如:1. 缺乏标准化:NoSQL数据库的种类繁多,缺乏统一的标准和规范。

2. 缺乏事务支持:NoSQL数据库通常不支持事务处理,对于对数据一致性要求较高的应用场景可能不太适合。

3. 学习成本较高:NoSQL数据库通常采用不同于传统关系型数据库的数据模型和查询语言,需要花费一定的时间和精力进行学习和理解。

NoSQL数据库类型简介

NoSQL数据库类型简介

NoSQL数据库类型简介近些年来,NoSQL数据库的发展势头很快。

据统计,目前已经产生了50 到150 个NoSQL 数据库系统。

但是,归结起来,可以将典型的NoSQL 划分为4 种类型,分别是键值数据库、列式数据库、文档数据库和图形数据库,如图1 所示。

图1 4 种类型的NoSQL 数据库图2 键值数据库举例1. 键值数据库键值数据库起源于Amazon 开发的Dynamo 系统,可以把它理解为一个分布式的Hashmap,支持SET/GET 元操作。

它使用一个哈希表,表中的Key(键)用来定位Value(值),即存储和检索具体的Value。

数据库不能对Value 进行索引和查询,只能通过Key 进行查询。

Value 可以用来存储任意类型的数据,包括整型、字符型、数组、对象等。

如图2 所示。

键值存储的值也可以是比较复杂的结构,如一个新的键值对封装成的一个对象。

一个完整的分布式键值数据库会将Key 按策略尽量均匀地散列在不同的结点上,其中,一致性哈希函数是比较优雅的散列策略,它可以保证当某个结点挂掉时,只有该结点的数据需要重新散列。

在存在大量写操作的情况下,键值数据库可以比关系数据库有明显的性能优势,这是因为关系型数据库需要建立索引来加速查询,当存在大量写操作时,索引会发生频繁更新,从而会产生高昂的索引维护代价。

键值数据库具有良好的伸缩性,理论上讲可以实现数据量的无限扩容。

键值数据库可以进一步划分为内存键值数据库和持久化键值数据库。

内存键值数据库把数据保存在内存中,如Memcached 和Redis。

持久化键值数据库把数据保存在磁盘中,如BerkeleyDB、Voldmort 和Riak。

键值数据库也有自身的局限性,主要是条件查询。

如果只对部分值进行查询或更新,效率会比较低下。

在使用键值数据库时,应该尽量避免多表关联查询。

此外,键值数据库在发生故障时不支持回滚操作,所以无法支持事务。

大多数键值数据库通常不会关心存入的Value 到底是什么,在它看来,那只是一堆字节而已,所以开发者也无法通过Value 的某些属性来获取整个Value。

NoSQL数据库的优势与劣势

NoSQL数据库的优势与劣势

NoSQL数据库的优势与劣势随着大数据和云计算的发展,NoSQL(Not Only SQL)数据库逐渐成为企业和组织在处理大规模数据和实时数据时的首选。

与传统的关系型数据库相比,NoSQL数据库具有许多独特的优势,同时也存在一些劣势。

本文将探讨NoSQL数据库的优势和劣势,并分析其在实际应用中的适用场景。

一、NoSQL数据库的优势1. 高可扩展性:NoSQL数据库采用分布式架构,可以轻松地横向扩展,从而应对大规模数据的存储和处理需求。

通过添加更多的服务器节点,可以实现系统性能的线性增长,提高整体的吞吐量和处理能力。

2. 灵活的数据模型:传统的关系型数据库采用表格模型,需要提前设计好数据结构和关系,而NoSQL数据库则具有更灵活的数据模型。

它可以根据实际需要存储和处理各种类型的数据,包括结构化、半结构化和非结构化数据,如文档、键值对、列族和图等。

3. 高性能:由于NoSQL数据库采用了更简单的数据模型和存储方式,相对于关系型数据库而言,具有更高的读写性能。

它们通常使用内存存储或者基于硬盘的高效存储引擎,可以提供更低的延迟和更高的吞吐量。

4. 强大的可用性和容错性:NoSQL数据库通过数据冗余和分布式架构实现高可用性和容错性。

即使某个节点或服务器出现故障,系统仍然可以继续正常运行,不会导致数据的损失或服务的中断。

这使得企业和组织能够构建高可靠的应用和服务。

5. 适应于大数据和实时数据处理:NoSQL数据库的设计目标之一就是为大规模数据和实时数据处理提供支持。

它们可以轻松地处理海量的数据和高并发的事务,满足现代应用对于高性能和实时性的需求。

二、NoSQL数据库的劣势1. 缺乏标准化:由于NoSQL数据库种类繁多,各自采用不同的数据模型和查询语言,缺乏统一的标准化。

这给开发人员带来了一定的学习和适应成本,同时也增加了系统的复杂性和维护成本。

2. 限制性查询能力:相对于关系型数据库而言,NoSQL数据库在查询能力方面存在一定的限制。

数据库的NoSQL与NewSQL比较

数据库的NoSQL与NewSQL比较

数据库的NoSQL与NewSQL比较数据库管理系统是计算机科学中的重要组成部分,用于存储、管理和检索数据。

传统的关系型数据库在数据处理领域发挥了巨大的作用,但是随着互联网规模的不断扩大,传统数据库在处理大规模、高并发、非结构化数据方面面临着一些挑战。

为了应对这些问题,出现了新型的数据库技术,例如NoSQL与NewSQL。

1. NoSQL数据库NoSQL(Not Only SQL)是一种非关系型数据库,与传统的关系型数据库相比,NoSQL更加灵活、可扩展和容错。

NoSQL数据库在云计算、大数据分析、实时应用等领域得到广泛应用。

与关系型数据库不同,NoSQL数据库不需要提前定义表结构,数据以键值对的形式存储,并且支持水平扩展。

NoSQL数据库一般分为键值存储型、文档型、列存储型和图形数据库等。

2. New SQL数据库NewSQL是对传统关系型数据库的改进和扩展,旨在解决传统数据库在水平扩展和高并发方面的不足。

NewSQL数据库保留了关系型数据库的ACID特性(原子性、一致性、隔离性和持久性),并通过新的架构和算法提高了数据库的性能和可扩展性。

NewSQL数据库适用于大规模的在线事务处理(OLTP)和在线分析处理(OLAP)。

一些常见的NewSQL数据库有VoltDB、CockroachDB和TiDB等。

3. NoSQL与NewSQL的比较3.1 数据模型:NoSQL数据库适用于非结构化数据,不需要预先定义表结构,更加灵活。

而NewSQL数据库保留了关系型数据库的数据模型,适用于结构化数据。

3.2 数据一致性:NoSQL数据库通常追求最终一致性,即数据在分布式环境下可能会有一定的延迟,数据副本之间可能存在不一致。

而NewSQL数据库保证强一致性,通过同步和事务保证数据的一致性。

3.3 扩展性:NoSQL数据库通过水平扩展来应对大规模数据和高并发请求,可以添加更多的服务器节点。

NewSQL数据库也支持水平扩展,但是由于保留了关系型数据库的ACID特性,扩展性可能受到一定限制。

nosql 面试题

nosql 面试题

nosql 面试题NoSQL(Not Only SQL)是一种用于设计和管理大规模分布式数据存储的数据库系统。

与传统的关系型数据库相比,NoSQL数据库更加强调可伸缩性和性能表现。

在面试中,面试官通常会提出一些与NoSQL相关的问题,以评估应聘者对这种数据库系统的理解和运用能力。

以下是一些常见的NoSQL面试题,供参考:1. 请简要介绍NoSQL数据库,并列举几种常见的NoSQL数据库类型。

NoSQL数据库是一种与传统关系型数据库不同的数据库系统,它主要用于处理大规模的非结构化或半结构化数据。

NoSQL数据库采用了分布式计算和存储技术,具有良好的横向扩展性和高性能表现。

常见的NoSQL数据库类型包括键值存储型、文档型、列存储型和图形型数据库。

2. 请解释一下键值存储型数据库的特点,并说明其适用场景。

键值存储型数据库是一种简单的数据库系统,它将数据存储为键值对的形式。

每个键(key)都是唯一的,并与一个对应的值(value)相关联。

键值存储型数据库具有高效的读写性能,适用于需要快速存取数据的场景,如缓存、会话存储等。

3. 什么是文档型数据库?请举例说明其应用场景。

文档型数据库是一种将数据存储为文档的数据库系统。

文档通常采用类似于JSON或XML的格式进行组织,可以包含复杂的数据结构。

文档型数据库具有灵活的数据模型,适用于存储半结构化或非结构化数据。

例如,MongoDB是一种常见的文档型数据库,在Web应用程序中可以用于存储用户信息、文章内容等。

4. 列存储型数据库有哪些优势?请举例说明其使用场景。

列存储型数据库是一种将数据存储为列的数据库系统,它以列为单位进行读写操作,具有较高的读取性能和良好的可压缩性。

列存储型数据库适用于需要查询特定列的场景,如数据分析和业务报表生成。

HBase是一种常见的列存储型数据库,被广泛应用于大数据领域。

5. 图形型数据库的主要特点是什么?请举例说明其应用场景。

图形型数据库是一种专门用于处理图形结构数据的数据库系统。

NoSQL数据库的特点与应用场景

NoSQL数据库的特点与应用场景

NoSQL数据库的特点与应用场景MongoDB、HBase、Redis目录1.NoSQL的四大种类 (3)2.MongoDB (4)3.HBase (6)4.Redis (8)1.NoSQL的四大种类NoSQL数据库在整个数据库领域的江湖地位已经不言而喻。

在大数据时代,虽然RDBMS很优秀,但是面对快速增长的数据规模和日渐复杂的数据模型,RDBMS渐渐力不从心,无法应对很多数据库处理任务,这时NoSQL凭借易扩展、大数据量和高性能以及灵活的数据模型成功的在数据库领域站稳了脚跟。

目前大家基本认同将NoSQL数据库分为四大类:键值存储数据库,文档型数据库,列存储数据库和图形数据库,其中每一种类型的数据库都能够解决关系型数据不能解决的问题。

在实际应用中,NoSQL数据库的分类界限其实没有那么明显,往往会是多种类型的组合体。

主流nosql的详解:MongoDB、Hbase、Redis2.MongoDBMongoDB 是一个高性能,开源,无模式的文档型数据库,开发语言是C++。

它在许多场景下可用于替代统的关系型数据库或键/值存储方式。

1.MongoDB特点∙所用语言:C++∙特点:保留了SQL一些友好的特性(查询,索引)。

∙使用许可:AGPL(发起者:Apache)∙协议:Custom, binary(BSON)∙Master/slave复制(支持自动错误恢复,使用sets 复制)∙内建分片机制∙支持javascript表达式查询∙可在服务器端执行任意的javascript函数∙update-in-place支持比CouchDB更好∙在数据存储时采用内存到文件映射∙对性能的关注超过对功能的要求∙建议最好打开日志功能(参数--journal)∙在32位操作系统上,数据库大小限制在约2.5Gb∙空数据库大约占192Mb∙采用GridFS存储大数据或元数据(不是真正的文件系统)2.MongoDB优点:1)更高的写负载,MongoDB拥有更高的插入速度。

NOSQL数据库的四大类型

NOSQL数据库的四大类型

NOSQL数据库的四⼤类型
1 键值数据库
相关产品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached
应⽤:内容缓存
优点:扩展性好、灵活性好、⼤量写操作时性能⾼
缺点:⽆法存储结构化信息、条件查询效率较低
使⽤者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)
2 列族数据库
相关产品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS
应⽤:分布式数据存储与管理
优点:查找速度快、可扩展性强、容易进⾏分布式扩展、复杂性低
使⽤者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)3 ⽂档数据库
相关产品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit
应⽤:存储、索引并管理⾯向⽂档的数据或者类似的半结构化数据
优点:性能好、灵活性⾼、复杂性低、数据结构灵活
缺点:缺乏统⼀的查询语⾔
使⽤者:百度云数据库(MongoDB)、SAP(MongoDB)
4 图形数据库
相关产品:Neo4J、OrientDB、InfoGrid、GraphDB
应⽤:⼤量复杂、互连接、低结构化的图结构场合,如社交⽹络、推荐系统等
优点:灵活性⾼、⽀持复杂的图形算法、可⽤于构建复杂的关系图谱
缺点:复杂性⾼、只能⽀持⼀定的数据规模。

NoSQL数据库优点与局限性分析

NoSQL数据库优点与局限性分析

NoSQL数据库优点与局限性分析NoSQL数据库是一种非关系型数据库,相对于传统的关系型数据库,它具有一些独特的优点和局限性。

本文将对NoSQL数据库的优点和局限性进行分析,并探讨其在不同应用场景下的适用性。

首先,让我们来看一下NoSQL数据库的优点。

1. 可扩展性:NoSQL数据库以水平扩展为基础,能够在分布式系统中处理大规模数据,实现高可扩展性。

它们能够轻松应对数据量的增长,无需进行架构和模式的更改。

2. 高性能:NoSQL数据库采用了一些优化策略,如键值对存储、面向列或文档的存储结构等,以提供更高的读写性能。

与传统关系型数据库相比,NoSQL数据库能够更快地处理大量的并发操作。

3. 灵活的数据模型:NoSQL数据库对数据模型没有严格的要求,可以根据业务需求灵活存储和查询数据。

它们能够存储结构化、半结构化和非结构化数据,从而满足了不同类型数据的处理需求。

4. 高可用性:NoSQL数据库通常具有内置的多副本和自动故障恢复机制,保证系统的高可用性。

它们能够在节点故障或网络中断时继续运行,并提供持久性数据存储。

然而,NoSQL数据库也存在一些局限性。

下面我们将分析其中的几个。

1. 缺乏标准化:由于NoSQL数据库的多样性,缺乏统一的标准化规范。

这使得开发人员需要根据选择的NoSQL数据库的特性进行学习和适应,增加了开发的复杂性。

2. 数据一致性:对于一些NoSQL数据库来说,数据一致性可能不是首要关注的问题。

一致性在分布式系统中是一个复杂的问题,尤其在面对网络分区等情况时,可能会导致数据不一致的情况。

3. 限制查询功能:相比于关系型数据库,NoSQL数据库在查询能力方面可能有所局限。

一些NoSQL数据库只支持基本的查询操作,对于复杂的查询需求可能不够灵活和高效。

4. 有限的事务支持:NoSQL数据库通常采用弱一致性模型,对事务的支持有限。

在某些应用场景下,如金融系统或电子商务平台,事务的一致性非常重要,这需要额外的开发工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011/08/30 | 分类:工具与资源, 程序员| 4 条评论| 标签:NOSQL, 数据库分享到:38导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型nosql 数据库的文章。

文章由敏捷翻译–唐尤华编译。

如需转载,请参见文后声明。

虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破。

这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举。

但是NoSQL数据库之间的不同,远超过两SQL数据库之间的差别。

这意味着软件架构师更应该在项目开始时就选择好一个适合的NoSQL数据库。

针对这种情况,这里对Cassandra、Mongodb、CouchDB、Redis、Riak、Membase、Neo4j和HBase进行了比较:(编注1:NoSQL:是一项全新的数据库革命性运动,NoSQL的拥护者们提倡运用非关系型的数据存储。

现今的计算机体系结构在数据存储方面要求具备庞大的水平扩展性,而NoSQL致力于改变这一现状。

目前Google的BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库。

参见NoSQL词条。

)1. CouchDB∙所用语言:Erlang∙特点:DB一致性,易于使用∙使用许可:Apache∙协议:HTTP/REST∙双向数据复制,∙持续进行或临时处理,∙处理时带冲突检查,∙因此,采用的是master-master复制(见编注2)∙MVCC –写操作不阻塞读操作∙可保存文件之前的版本∙Crash-only(可靠的)设计∙需要不时地进行数据压缩∙视图:嵌入式映射/减少∙格式化视图:列表显示∙支持进行服务器端文档验证∙支持认证∙根据变化实时更新∙支持附件处理∙因此,CouchApps(独立的js应用程序)∙需要jQuery程序库最佳应用场景:适用于数据变化较少,执行预定义查询,进行数据统计的应用程序。

适用于需要提供数据版本支持的应用程序。

例如:CRM、CMS系统。

master-master复制对于多站点部署是非常有用的。

(编注2:master-master复制:是一种数据库同步方法,允许数据在一组计算机之间共享数据,并且可以通过小组中任意成员在组内进行数据更新。

)2. Redis∙所用语言:C/C++∙特点:运行异常快∙使用许可:BSD∙协议:类Telnet∙有硬盘存储支持的内存数据库,∙但自2.0版本以后可以将数据交换到硬盘(注意,2.4以后版本不支持该特性!)∙Master-slave复制(见编注3)∙虽然采用简单数据或以键值索引的哈希表,但也支持复杂操作,例如ZREVRANGEBYSCORE。

∙INCR & co (适合计算极限值或统计数据)∙支持sets(同时也支持union/diff/inter)∙支持列表(同时也支持队列;阻塞式pop操作)∙支持哈希表(带有多个域的对象)∙支持排序sets(高得分表,适用于范围查询)∙Redis支持事务∙支持将数据设置成过期数据(类似快速缓冲区设计)∙Pub/Sub允许用户实现消息机制最佳应用场景:适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序。

例如:股票价格、数据分析、实时数据搜集、实时通讯。

(编注3:Master-slave复制:如果同一时刻只有一台服务器处理所有的复制请求,这被称为Master-slave复制,通常应用在需要提供高可用性的服务器集群。

)3. MongoDB∙所用语言:C++∙特点:保留了SQL一些友好的特性(查询,索引)。

∙使用许可:AGPL(发起者:Apache)∙协议:Custom, binary(BSON)∙Master/slave复制(支持自动错误恢复,使用sets 复制)∙内建分片机制∙支持javascript表达式查询∙可在服务器端执行任意的javascript函数∙update-in-place支持比CouchDB更好∙在数据存储时采用内存到文件映射∙对性能的关注超过对功能的要求∙建议最好打开日志功能(参数–journal)∙在32位操作系统上,数据库大小限制在约2.5Gb∙空数据库大约占192Mb∙采用GridFS存储大数据或元数据(不是真正的文件系统)最佳应用场景:适用于需要动态查询支持;需要使用索引而不是map/reduce功能;需要对大数据库有性能要求;需要使用CouchDB但因为数据改变太频繁而占满内存的应用程序。

例如:你本打算采用MySQL或PostgreSQL,但因为它们本身自带的预定义栏让你望而却步。

4. Riak∙所用语言:Erlang和C,以及一些Javascript∙特点:具备容错能力∙使用许可:Apache∙协议:HTTP/REST或者custom binary∙可调节的分发及复制(N, R, W)∙用JavaScript or Erlang在操作前或操作后进行验证和安全支持。

∙使用JavaScript或Erlang进行Map/reduce∙连接及连接遍历:可作为图形数据库使用∙索引:输入元数据进行搜索(1.0版本即将支持)∙大数据对象支持(Luwak)∙提供“开源”和“企业”两个版本∙全文本搜索,索引,通过Riak搜索服务器查询(beta版)∙支持Masterless多站点复制及商业许可的SNMP监控最佳应用场景:适用于想使用类似Cassandra(类似Dynamo)数据库但无法处理bloat及复杂性的情况。

适用于你打算做多站点复制,但又需要对单个站点的扩展性,可用性及出错处理有要求的情况。

例如:销售数据搜集,工厂控制系统;对宕机时间有严格要求;可以作为易于更新的web服务器使用。

5. Membase∙所用语言:Erlang和C∙特点:兼容Memcache,但同时兼具持久化和支持集群∙使用许可:Apache 2.0∙协议:分布式缓存及扩展∙非常快速(200k+/秒),通过键值索引数据∙可持久化存储到硬盘∙所有节点都是唯一的(master-master复制)∙在内存中同样支持类似分布式缓存的缓存单元∙写数据时通过去除重复数据来减少IO∙提供非常好的集群管理web界面∙更新软件时软无需停止数据库服务∙支持连接池和多路复用的连接代理最佳应用场景:适用于需要低延迟数据访问,高并发支持以及高可用性的应用程序例如:低延迟数据访问比如以广告为目标的应用,高并发的web 应用比如网络游戏(例如Zynga)6. Neo4j∙所用语言:Java∙特点:基于关系的图形数据库∙使用许可:GPL,其中一些特性使用AGPL/商业许可∙协议:HTTP/REST(或嵌入在Java中)∙可独立使用或嵌入到Java应用程序∙图形的节点和边都可以带有元数据∙很好的自带web管理功能∙使用多种算法支持路径搜索∙使用键值和关系进行索引∙为读操作进行优化∙支持事务(用Java api)∙使用Gremlin图形遍历语言∙支持Groovy脚本∙支持在线备份,高级监控及高可靠性支持使用AGPL/商业许可最佳应用场景:适用于图形一类数据。

这是Neo4j与其他nosql数据库的最显著区别例如:社会关系,公共交通网络,地图及网络拓谱7. Cassandra∙所用语言:Java∙特点:对大型表格和Dynamo支持得最好∙使用许可:Apache∙协议:Custom, binary (节约型)∙可调节的分发及复制(N, R, W)∙支持以某个范围的键值通过列查询∙类似大表格的功能:列,某个特性的列集合∙写操作比读操作更快∙基于Apache分布式平台尽可能地Map/reduce∙我承认对Cassandra有偏见,一部分是因为它本身的臃肿和复杂性,也因为Java的问题(配置,出现异常,等等)最佳应用场景:当使用写操作多过读操作(记录日志)如果每个系统组建都必须用Java编写(没有人因为选用Apache的软件被解雇)例如:银行业,金融业(虽然对于金融交易不是必须的,但这些产业对数据库的要求会比它们更大)写比读更快,所以一个自然的特性就是实时数据分析8. HBase(配合ghshephard使用)∙所用语言:Java∙特点:支持数十亿行X上百万列∙使用许可:Apache∙协议:HTTP/REST (支持Thrift,见编注4)∙在BigTable之后建模∙采用分布式架构Map/reduce∙对实时查询进行优化∙高性能Thrift网关∙通过在server端扫描及过滤实现对查询操作预判∙支持XML, Protobuf, 和binary的HTTP∙Cascading, hive, and pig source and sink modules∙基于Jruby(JIRB)的shell∙对配置改变和较小的升级都会重新回滚∙不会出现单点故障∙堪比MySQL的随机访问性能最佳应用场景:适用于偏好BigTable:)并且需要对大数据进行随机、实时访问的场合。

例如:Facebook消息数据库(更多通用的用例即将出现)编注4:Thrift 是一种接口定义语言,为多种其他语言提供定义和创建服务,由Facebook开发并开源。

当然,所有的系统都不只具有上面列出的这些特性。

这里我仅仅根据自己的观点列出一些我认为的重要特性。

与此同时,技术进步是飞速的,所以上述的内容肯定需要不断更新。

我会尽我所能地更新这个列表。

相关文档
最新文档