本文转自IBM的developerWorks,主题是关于使用NoSQL存储和处理大规模数据,文章列举了一些循序渐进的学习资料,包括了视频音频和文字材料,是一个很不错的了解、学习NoSQL的知识向导。
RDBMS 模型是传统 C/S 模式存储数据的重要基础,但是它无法实现以简单且低廉的方式进行扩展。而目前,更多的应用需求是像 Facebook 和 Twitter 一样需要拥有很强的可扩展性,所以,无模式的存储模型 – NoSQL 应运而生,提供了相应的解决方案。本学习路线图向 Java 开发人员介绍了 NoSQL 技术,以及 Apache Hadoop MapReduce 技术在处理大规模数据方面的优势。
1. NoSQL 入门
NoSQL 数据库被更多的人所关注是因为它在解决大规模数据的可扩展性上有它独到的解决方案。无模式的数据存储模型与传统的关系型数据库有着本质上的区别,但是它们并不像想象中那么难以使用。
2. 流行 NoSQL 数据库实用指南
现在,您已经对 NoSQL 有了一些基本的认识,是时候去认识一些目前流行的数据库了。学习针对 MongoDB、CouchDB、Amazon 的 SimpleDB 和 Google AppEngine 数据存储服务推出的实用指南。
- 阅读: MongoDB:拥有 RDBMS 特性的 NoSQL 数据存储
- 收听: Eliot Horowitz on MongoDB(英文)
- 观看: MongoDB video demo(英文)
- 阅读: 使用 Amazon SimpleDB 进行云存储
- 观看: Video demo: An introduction to Amazon SimpleDB
- 阅读: 通过 CouchDB 和 Groovy 的 RESTClient 实现 REST
- 收听: Aaron Miller and Nitin Borwankar on CouchDB and the CouchOne mobile platform(英文)
- 阅读: 使用 Bigtable、Blobstore 和 Google Storage 实现 GAE 存储
3. 使用 MapReduce 分析分布式数据
大规模数据解决方案中的一项重要技术就是 MapReduce,它是一个由 Google 提出的用于处理大规模、分布式数据集的编程模型以及实现。在这里了解 Apache Hadoop,一个 MapReduce 的开源实现,它在 IBM 的大规模数据解决方案中起到了重要的作用。