2013最常用的NoSQL数据库

摘要:与关系数据库相比,每个NoSQL都有自己不同的适用场景,这里带大家盘点文档数据库、图数据库、键值数据存储、列存储数据库与内存数据网络等领域的常用的NoSQL。

在几年内,NoSQL数据库一直以性能、可扩展性、灵活的模式和分析能力聚焦着人们的注意力。尽管关系型数据库对于某些用例来说仍是一个不错的选择,就像结构数据和要求ACID事务的应用,但是NoSQL在以下用例中将更具优势:

  1. 存储的数据实质上是半结构化或者松散的。
  1. 要求一定的等级的性能和扩展性。
  1. 存取该数据的应用与最终的一致性相吻合。

非关系型数据库典型支持以下功能:

· 灵活的模式

· 无共享架构

· 分片作为数据存储模型的一部分

· 异步复制

· 使用BASE替代ACID事务

InfoQ英文网对当下经常使用的NoSQL数据库进行了盘点:

文档数据库

· MongoDB:开源、面向文档,也是当下最人气的NoSQL数据库。

· CounchDB:Apache CounchDB是一个使用JSON的文档数据库,使用Javascript做MapReduce查询,以及一个使用HTTP的API。

· Couchbase:NoSQL文档数据库基于JSON模型。

· RavenDB:RavenDB是一个基于.net语言的面向文档数据库。

·

· MarkLogic:MarkLogic NoSQL数据库用来存储基于XML和以文档为中心的信息,支持灵活的模式。

图数据库

· Neo4j: Neo4j是一个图数据库;支持ACID事务(原子性、独立性、持久性和一致性)

· InfiniteGraph:一个图数据库用来维持和遍历对象间的关系,支持分布式数据存储。

· AllegroGraph:AllegroGraph是结合使用了内存和磁盘,提供了高可扩展性,支持SPARQ、RDFS++和Prolog推理。

·

· 其他图数据库。

键值数据存储

· Riak:Riak是一个开源,分布式键值数据库,支持数据复制和容错。

· Redis:Redis是一个开源的键值存储。支持主从式复制、事务,Pub/Sub、Lua脚本,还支持给Key添加时限。

· Dynamo:Dynamo是一个键值分布式数据存储。它直接由亚马逊Dynamo数据库实现;在亚马逊S3产品中使用。

· Oracle NoSQL Database:来自Oracle的键值NoSQL数据库。它支持事务ACID(原子性、一致性、持久性和独立性)和JSON。

· Oracle NoSQL Database:具备数据备份和分布式键值存储系统。

· Voldemort:具备数据备份和分布式键值存储系统。

· Aerospike:Aerospike数据库是一个键值存储,支持混合内存架构,通过强一致性和可调一致性保证数据的完整性。

列存储数据库

· Cassandra:Cassandra是列存储数据库,支持跨数据中心的数据复制。它的数据模型提供列索引,log-structured修改,支持反规范化,实体化视图和嵌入超高速缓存。

· HBase:Apache Hbase源于Google的Bigtable,是一个开源、分布式、面向列存储的模型。在Hadoop和HDFS之上提供了像Bigtable一样的功能。

· Amazon SimpleDB:Amazon SimpleDB是一个非关系型数据存储,它卸下数据库管理的工作。开发者使用Web服务请求存储和查询数据项。

· Apache Accumulo:Apache Accumulo的有序的、分布式键值数据存储,基于Google的BigTable设计,建立在Apache Hadoop、Zookeeper和Thrift技术之上。

· Hypertable:Hypertable是一个开源、可扩展的数据库,模仿Bigtable,支持分片。

· Azure Tables:Windows Azure Table Storage Service为要求大量非结构化数据存储的应用提供NoSQL性能。表能够自动扩展到TB级别,能通过REST和Managed API访问。

· 其它列存储数据库。

内存数据网格

· Hazelcast:Hazelcast CE是一个开源数据分布平台,它允许开发者在数据库集群之上共享和分割数据。

· Oracle Coherence:Oracle的内存数据网格解决方案提供了常用数据的快速访问能力,一致性支持事务处理能力和数据的动态划分。

· Terracotta BigMemory:来自Terracotta的分布式内存管理解决方案。这项产品包括一个Ehcache界面、Terracotta管理控制台和BigMemory-Hadoop连接器。

· GemFire:Vmware vFabric GemFire是一个分布式数据管理平台,也是一个分布式的数据网格平台,支持内存数据管理、复制、划分、数据识别路由和连续查询。

· Infinispan:Infinispan是一个基于Java的开源键值NoSQL数据存储,和分布式数据节点平台,支持事务,peer-to-peer 及client/server 架构。

