WEB开发网
开发学院软件开发Java Java 开发 2.0: NoSQL 阅读

Java 开发 2.0: NoSQL

 2010-07-20 00:00:00 来源:WEB开发网   
核心提示:关系数据库已经统治数据存储 30 多年了,但是无模式(或 NoSQL)数据库的逐渐流行表明变化正在发生,Java 开发 2.0: NoSQL,尽管 RDBMS 为在传统的客户端 - 服务器架构中存储数据提供了一个坚实的基础,但它不能轻松地(或便宜地)扩展到多个节点,但是,如果您从域模型开始设计您的应用程序,在高度可伸缩

关系数据库已经统治数据存储 30 多年了,但是无模式(或 NoSQL)数据库的逐渐流行表明变化正在发生。尽管 RDBMS 为在传统的客户端 - 服务器架构中存储数据提供了一个坚实的基础,但它不能轻松地(或便宜地)扩展到多个节点。在高度可伸缩的 Web 应用程序(比如 Facebook 和 Twitter)的时代,这是一个非常不幸的弱点。

尽管关系数据库的早期替代方案(还记得面向对象的数据库吗?)不能解决真正紧急的问题,NoSQL 数据库(比如 Google 的 Bigtable 和 Amazon 的 SimpleDB)却作为对 Web 的高可伸缩性需求的直接响应而崛起。本质上,NoSQL 可能是一个杀手问题的杀手应用程序 —随着 Web 2.0 的演变,Web 应用程序开发人员可能会遇到更多,而不是更少这样的应用程序。

在这期 Java 开发 2.0 中,我将向您介绍无模式数据建模,这是经过关系思维模式训练的许多开发人员使用 NoSQL 的主要障碍。您将了解到,从一个域模型(而不是关系模型)入手是简化您的改变的关键。如果您使用 Bigtable(如我的示例所示),您可以借助 Gaelyk:Google App Engine 的一个轻量级框架扩展。

NoSQL:一种新的思维方式?

当开发人员谈论非关系或 NoSQL 数据库时,经常提到的第一件事是他们需要改变思维方式。我认为,那实际上取决于您的初始数据建模方法。如果您习惯通过首先建模数据库结构(即首先确定表及其关联关系)来设计应用程序,那么使用一个无模式数据存储(比如 Bigtable)来进行数据建模则需要您重新思考您的做事方式。但是,如果您从域模型开始设计您的应用程序,那么 Bigtable 的无模式结构将看起来更自然。

1 2 3 4 5 6  下一页

Tags:Java 开发 NoSQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接