披萨即服务:亚马逊如何迁移到Redshift



嗨,我叫Victoria,我负责CROC Cloud Services的市场营销。 现在,我们定期托管云mitap。 最近,我得到了现在在亚马逊工作的Dmitry Anoshin的最酷表现,我想分享一下。

我有一种强烈的感觉,大型商业公司决定收集它们可能到达的世界上所有可能的数据。 一方面,这转化为高级分析,增加的销售和产品的吸引力。 另一方面,数据变得如此大胆而全面,以至于关于带有CD-ROM的卡车的笑话早已司空见惯。

让我们看看为什么您可能需要迁移到云,以及亚马逊从将内部基础架构迁移到Redshift和NoSQL DynamoDB的收获。 让我们分析SMP和MPP,ETL和ELT概念之间的区别,并尝试了解为什么大数据需要云。

好吧,如果您知道最近几年该行业正在发生的事情,那么请立即浏览特定案例。 切入下,我准备了性能要点的摘要。

每个灯泡的遥测




大型公司在用户周围形成集成生态系统的趋势非常明显。 也就是说,您醒了,去刷牙,同时又在多媒体镜子中浏览新闻。 Alexa专栏包含早晨的鼓舞人心的音乐,让人想起今天的会议。 在这里,您可以通过送货上门订购新鲜咖啡,因为旧咖啡已经用完了。 您上了车,然后又是与汽车多媒体系统集成在一起并继续在路上行驶的Alexa。 加上智能手环,耳机,手机中的应用程序以及数千种其他信息源。

同时,这是一个令人恐惧的未来,四面八方正在迅速发展,试图为公司的最终消费者创造更多价值。 您必须同意这很酷,例如,根据Amazon Key In-Car计划,您所购买的商品将直接送到停车场的汽车后备箱中。 我现在住在加拿大,这种融合使生活更加舒适。 对于公司而言,这在销售目标,需求预测,物流优化等方面也是非常有价值的数据。 双赢。

一个问题。 正如我已经说过的那样,强烈的感觉是,公司经常收集过大的数据,以期将来将其货币化。 这些是TB。 实际上,数TB的结构不良的信息会不断流入公司的服务器,从而吞噬网络,计算和存储资源。 这就是为什么优化利用资源并确保计算速度如此重要的原因。 而且,您还需要为业务分析师提供一个正常的界面,该界面不需要他们具有构建云基础架构的专业知识。 因此,许多大公司已经走向乌云密布。

没有云




云技术几乎成了所有人的流行语。 不,毫无疑问,他在公司的财务报表和官方演示中看起来都很扎实。 然而,从总体上看,这些服务器都是位于世界各地数据中心的老式服务器。 但是,云计算不仅需要便捷的虚拟化控制台。 云的主要特征是对资源的完全动态管理及其在必要时的自动扩展:

  • 计算。
  • 储存。
  • 网络资源和传输。
  • 数据库。

当拥有这样的基础架构时,您将更加充分地利用您的资源,在大规模业务案例中,这可以节省大量资金。

对于小型公司,这种方法也可能非常有吸引力。 想象一下,您打算明年为基础设施购买新的熨斗。 同时,您很难预测确切的负载,负载可能会因许多因素而异。 例如,由于在Habré上的成功发布,您的产品突然变得大受欢迎,大量客户涌入您的行列,并且由于您没有计划高峰负载而大失所望。 当您高估需求,购买过多的容量并最终获得闲置的设备时,情况可能会发生逆转,这实际上会从公司的营业额中剔除急需的资金。 仅仅依靠购买铁的能力几乎总是一个非常惰性的过程,并且在快速变化的市场中,它肯定会失去适应性。

特定或完全迁移到云适用于这种情况,它可以作为一种电容器来平滑峰值功耗尖峰。 甚至完全为您提供基础架构。

云的类型




实际上,根据其业务模型,公司通常会提出构建云系统的三种形式之一。 小型企业通常使用公共云,并节省适当的专家,专注于其产品。 大型公司本身类似于许多由共同目标和品牌联系起来的独立公司。 因此,他们经常建立私有云,以实现最佳的资源利用。 Part使用混合模型,该模型允许您在本地处理特别敏感的,受法律保护的数据,并将次要任务传输到外部云。 披萨服务:



我一直很喜欢这个插图,它很好地说明了您公司的基础结构任务委托给供应商的程度。

传统的“内部部署”选项是去买食物,预热烤箱并自己煮比萨。 太好了! 但是您需要拥有所有的设备,配料等。

IaaS是基础架构租赁选项。 您租用了所有设备的厨房,带来了产品并煮了一个很棒的比萨。 受过专门训练的人会用脂肪洗烤箱,而您不必担心刀子和其他小物件的锋利程度。

PaaS是一种平台即服务。 除了裸露的基础架构,该服务还为您提供了一些其他好处。 例如,Amazon Redshift-作为数据仓库,它使您可以节省DBA并专注于产品。 在我们的披萨示例中,例如可以是一种现成的成型面团,该面团只能解冻,撒上芳香酱,撒上蘑菇,嫩培根片和帕尔玛干酪。

最终选择是SaaS。 在这种情况下,您将在建立业务的基础上获得最优质的产品。 例如,基于其他人的公共平台来运行博客。 在我们的示例中,这将是在家中订购现成披萨的最昂贵但最简单的选择。

卡车数据。 雪车


“零”年代有一个古老的胡须轶事:“一个卡车司机团队能够在一夜之间从敖德萨向基辅运送100,000张CD。 因此,它们在不使用昂贵电缆的情况下,在500多公里的距离上达到了每秒2.43 TB的数据传输速率。”



