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曾就多个主题撰写了大量文章,如数据仓库、与安全管理相关的云计算技术和先进分析、协作以及文本挖掘。