当先锋百科网

首页 1 2 3 4 5 6 7

    由于工作的原因需要设计一下海量的服务器系统,传统的数据ACID不能那个满足需求了。上周末读了不少NoSQL文章,这里在总结一下。在UGC的海量服务时代,NoSQL技术大有可为。

    开发软件时如果有“记录”要存储,首先想到的可能是使用形形色色的“关系型数据库”,SQL SERVER 200X、MySql、DB2、Oracle、sqlite……使用这些数据库有个同样的问题,就是需要“SQL”。当然如果使用ORM,我们可能不需要写。不过现在有了另外一种数据库——他们不需要你写SQL。NoSQL 是非关系型数据存储的广义定义。它打破了长久以来关系型数据库与 ACID 理论大一统的局面。NoSQL 数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。该术语在 2009 年初得到了广泛认同。

       Jdon上面一篇关于NoSql的文章,看来业界先行者们都开始关注这个新的领域:NoSQL总结分类

       当今的应用体系结构需要数据存储在横向伸缩性上能够满足需求。而 NoSQL 存储就是为了实现这个需求。Google 的 BigTable AmazonDynamo 是非常成功的商业 NoSQL 实现。一些开源的 NoSQL 体系,如Facebook 的 Cassandra, Apache 的 HBase,也得到了广泛认同。

如果您刚接触 NoSQL,那有必要学习一些背景知识。下列资料是Kas Thomas,一位国外的技术分析师认为非常有价值的 NoSQL 相关必读资料:

Amazon Dynamo 论文。几乎所有懂 NoSQL 的人都阅读过它。

Google 的 Bigtable 论文。 也许您已经耳熟能详。

Werner Vogels 的 Eventually Consistent (发布于 ACM Queue)。如果您对最终一致性不是非常清晰,请阅读这篇文章。

Brewer 的 CAP 理论(可伸缩性的基础)在这里可以找到非常好的诠释。也可以看看 2000 7 月 PODC 上 Brewer的原始幻灯片

在 2009 年 6 月在 SFO 的 NoSQL 见面会的幻灯片。这些资料可以用经典的、关键的、将影响巨大的、值得纪念的来形容。

SQL Databases Don't Scale 是一篇简短、基础、直切问题的文章。除非您是一位在伸缩性问题上身经百战的数据库管理员,否则,这篇文章讲述的内容对于您可能是非常关键的。

Jonathan Ellis 的文章 NoSQL Ecosystem 以表格的方式对当今主流的分布式数据库做了比较。类似的比较还有 Quick Reference to Alternative data storages。Ellis 的文章除了表格对比外对于想了解 NoSQL 生态的人来说是非常值得一读的,该文章内涵丰富,短小精悍;而 Quick Reference to Alternative data storages 主要是表格,这些表格对比的内容又比 Ellis 的完整。

【相关国外资源】

http://nosql-databases.org/ 该站点的标语是:非关系型世界的终结向导!,该站点非常确信自己是:在互联网上拥有 NoSQL 相关链接最多的网站。总之,该网站值得关注。

另外,作为 NoSQL 极客(geeks),请 follow @nosqlupdate。另外,请 follow @al3xandruMyNoSQL blogNoSQL Week in Review 的创建者)。NoSQL Week in Review 比较新,希望能保持正常更新,因为它确实很棒!

当然,您还可以看看 Ricky Ho 最近的博文,他总结了一些分布式数据存储技术关键点。他的博文中有两篇非常值得一看的文章:Query Processing for NoSQL Databases,还有 NoSQL Design Patterns(《程序员》杂志有译文)。

Update:

Cassandra

这种存储方案是有Facebook开源的,被一些网站用来替代MySql + Memcached。

它的官方网站是:http://cassandra.apache.org/

一些关于 Cassandra 的资料:

http://www.ridgway.co.za/archive/2009/11/06/net-developers-guide-to-getting-started-with-cassandra.aspx

http://www.cnblogs.com/shanyou/archive/2010/02/25/1673781.html

http://blog.csdn.net/yangdelong/archive/2010/03/01/5334849.aspx

Cassandra是一个JAVA开源项目。

【相关国内资源】

Tim[后端技术]:分布式 Key Value Store 漫谈

CSDN 新闻频道豆瓣开源 Key Value 存储系统 BeansDB

robbin的自言自语NoSQL数据库探讨之一

J道 BanQCAP 原理和 BASE 思想

来源:NoSQL Required ReadingWikipedia - NoSQL

 

参考来源:

http://www.52live.com.cn/b/post/the-no-sql-database.aspx

http://www.yankay.com/wp-content/uploads/2010/02/NoSql%20Database%20Note/

http://www.chensj.cn/article/say-no-to-sql-nosql/