云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

亚马逊云_华为云空间满了怎么删除_免费1年

小七 141 0

为什么最好将数据导出到红移频谱,而不是红移频谱

我是Mixpanel的软件工程师,负责我们的数据导出管道。我的重点是尽可能容易地将您在Mixpanel中收集的数据发送到您选择的目的地。几个月前,我们发布了一个连接器,它将数据从Mixpanel发送到Amazon Redshift Spectrum、googlebigquery、Snowflake、Google云存储和amazons3。从那时起,我们的客户告诉我们,这条管道帮助他们节省了时间和工程时间,并使他们的团队能够花更多的时间分析数据,而更少的时间准备数据。此管道将数据发送到红移频谱,这与红移不同。在这篇文章中,我将解释为什么我们选择红移光谱,以及为什么这会让你的生活更轻松。红移光谱到底是什么?只需使用Redshift将数据红移存储在集群中。将数据放入S3存储桶中,模式目录告诉Redshift什么是什么。模式目录只存储文件的位置、分区方式以及其中的内容。AWS目录服务是Glue。设置很简单,您的数据在S3中,Redshift集群包含一些其他数据。然后用胶水把它们粘在一起。现在您可以从Redshift查询数据,甚至可以将Redshift表与S3数据连接起来。由于这是一个多段设置,性能取决于多个因素,包括Redshift集群大小、文件格式、分区等。红移频谱意味着更便宜的数据存储、更简单的设置、更灵活的数据查询和存储可扩展性因为我们可以只写S3和Glue,不需要向客户发送更多访问请求。我们不关心有多少数据,我们只是以可靠和可预测的吞吐量写入S3。另外,最大的好处是我们不需要通过AWS iam和跨账户角色存储任何凭证。对顾客来说也更便宜。他们将为S3存储支付较低的费用,并且只需要在通过频谱读取数据时支付费用。在Glue中使用模式目录的另一个很好的副作用是,您可以使用不仅仅是红移频谱的数据。您可以使用Athena(Presto)查询数据,编写Glue ETL作业,从EMR和Spark访问格式化数据,并将数据与AWS生态系统中的许多其他SQL数据库连接起来。为什么我们一开始选择红移但让我们回到开头。当我们在2018年初开始构建数据仓库导出管道时,我们不得不选择第一个数据仓库来支持。亚马逊红移是显而易见的选择,主要有两个原因。首先,我以前在相当大的范围内使用过Redshift,并且对ETL过程和一些常见的优化最佳实践充满信心。其次,它是AWS的一部分,这就使得Redshift成为客户堆栈中的一个通用组件的理由更为有力。问题1:将数据复制到Redshift无法缩放当我们开始测试Redshift适配器的第一个版本时,问题就开始出现了。我为开发目的分配了一个小集群,并使用了创建表和发出COPY语句将数据加载到表中的基本方法。测试项目有大约300个事件,这意味着加载将创建300个表。缓慢的CREATE语句最终将获得模式上的锁,并变成连续的。它们后面是事务,以便将数据加载到每个表中,因为您不能复制到事务之外的表。这些都是由于一个空白集群而产生的问题。当更新已经保存Mixpanel数据的集群中的数据时,问题会变得更糟。问题2:使用过多的数据进行清空会导致数据循环死亡关于吸尘器的简短说明。当数据量很大时,抽真空是不可预测的。例如,真空所需的时间可能比预期的长,这可能会在所有夜间批处理都试图将数据加载到集群中的几个小时内使集群窒息。因此,所有这些负载也需要相当长的时间才能完成。想象一下,一次出口后的真空会持续到下一次出口开始。除非暂停导出或跳过一些真空,否则它将启动一个永远不会结束的循环,这将导致数据丢失或由于未排序的数据而导致查询缓慢。好吧,跳过太多真空,你就有机会得到一个可以持续这么长时间的巨型真空,你将开始在谷歌上搜索如何监控,调试,甚至取消一个真空红移。这本身是一个痛苦的过程,因为集群中存储了大量的数据。问题3:这需要大量的协调这让我开始思考。我应该对WLM进行微调以给数据加载器用户更多的资源吗?或者优化流程以减少几秒钟的加载时间?但是,我越想越明显,设计一个适用于每个客户的红移出口流程将是非常具有挑战性的。相信另一家公司的数据是有局限性的。他们很可能会为提供者创建一个数据加载器用户,并将一组IP白名单给他们以连接到目标集群。此时,对于Redshift,他们信任(或确保)您安全地存储凭据。但这总会引发更多的问题,比如:你能配置你的WLM给Mixpanel用户更多的资源吗?你的群集对于你的数据来说太小了,你能调整大小吗?(调整Redshift集群的大小是其自身的故事。)在我把数据写入你的仓库之前,你能确定没有其他东西在运行吗?你运行VACCUMs的时候我们能协调一下吗?我可以做一个深拷贝吗?列表还在继续,但有时在第一个问题之后,谈话就陷入了死胡同。我们是如何确定红移光谱的在试图为我们的测试数据找到合适的集群大小的过程中,我们安排了一个客户呼叫Redshift export。这个客户在AWS方面有很多专业知识,并且拥有一个精明的数据团队,他们使用了平台中最新和最好的技术。他们两次把他们的个人资料放进他们的档案室。在通话中,他们询问了如何在S3中写入数据,并从Redshift查询数据。最初,我假设他们希望在S3导出后立即接管这个过程,并自己管理Redshift副本。但一旦他们清楚的知道他们想要输出红移光谱,我看到了光明!但是如果我真的想要我的数据在红移呢?好吧,也许我们还没说服你。如果你真的想要你的数据在红移或你的数据湖,你仍然可以使用我们的数据管道。如果您有模式并且您的数据在S3中,那么您可以>按照这些方向将数据加载到Redshift中。或者,如果你用Mixpanel启用了glue,或者使用crawler,你可以使用这些方向。这两种方法都很容易做到。注册数据仓库导出数据仓库导出可按付费计划提供给客户,并提供30天免费试用期,其中包括每日计划导出和一天回填。请与您的客户成功经理、关系经理或客户主管联系以开始使用,或立即开始使用试用版。目前我们支持这些数据仓库:雪花、Amazon Redshift Spectrum和Google BigQuery以及这些云存储平台:Google云存储和Amazon S3。没有看到您选择的目的地吗?我们很想听到你的消息!联系我们数据仓库导出+feedback@mixpanel.com告诉我们。或者,如果你想为成千上万的科技公司解决这些问题,我们正在招聘!