天台科技:从发电机转向mysql和S3(天台发电机查询解决方案成本)

天台 将其数据存储成本减少80%以上 通过使用mysql和s3从"发电机"迁移到分层存储解决方案。
该公司考虑了不同的存储技术,决定将关系数据库和对象存储结合起来,以在可查询性和可伸缩性之间取得平衡,同时降低成本。

泽克利用事件流数据创建了持久性解决方案 发电机 为了储藏。
最初的设计运行良好,但解决方案越来越昂贵。
该团队转而采用一种有供应的账单模式,并降低了50%的成本,但随着客户群的增长和对账单的需求。
全球二级指数 为了支持新的查询模式,运行架构的成本变得不可持续。

由于Zen服务台正在运行其在aws上的平台,该团队正在寻找可满足功能和技术要求的替代存储解决方案,同时降低成本。
他们认为 S3 , 胡迪 (在天台使用的数据蛋糕), 弹性搜索 ,以及 Mysql 但是由于其复杂性和24小时的延迟和弹性搜索,而使用发电机的成本也是一样的。
最后,团队决定使用mysql来缓冲 阿帕奇卡夫卡 并存储元数据和S3,以每文件1万批的方式存储原始数据。

天台科技:从发电机转向mysql和S3(天台发电机查询解决方案成本) 汽修知识
(图片来自网络侵删)

摄入流涉及到将从卡夫卡消耗的日志数据存储到mysql中的缓冲表中。
每小时,一个背景工作会将新记录从缓冲表上传到S3,每批记录10000个日志,并插入每个S3文件的元数据记录。
另一个小时作业删除超过4小时的缓冲表日志。

要处理查询,新的解决方案需要在mysql元数据表中查找,然后是一组并行的 S3选择 查询查阅返回的文件。
尽管数据布局是为按时间顺序检索而优化的,但是团队在执行更复杂的查询时遇到了问题。

希恩·亨德尔 ,天台科技领导,解释了在新架构中灵活查询的挑战:

一旦我们完成了上述工作,当客户机希望通过时间戳以外的任何字段来筛选结果时,我们就会遇到性能问题。
例如,如果客户机想要一个特定的用户标识日志,那么最坏的情况是,我们必须在时间范围内扫描所有S3数据,以找到任何相关的日志,这使得很难确定并行的查询要做什么。

工程师们已经考虑在S3中复制数据来处理更多的可过滤字段,但是考虑到字段组合的数量,这种方法是不可行的。
最后,他们指望 布洛姆滤波器 ,并与 议会素描 数据结构共同提供了支持多场滤波器查询的有效方法。
改进后的解决方案需要一个额外的表存储序列化数据结构,用于确定要查询的S3文件。

迁移后,泽德台将存储成本降低到了供给发电机成本的20%以下,mysql(Auroradb)占到了90%以上,S3加上S3选择不到10%。
新的解决方案提供了大约200-500毫秒的查询延迟时间,其中一些尖峰变为秒,这个团队正在进一步优化。

联系我们

在线咨询:点击这里给我发消息