Amazon Redshift:本地数据仓库替代品

日期: 2013-05-29 作者:Dan Sullivan翻译:滕晓龙 来源:TechTarget中国 英文

Amazon Redshift是一个由Amazon网络服务(AWS)推出的数据仓库服务,尽管它可能会吸引一些用户,但是请注意它不同于企业内部版。作为企业内部数据仓库的一个替代产品,Redshift深得用户的青睐,特别是在用户了解了其鲜明的服务特色,并将其用于提升业务优势之后更是如此。   Amazon Redshift把数据仓库应用提升到了平台即服务(PaaS)产品的高度。这个数据仓库服务是基于PostgreSQL定制版的,这是一个具有其竞争对手商业关系型数据库管理系统所有功能的开源关系型数据库。

多年以来,关系型数据库一直都支持服务器集群,但是其早期版本是难以实施和管理的。   Redshif……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

Amazon Redshift是一个由Amazon网络服务(AWS)推出的数据仓库服务,尽管它可能会吸引一些用户,但是请注意它不同于企业内部版。作为企业内部数据仓库的一个替代产品,Redshift深得用户的青睐,特别是在用户了解了其鲜明的服务特色,并将其用于提升业务优势之后更是如此。

  Amazon Redshift把数据仓库应用提升到了平台即服务(PaaS)产品的高度。这个数据仓库服务是基于PostgreSQL定制版的,这是一个具有其竞争对手商业关系型数据库管理系统所有功能的开源关系型数据库。多年以来,关系型数据库一直都支持服务器集群,但是其早期版本是难以实施和管理的。

  Redshift旨在解决过去被强加给数据库管理员(DBA)数据库集群那令人沮丧、费时的挑战的。数据库管理员使用Amazon控制面板来创建最多达16个计算节点的集群,其中每个节点都配置有2TB或16TB的存储器。

Redshift用户可实现更低的存储成本

  Redshift是一个柱状的数据存储,因此当数据被存储在磁盘上时,它们是按列而不是按行进行排列的。这样就减少了当根据列选择数据时所需的输入输出操作数量,例如选择上月所有销售额大于10000单位的产品,它还允许实现更高效的数据压缩,从而最终实现用户存储成本的降低。

  与所有畅销商品一样,Amazon Redshift的价格也颇具吸引力,具体为1000美元每年每TB。不要感到惊讶,这有利于这款产品迅速占领市场。1000美元每年每TB的成本相当于在2TB节点上运行的预约价。如果你运行着一个小型数据仓库,那么你可能采用单节点的数据仓库。只有2TB的实例(即被称为dw.hs1.xlarge的服务器)适用于单节点配置;16TB的实例(dw.hs1.8xlarge)是为集群保留的。

  除了存储数据和执行查询的计算节点之外,你还需要一个群首节点。群首节点从客户端接收查询、制定运行计划、向计算节点发送查询并收集查询计算结果。Amazon只根据计算节点进行收费;群首节点是不收取费用的。

  定价是基于虚拟机规模的。2TB节点的请求定价为每小时0.85美元,而16TB节点的价格则为6.80美元每小时。目前,Amazon Redshift可供美国东部、美国西部和东欧(爱尔兰)等区域的用户使用。

  保留实例可以降低你的成本,但是用户从AWS直接购买需签订为期一年或三年的使用承诺书。用户也可以通过Amazon市场的另一个客户处购买。销售实例的客户自行定价,并确定市场上所提供机器实例的类型。

  由于Amazon Redshift刚刚问世,你可能还无法马上找到很多的数据仓库实例。另外,如果你能够总是在你的合同中销售所有未用和不必要的机时,那么你可能会决定购买一个保留实例。

  数据仓库节点的价格包括了计算节点上的存储成本以及用于备份应用Amazon简单存储服务(S3)上的等量存储资源。如果你在你的数据仓库中存储了超过存储量的数据,那么你会需要对超出的存储资源按标准S3价格支付费用。

通过Amazon Redshift进行数据维护

  Redshift的性能恰与其并行运行的能力一致。在集群中查询是跨节点分布的,因此每个节点都会完成整个工作量中的一小部分。不要因为跨节点的数据分布而错误估计了工作量。默认情况下,Redshift将使用Round-Robin算法来实现集群中跨所有节点的数据分发。如果你选择基于关键节点的数据分布,那么你应当仔细选择这个关键节点以避免在节点子集中的瓶颈。

  所有的数据库都需要一定程度的维护,而Redshift将会执行一些最常见的维护任务,其中包括执行备份操作和为软件打补丁等。数据库管理员们将仍然需要监控与数据库设计和数据负载相关的性能表现。RedShift通过在表中删除现有的列和添加新的列来执行更新操作。这将有助于提升运行性能,但也会导致存储碎片的出现和增多。数据库管理员需要定期运行VACUUM命令以便于回收未使用的存储空间。数据库管理员还需熟悉用于检查查询执行计划的ANALYZE命令,这是分析查询运行缓慢原因的一个关键技术。

  作者简介:Dan Sullivan,是一名拥有超过20年IT经验的作家、系统架构师和顾问。他致力于先进分析、系统架构、数据库设计、企业安全和业务智能等应用。他曾在多个行业中工作,其中包括金融服务、制造、医药、软件开发、政府、零售、教育等。Dan曾就多个主题撰写了大量文章,如数据仓库、与安全管理相关的云计算技术和先进分析、协作以及文本挖掘。

作者

Dan Sullivan
Dan Sullivan

Dan Sullivan是一名作家、系统架构师和顾问,拥有超过20年关于先进的分析、系统架构、数据库设计、企业安全、商业智能的IT从业经验。他的从业范围广泛,包括金融服务业、制造业、医药、软件开发、政府、零售、天然气和石油生产、发电、生命科学和教育。

相关推荐