· GridGain:分布式、面向对象、基于内存、SQL+NoSQL键值数据库。支持ACID事务。

· GigaSpaces:GigaSpaces内存数据网格能够充当应用的记录系统,并支持各种各样的高速缓存场景。

时间: 2024-10-09 22:58:48

2013最常用的NoSQL数据库的相关文章

一篇文章详解NOsql数据库Redis

一图详解DB的分支产品osql数据库介绍 是一种非关系型数据库服务,它能解决常规数据库的并发能力,比如传统的数据库的IO与性能的瓶颈,同样它是关系型数据库的一个补充,有着比较好的高效率与高性能. 专注于key-value查询的redis.memcached.ttserver 解决以下问题: 1)对数据库的高并发读写需求2)大数据的高效存储和访问需求3)高可扩展性和高可用性的需求Nosql数据库的应用环境 1)数据模型比较简单2)需要灵活性更强的IT系统3)对数据库的性能要求较高4)不需要高度数据

常用NoSql数据库比较

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

[转载] nosql 数据库的分布式算法

原文: http://juliashine.com/distributed-algorithms-in-nosql-databases/ NoSQL数据库的分布式算法 On 2012年11月9日 in 也为稻粱故, by Juliashine 本文译自 Distributed Algorithms in NoSQL Databases 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性.这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去

用 Python 写一个 NoSQL 数据库

本文译自 What is a NoSQL Database? Learn By Writing One In Python. 完整的示例代码已经放到了 GitHub 上, 请 点击这里, 这仅是一个极简的 demo, 旨在动手了解概念. 如果对译文有任何的意见或建议,欢迎 提 issue 讨论, 批评指正. 后续如有更新,可见 博客 . NoSQL 这个词在近些年正变得随处可见. 但是到底 "NoSQL" 指的是什么? 它是如何并且为什么这么有用? 在本文, 我们将会通过纯 Pytho

nosql数据库MongoDB的用法

MongoDB常用命令 1.启动命令 mongod 启动数据库进程 --dbpath 制定数据库的目录 --port 制定数据库的端口,默认是27017 --bind_ip 绑定IP --directoryperdb 为每个db创建一个独立子目录 --logpath 制定日志存放目录 --logappend 指定日志生成方式(追加/覆盖) 例如:mongod --dbpath db --port 27098 --directoryperdb --logpath db\logs\mongodb.l

NoSQL数据库的分布式算法

转自:Distributed Algorithms in NoSQL Databases 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性.这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去.尽管NoSQL运动并没有给分布式数据处理带来根本性的技术变革,但是依然引发了铺天盖地的关于各种协议和算法的研究以及实践.正是通过这些尝试逐渐总结出了一些行之有效的数据库构建方法.在这篇文章里,我将针对NoSQL数据库的分布式特点进行一些系统化的描

Exchange 2013服务器常用的性能监视器

Exchange环境正式运行后,我们需要对Exchange环境的性能进行评估,确保当前服务器的各项性能均在正常范围内,这样才能保证服务正常运行.我们通常会去监控服务器的内存.CPU.磁盘I/O等信息.下面是我整理的Exchange 2013服务器常用的性能监控项目,以供参考. 目录 1 启动 Windows 性能监视器... 1 2 通用计数器... 1 2.1 Exchange 域控制器连接计数器... 1 2.2 处理器和进程计数器... 2 2.3 内存计数器... 2 2.4 .NET

HBase1.0分布式NoSQL数据库部署及使用

基于上篇Hadoop2.6集群部署博文:http://lizhenliang.blog.51cto.com/7876557/1661354 接下来部署HBase1.0分布式NoSQL数据库,HBase中涉及到HMaster和HRegionServer两个概念. (注:以下概念来着百度百科) HMaster主要负责Table和Region管理工作: 1. 管理用户对Table的增.删.改.查操作 2. 管理HRegionServer的负载均衡,调整Region分布 3. 在Region Split

NoSQL数据库的分布式模型

NoSQL数据库的分布式模型 单一服务器 在一个服务器完全能够胜任工作时就没必要考虑分布式,这样部署简单,维护也方便很多: 分片 特点 数据的各个部分存放在集群的不同服务器中: 比如按字母来划分:以a-g开头的键值都存放到第一台服务器上,以h-n开头的存放到第二台... 需要考虑的问题 如何存放数据,让用户基本上只需从一台服务器上获取数据 如果经常需要与多个结点交互才能取到需要数据,可能分片策略不合适,或者该场景中分片不是一个理想的方案: 数据节点的分布:地理位置与访问用户的关系 数据结点分布在