云计算平台S3,Ec2,Simple Db

简介: 自从Amason推出SimpleDB,基于key-value键值对的分布式数据存储系统受到了广泛关注,类似的系统还有Apache的CouchDB,以及最近重磅推出的Google App Engine的基于BigTable的Datastore API等,毫无疑问,分布式数据存储系统提供了更好的横向扩展能力,是未来的发展方向。

自从Amason推出SimpleDB,基于key-value键值对的分布式数据存储系统受到了广泛关注,类似的系统还有ApacheCouchDB,以及最近重磅推出的Google App Engine的基于BigTableDatastore API等,毫无疑问,分布式数据存储系统提供了更好的横向扩展能力,是未来的发展方向。但是现阶段,对比传统的RDBMS,也还有一定的差距和不足。Ryan Park撰文指出了SimpleDB的10大不足之处:

1.数据完整性无法保证

类似SimpleDB的分布式数据存储系统目前还无法实现和RDBMS一样严格的完整性约束,例如唯一性约束和外键约束等,所以数据的完整性需要在应用中来实现。

2.数据一致性无法保证,将导致非常糟糕的用户体验

SimpleDB做写入操作做了优化,调用API时只需要写入数据到一台SimpleDB服务器即返回写入成功的信息,随后数据会被分布复制到更多的SimpleDB服务器上,而在分布完成之前无法查询到最新的数据。所以需要在应用中来处理这种查询延时导致的数据一致性问题。

3.数据聚合将需要更多的额外编码实现

SimpleDB没有实现诸如join,group by,sum/average,sort等,这些操作都需要在应用中来实现。

4.复杂查询和即席查询更难实现

SQL标准已经出现很多年,数据库引擎对于一些复杂的SQL查询做了足够多的优化。SimpleDB对于过于复杂的查询和条件不定的Ad hoc查询没有提供特别的支持,所以SimpleDB还不太适合数据仓库等OLAP应用。

5.数据聚合操作性能比RDBMS差

RDBMS引擎对于join,group by等聚合操作做了很多优化,优化器可以提供根据不同的情况使用诸如hash join,nested loop join等方式来实现。自己在应用中实现这些操作可能效率会不如成熟的RDBMS。当然,这一点有些牵强,在应用中实现有可能更坏也有可能更好,从分布式趋势来看,数据库将倾向于做越来越简单的数据存储,计算更多的应该交给前面的应用服务器来完成。

6.数据的导入导出,备份等操作更慢更繁琐

RDBMS提供了很多成熟的数据迁移和备份工具,这一点刚刚出世的SimpleDB等自然有不足,但这不是问题,只要有需求和时间,就会有工具。

7.SimpleDB并没有想象中的快

Todd Hoff在一篇文章中的数据:从SimpleDB的1000条记录的表中读取10条记录需要141ms,从100000条记录中读取10条记录需要266ms,而从1000000记录中读取10条需要433ms,这比RDBMS明显要慢很多。当然,对于分布式系统,数据量越大才能体现出优势。在小数据量的情况下,集中式比分布式肯定更有优势。

8.RDBMS也可以良好的可扩展性

列举了一些RDBMS的成功应用案例,如Facebook和Livejournal使用MySQL,myspace使用MS SQL Server,Salesforge.com使用Oracle。通过良好的应用设计、数据的垂直分割和水平分割、主从复制和群集等技术,传统的RDBMS也能实现不错的可扩展性,支撑大型的网站系统毫无问题。

9.超级可扩展性是一种过度设计

技术应该以适用为原则,过度设计是一种巨大的浪费。

10.SimpleDB非常有用,但也要用在合适的场合

SimpleDB并不是为了替代OLTP数据库而生的,它的key-value存储结构更加适用于处理半结构化的数据。好的产品也要用的合适的地方才能扬长避短。

目录
相关文章
|
7月前
|
存储 人工智能 大数据
云计算平台:AWS、Azure和Google Cloud的比较与选择
在当今数字化时代,云计算平台成为了企业和个人的首选。本文将重点比较三大主流云计算平台:AWS、Azure和Google Cloud,从性能、功能、可用性以及定价等方面进行综合评估,帮助读者更好地选择适合自己需求的云计算平台。
|
1月前
|
存储 人工智能 数据库
通义灵码与云计算平台的融合:基础与概述
在数字化时代,云计算已成为企业和开发者构建应用的核心基石,其高可用性、可扩展性和成本效益等优势重塑了IT架构。通义灵码作为先进的人工智能代码生成工具,能将自然语言转换为高质量代码,大幅提高开发效率。本文将探讨通义灵码与云计算平台的融合,开启开发新纪元。
通义灵码与云计算平台的融合:基础与概述
|
6月前
|
监控 Cloud Native 持续交付
构建未来:云原生技术驱动的云计算平台
【5月更文挑战第52天】 随着数字化转型的不断深化,企业对于敏捷性、可扩展性和成本效益的需求日益增长。本文探讨了如何通过采纳云原生技术来构建和优化云计算平台,以支持不断变化的业务需求。文章首先概述了云原生技术的核心概念及其优势,随后详细分析了在设计云平台时应考虑的关键要素,并通过案例研究展示了云原生实践在实际中的应用效果。最后,文章提出了面向未来的云平台发展趋势和挑战。
|
1月前
|
Kubernetes Cloud Native 云计算
深度挖掘:云计算平台在数字化转型中的核心作用
【10月更文挑战第29天】作为一名技术博主,我深入探讨了云计算平台在数字化转型中的核心作用。本文分析了云计算的弹性、可扩展性和高可用性如何帮助企业快速适应市场变化,降低成本并提高效率。同时,文章介绍了云计算在创新加速、业务连续性和灾难恢复方面的优势,并通过实际案例展示了其在企业数字化转型中的应用。
83 0
|
7月前
|
边缘计算 Cloud Native 安全
未来云计算平台的发展趋势与挑战
随着数字化时代的到来,云计算作为一种关键的信息技术基础设施正在发挥着越来越重要的作用。本文将探讨未来云计算平台的发展趋势与面临的挑战,分析在日益复杂多变的技术环境下,云原生技术的应用将如何推动云计算平台迈向新的高度。
|
5月前
|
存储 安全 数据库
阿里巴巴的云计算平台有哪些服务?
【7月更文挑战第1天】阿里巴巴的云计算平台有哪些服务?
584 57
|
4月前
|
存储 Linux 云计算
OpenStack云计算平台搭建
OpenStack 是一个开源的云平台管理项目,通过多个核心组件实现公有云、私有云和混合云的构建与管理。自2010年由NASA和Rackspace联合发起以来,已有众多企业和个人参与开发。OpenStack 简化了云部署流程,支持计算、存储和网络资源的高效管理,并兼容多种虚拟化技术和容器。最新版本为Xena,广泛应用于各行各业,如思科、英特尔等公司。
478 0
|
5月前
|
运维 安全 云计算
未来云计算平台的关键技术与发展趋势
随着信息技术的快速发展,云计算作为一种高效、灵活的计算模式,正成为各行业信息化的关键支撑。本文探讨了未来云计算平台的关键技术和发展趋势,包括容器化技术、微服务架构、多云混合部署等,旨在揭示这些技术如何推动企业数字化转型和创新发展。 【7月更文挑战第8天】
229 2
|
6月前
|
存储 安全 定位技术
云计算在远程办公与协作平台中的应用与挑战是一个热门话题。
云计算在远程办公与协作平台中的应用与挑战是一个热门话题。
61 1
|
6月前
|
存储 运维 搜索推荐
云计算平台在在线教育领域的应用探索
云计算平台在在线教育领域的应用探索
144 0