当时只是个玩笑。 但是,随着每部手机,音频,视频和其他遥测的连续不断的照片流的现代化,它变得完全不可模仿,并成为一个实际的问题。 当您没有直接租用的厚光纤链路到数据中心时,将大量数据移动到云中可能是一个巨大的问题。 诸如Amazon的Snowball之类的服务可为您提供帮助。


它们为您带来了如此残酷的保护套,里面装有50 TB的高速磁盘和10 Gb网络接口。 然后,将其直接连接到商店,并以最大速度合并所有数据。 万一发生盗窃或其他麻烦,数据只会以加密形式离开服务器机房。 这种情况下有一个TPM模块,并且使用AWS Key Management Service(KMS)管理加密密钥。 加密密钥不存储在设备本身上。


在特别高级的情况下,您可以致电Snowball Truck-一个容量为100 PB的移动数据中心。 当数据规模接近EB时,典型的10 Gb连接将需要26年的数据传输时间。 这样的白色卡车将能够拖放数据六个月。

亚马逊从Oracle迁移到Redshift



我们有什么

我会告诉您一些我在亚马逊工作过的案例。 亚马逊等主要交易平台的工作非常艰辛-Prime Days。 这些是黑色星​​期五销售和圣诞节销售的高峰。 在这一点上,服务器在负载下融化,仓库里装满了装载机,而物流在连续不断的货物流下窒息。 从销售的角度来看,这是非常重要的时间,而且每隔一小时的停机时间或无法获得服务就会造成巨大的损失。

问题来自Oracle DB。 数据库只是简单地停止导出如此数量的同时查询,从而遇到扩展问题。 该网站几乎是在客户的猛烈冲击下发展起来的,数据库在扩展方面成为一个问题。

经过仔细的分析,他们得出的结论是,传统的SQL数据库不适合用作如此庞大的交易平台的后端。 另外,就许可证和支持而言,Oracle的价格也非常昂贵。 结果,决定迁移到基于Redshift和NoSQL DynamoDB的云平台。

DynamoDB是一项内部开发,具有数据中心之间的同步复制功能,并且是一种非常有效的机制,可以减少数据冗余,从而可以大大节省存储空间。 Auto Scaling是一个非常重要的功能-动态数据库缩放以用于所需的数据量。 还与Hadoop进行了高度集成。

传统数据库的主要问题是什么?



问题在于,Oracle的旧版本引用了SMP体系结构,该体系仅涉及垂直扩展。 也就是说,您有一台功能强大的计算机,具有一定的内存,一堆快速存储空间,并且所有请求都以一种或另一种方式流向它。 这是一个经典的Oracle模型,专注于交付功能强大的独立服务器。 同时,该公司并不特别相信云,并且并行计算也不被认为是有前途的解决方案。 而且我们需要MPP-一种并行体系结构,该体系结构可让您为许多单独的计算机弄脏请求并更快地处理数据。

还有另一个要点-ETL与ELT的方法将数据输入数据库。

ETL-提取->转换-​​>加载。 也就是说,我们首先要从源头接收数据,仔细构造它们,然后再将其填充到我们的仓库中。 ELT方法涉及将原始嘈杂数据填充到存储中,并且处理已经在其一边。 原则上,RedShift支持这两种方法,但是ETL具有一个优势:对过滤后的数据的访问更快,更易于操作。 尽管同时将更多资源用于原始信息的初始分析。 还有一个不明显的时刻。 ETL通过在敏感信息到达通用存储库之前对其进行预先过滤来降低欧洲法律中GDPR的风险。 这降低了未经授权访问数据的风险。 新架构中用于主要数据处理的主要工具是Matillion。 那里已经有一个不错的GUI,它是高度可配置的,并且已经提供了针对Amazon RedShift定制的选项。 多亏了他,事实证明降低了入境门槛。 现在,产品经理可以在没有我们数据工程师帮助的情况下,以可视化设计器的形式配置传入的数据流。



结果,我们获得了所需峰值负载的灵活性,缩放比例和平滑度。 例如,他们能够解决每天获取50 GB Web服务器日志以预测访客行为的问题。



我们还引入了Tableau,它使我们能够从Excel中连接不良的表切换到单个仪表板,从而便于管理。

而且,以防万一:商店里有一个Oracle OLTP(后端),Oracle DW是一个分析数据仓库。 该项目针对这两个方面,但是我在专门谈论Oracle DW! 也就是说,给出的图和描述是本地的,它们仅与Amazon团队有关。 Tableau也是如此。 当我说“我们已经实施了记分板”时,我指的是本地项目,因为在亚马逊,一切都分为团队,每个人都选择要做的事情以及实施和使用的事情。

尽管云层周围有些不健康的炒作,但云层已经成为当前现实。 最有可能的是,大多数业务项目都将以某种方式围绕此类基础架构进行构建。 是的,也许不是每个公司都会有这样的解决方案。 但是,现在值得为进一步的发展进行规划,否则,将难以快速响应迅速变化的市场参数和激烈的竞争。

如果有人对云分析和现代解决方案感兴趣, 请访问此处 。 我在那里放了有用的内容。

来参加我们的会议




CROC Cloud Services已经通过了出色的演讲者的一系列演讲,例如,一个混搭话题是生活中对AWS服务的实际使用。 明年我们计划了更多活动,我们将详细讨论它们。 跟踪事件。

Source: https://habr.com/ru/post/zh-CN481836/


All Articles