本文摘自PHP中文网,作者藏色散人,侵删。
现在,NoSQL 数据库变得越来越流行,我在这里总结出了一些非常棒的、免费且开源的 NoSQL 数据库。在这些数据库中,MongoDB 独占鳌头,拥有相当大的使用量。这些免费且开源的 NoSQL 数据库具有很好的可伸缩性与灵活性,非常适合于大数据存储与处理。相较于传统的关系型数据库,这些 NoSQL 数据库在性能上具有很大的优势。然而,这些 NoSQL 数据库未必最适合你。大多数常见的应用仍然可以使用传统的关系型数据库进行开发。NoSQL 数据库依然不太适合于那些任务关键型的事务要求。我对这些数据库进行了一些简单介绍,下面就来看看。
1. MongoDB
MongoDB 是个面向文档的数据库,使用 JSON 风格的数据格式。它非常适合于网站的数据存储、内容管理与缓存应用,并且通过配置可以实现复制与高可用性功能。
MongoDB 具有很强的可伸缩性,性能表现优异。它使用 C++ 编写,基于文档存储。此外,MongoDB 还支持全文检索、跨 WAN 与 LAN 的高可用性、易于实现的复制、水平扩展、基于文档的丰富查询、在数据处理与聚合等方面具有很强的灵活性。
2. Cassandra
这是个 Apache 软件基金会的项目,Cassandra 是个分布式数据库,支持分散的数据存储,可以实现容错以及无单点故障等。换句话说,“Cassandra 非常适合于那些无法忍受数据丢失的应用”。
3. CouchDB
这也是 Apache 软件基金会的一个项目,CouchDB 是另一个面向文档的数据库,以 JSON 格式存储数据。它兼容于 ACID,像 MongoDB 一样,CouchDB 也可以用于存储网站的数据与内容,以及提供缓存等。你可以通过 JavaScript 在 CouchDB 上运行 MapReduce 查询。此外,CouchDB 还提供了一个非常方便的基于 Web 的管理控制台。它非常适合于 Web 应用。
4. Hypertable
Hypertable 模仿的是 Google 的 BigTable 数据库系统。Hypertable 的创建者将“成为高可用、PB 规模的数据库开源标准”作为 Hypertable 的目标。换言之,Hypertable 的设计目标是跨越多个廉价的服务器可靠地存储大量数据。
5. Redis
这是个开源、高级的键值存储。由于在键中使用了 hash、set、string、sorted set 及 list,因此 Redis 也称作数据结构服务器。这个系统可以帮助你执行原子操作,比如说增加 hash 中的值、集合的交集运算、字符串拼接、差集与并集等。Redis 通过内存中的数据集实现了高性能。此外,该数据库还兼容于大多数编程语言。
相关阅读 >>
更多相关阅读请进入《nosql》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。