加载中…

加载中...

个人资料
人月神话
人月神话 新浪个人认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:4,757,653
  • 关注人气:6,006
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

数据即服务(DaaS)-云的数据结构-转载

(2012-03-25 16:16:22)
标签:

daas

数据即服务

it

分类: 转载文章
内存数据网格(In-memory Data Grid)

内存数据网格并不是新技术,已经出现一段时间了。随着应用程序不断成长,需要适应快速增加的数据以及满足增加更为快速的预期和要求,内存数据网格被用于大型或任务重大的应用程序中,以此缓解 RDBMS 系统的工作量。你可以会将数据网格的这种应用成为分布式缓存(distributed cache)——逐渐过时的 RDBMS 系统中附带的一个pacemaker工具。51CTO.com曾在《2010年数据库市场展望》一文中重点强调过内存数据库应用将在今年广泛流行。

但是,即使使用这种技术仍然不足以解决问题,因为RDBMS 仍会成为的最大的障碍,尤其在具备真正灵活性的云式部署中,在这种部署中,为了能够在任一时刻能够最高效地处理荷载,将按需增加或减少虚拟接节点(virtual node)。正是在这里,NoSQL 出现了。

NoSQL 的世界

目前,NoSQL 这一用语与它所宣传的数据组织方式一样,都是未明确定义和非结构化的。NoSQL 背后的整体理念是非结构化的、灵活性的数据。高可用性、高扩展性,还有最重要的:分布式的。正如 Eric Breawer 的 CAP 原理中所述,在大多数 NoSQL 系统中,为了获得如此高的可用性,一致性被弱化,这样做的结果是所谓的“最终一致性”(Eventual Consistency)。在过去几年里,也许你已经听说一些比较知名的相关实施,比如Google 的BigTable 和Apache Hadoop。确切来讲,这些实现提高了实际扩展性的门槛并制定了NoSQL标准。但是,当前NoSQL 项目的增加所有带来的超级前缘的解决方案正慢慢地让开发者变得无忧无虑。

但是这些解决方案已经足够了吗?在很多情况下,NoSQL 是非常有用的,但大多数基于磁盘的 NoSQL 系统关注的焦点是大容量和处理量而不是低延迟的快速访问。NoSQL 数据和内存数据网格的交叉地带还存在一个“子物种”,这个方案能够快速、地延迟低访问内存数据。这类系统包括 Amazon 的Dynamo和开源项目 Voldemort 和Infinispan。

数据云:DaaS

现在我们来看看另一个被过度宣传并被赋予过多意义的词汇:云计算。无论是公共还是私人应用,在可扩展、易用性和高度硬件利用率的特种领域,云计算一直很受欢迎。这些特殊要求已经由架构(IaaS)和平台(PaaS)服务实现。这种方式也可应用于数据存储。设想以独立于平台方式连接到一个服务,用于存储和检索数据,与传统的 RDBMS 连接没有太多不同。不过,现在你无需了解或担心存储数据所用的系统类型,而且获得低延迟、高扩性和高可用性的保证。对于任何云部署,为了同时获得灵活的、按需定制的架构和中间件,这种存储系统的虚拟化都是必须的。另外,具备灵活性、低延迟、分布性等理想特征的技术也能够为这种虚拟化提供帮助。通常这会设计到多种 NoSQL 解决方案。即使只用于内部的私人云应用,这样的解决方案将需要具备多租户(multi-tenancy)、计量(metering)和状态监控等功能。为了能够将数据从不同的应用中隔离开来,多租户是必需的,也许还会用某些形式的名空间(namespacing)。计量对于正确地分摊运行该服务的共用成本是至关重要的。为了实现计量需要记录占用的 CPU 周期、消耗的磁盘和内存空间,甚至还会包括宽带的占用量。

Amazon 公司提供了一个这样的服务,称为 SimpleDB。Google 的 AppEngine 提供访问 BigTable 的 DataStore API 接口。但是,除了这两款产品,当前这一市场还是一片空白。出露头家的云服务提供商(或者未云服务提供商提供软件的销售商)应该认真对待这种数据服务,确保它成为其产品的一部分。

对于应用程序开发者,这意味着什么?

所幸的是,大多数人不再像过于那样多地域数据库进行互动。ORM 工具,如 Hibernate(一种 JPA 标准的实现)已经在 RDBMS 上添加了一个抽象层。我期待使用这类 ORM 工具的插件能够让 RDBMS 更为容易地转换为灵活性的云存储服务。其中一个是刚刚推出的 SimpleJPA 项目,它提供构建在 Amazon SimpleDB 之上的 JPA 功能;另一个是 Infinispa 即将推出的 JPA 接口。虽然更多作为 DaaS 的插件将出现,但我不认为这些工具是万能灵药,能够现实真正的透明迁移。我认为开发者仍然需要对应用程序数据进行长期认证地思考,理解存储方式的内在原因。在我们设计的数据模型中,某些 RDBMS 特有的假设总是时隐时现,这是因为 RDBMS 技术已经根深蒂固地融入了我们有关数据的思维之中。当我们转而思考非 RDBMS 存储时,这些东西常常称为阻碍或者减低效率。

0

阅读 收藏 转载 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有