zoukankan      html  css  js  c++  java
  • 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内存数据网格能够充当应用的记录系统,并支持各种各样的高速缓存场景。

  • 相关阅读:
    上下伸展的JS菜单
    [ZZ]Debug VBScript with Visual Studio
    面试总结之杂题
    [ZZ]9 Confusing Naming Conventions for Beginners
    Robocopy
    [ZZ]什么是Alpha,Beta,RC,RTM,CTP版
    使用位运算交换两个值,不用临时变量
    学习笔记之编程之美微软技术面试心得(一)
    C#中如何获取系统环境变量
    学习笔记之SQL教程 from W3School
  • 原文地址:https://www.cnblogs.com/gispathfinder/p/5769984.html
Copyright © 2011-2022 走看看