目前开源的NOSQL数据库有,Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable,
Riak,Tin, Flare,Lightcloud, KiokuDB,Scalaris,Kai,ThruDB等等。
一、满足极高读写性能需求的Kye-Value数据库:Redis,Tokyo Cabinet, Flare
高性能Key-Value数据库的主要特点就是具有极高的并发读写性能,Redis,Tokyo Cabinet, Flare,这3个Key-Value DB都是用C编写的,他们的性能都相当出色。
二、满足海量存储需求和访问的面向文档的数据库:MongoDB,CouchDB
三、满足高可扩展性和可用性的面向分布式计算的数据库:Cassandra,Voldemort
表一 主流NOSQL简单对比
参考:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis
Cassandra | Mongodb | CouchDB | Redis | Riak | HBase | |
开发语言 | JAVA | C++ | Erlang | C / C++ | Erlang/ C / JAVASCRIPT | JAVA |
特点 |
分布式与复制的权衡 根据列和键范围进行查询 BigTable类似的功能:列,列族 写比读快很多 |
主从复制 查询利用javascript表达式 比CouchDB更容易就地升级 内置Sharding 数据存储使用的是内存映射文件 数据库崩溃后需要对表进行修复 持久性更好 |
双向复制 主主复制(master-master replication) 冲突检测 多版本并发控制,写操作不会阻塞读取 通用的技术文档 只崩溃设计Crash-only 需要经常压缩 视图:嵌入式map/reduce 格式化视图:lists & shows 服务器端文档验证可行 身份验证可行 通过_changes实时更新 附件处理 |
内存数据库 主从复制 简单的Key-Value 操作符较为复杂,如 ZREVRANGEBYS CORE INCR & co (有利于速率限制和统计) 有集合 (union/diff/inter) 有列表 (a queue; blocking pop) 有散列(多字段对象) NoSQL中唯一处理交易的数据库 |
分布式与复制的权衡post-commit 和pre-commit hooks 安全性验证 内置的全文检索 Javascript或 Erlang Map/reduce |
分布式与复制的权衡 模仿BigTable Map/reduce Hadoop 利用服务器端扫描进行查询预测叠加并获取过滤 优化的实时查询 高性能Thrift网关 HTTP支持XML、Protobuf和二进制 Cascading、hive、 pig source和sink模块 基于Jruby的shell 无单点故障 类似MySQL的随机访问性能 |
证书 | Apache | Apache | Apache | BSD | Apache | Apache |
协议 | 自定义/Thrift | 自定义/BSON | HTTP/REST | Telnet-Like | HTTP/REST |
HTTP/REST/Thrift |
最佳适用 | 基于JAVA,写操作较多,读少 | 动态的查询,定义索引而非map/reduce。数据变化快,磁盘不够用,可以使用MongoDB | 有大量数据,但更新不大,需要预先定义查询 | 数据快速变化,数据库大小可以预见(适合内存存取数据) |
简单的类似Cassandra 或Dynamo的功能,较强的单点容错性和扩展性 |
随机数据、实时读取海量数据 |
应用场景 | 银行,金融行业。数据分析 |
MySQL或 PostgreSQL 的替代品 |
CRM、CMS系统 | 股价系统,数据分析,实时数据采集以及实时通信场景 | 销售点数据采集。工厂控制系统。需要零停机时间的场景 |
喜欢bigTable,需要随即、实时的读写大数据(Big Data) |
相关推荐
八种主流NoSQL数据库系统对比
Nosql6种主流Nosql数据库系统对比-天盾数据恢复中心 6种主流Nosql数据库系统对比-天盾数据恢复中心
本篇文章将对比几款主流的 NoSQL 数据库,首先关注的是 Apache HBase。 HBase 是一个分布式、列式存储的 NoSQL 数据库,它是在 Apache Hadoop 生态系统中的一个项目,其设计灵感来源于 Google 的 Bigtable 论文。...
本文将详细介绍八种主流NoSQL数据库系统——Cassandra、MongoDB、CouchDB、Redis、Riak、Membase、Neo4j和HBase,并对其特性进行比较。 #### 1. CouchDB - **语言**:Erlang - **特点**: - 数据一致性 - 易于...
本文旨在向用户介绍NoSQL这一主流技术,并对比分析各类NoSQL系统。 在当今大数据时代,许多组织收集大量的客户、科学、销售等数据以备后续分析。传统上,这些组织大多将结构化数据存储在关系型数据库中,便于访问和...
以下是对8种主流NoSQL数据库系统特性对比和最佳应用场景的详细说明: 1. **Cassandra**:由Facebook开发,后捐赠给Apache基金会,使用Erlang编写。Cassandra强调高可扩展性和容错性,适用于大规模分布式环境。它的...
通过对MySQL、Oracle和NoSQL数据库的对比,我们可以看到每种数据库都有其独特的优点和适用范围。MySQL适合中小型企业,Oracle适用于大型企业,而NoSQL则在大数据和分布式应用中展现出色表现。在实际选择中,需要根据...
NoSQL数据库,即非关系型数据库,因其对大规模数据和高并发读写操作的优异表现而迅速发展。分布式NoSQL系统,如BigTable、Cassandra、HBase等,因其抗单点故障能力和水平伸缩性特点,特别适合应对海量数据挑战。 ...
分布式数据库原理与应用课程主要探讨的是在大数据时代背景下,传统关系型数据库的局限性和NoSQL数据库的兴起。课程旨在让学生掌握NoSQL数据库系统的概念、结构、功能及其分类,理解其在大数据处理中的重要性。 首先...
课程可能会对比关系型数据库和NoSQL数据库,讲解各自的适用场景和优势。 9. **数据库应用开发**:可能会涉及如何在实际项目中使用数据库,如Web开发中的数据库连接、ORM(对象关系映射)技术、数据库驱动的设计模式...
7. **数据库发展趋势**:虽然2007年时NoSQL数据库尚未成为主流,但考生也应具备一定的前瞻性,了解NoSQL数据库的基本概念,如键值对存储、文档数据库、列族存储、图形数据库等,以及它们相较于传统RDBMS的优势和局限...
2. NoSQL 数据库:对比关系型数据库与 NoSQL 数据库,理解 NoSQL 的核心特性,如键值存储、列族、文档型和图形数据库。 八、数据库管理与监控 1. 日志管理:理解重做日志(Redo Log)和归档日志(Archive Log),...
12. **NoSQL数据库**:对比关系型数据库,介绍NoSQL的特点,如高扩展性、大数据处理和实时数据处理,以及MongoDB、Cassandra等NoSQL数据库的用例。 这份PPT教程对于学习数据库基础知识、提升数据库管理技能或是为...
1. **多数据库支持**:优秀的脚本生成工具应能支持多种主流数据库系统,如上述的MySQL、Oracle、SQL Server和PostgreSQL等,甚至包括NoSQL数据库如MongoDB和Cassandra。 2. **数据库模型设计**:这些工具通常提供...
1. **数据库连接**:支持多种数据库类型,包括关系型数据库(如MySQL、Oracle、PostgreSQL等)、NoSQL数据库(如MongoDB、Cassandra等)以及云数据库服务。 2. **数据可视化**:提供数据网格视图,方便查看和编辑...
10. **NoSQL数据库**:非关系型数据库的类型、特点和适用场景,如键值存储、列族数据库、文档数据库和图形数据库等。 通过这些历年试题的分析与解答,考生可以系统地复习数据库系统相关的知识点,加深对数据库设计...
本文将详细介绍MongoDB的基础知识,包括其产生的背景、特点以及与其他NoSQL数据库的对比。 MongoDB 的出现主要源于互联网的发展和数据需求的变化。传统的关系型数据库在面对高并发读写、海量数据存储、高可用性和...
本文主要探讨了两种主要的数据库类型:关系型数据库(Relational Database Management System,简称RDBMS)和非关系型数据库(NoSQL Database),并分析了它们的基本概念、主流产品、优缺点以及适用场景。...
例如,NoSQL数据库支持非结构化数据处理,物联网(IoT)中的实时数据库处理大量传感器数据,而人工智能和机器学习的兴起则推动了智能数据库和自适应数据库的发展。 总之,数据库系统作为数据管理的重要工具,通过其...