为什么 Dropbox 选择 Apache Superset 作为他们的数据探索平台


正文开始之前,
想要快速体验 Apache Superset 的,建议试试我开发的 Apache Superset 开箱即用版本(关注公众号回复 superset),有兴趣了解如何开发(或者 Windows 下如何快速安装)的,可以访问Apache Superset 开箱即用开发笔记。
以下正文:
今天(2021 年 1 月 19 日),Apache 软件基金会宣布[1]Apache Superset 为其官方顶级项目之一。Apache Superset 是一个现代化的开源数据探索和可视化平台,已在 Airbnb、American Express、Lyft、Nielsen、Rakuten Viki、Twitter 和 Udemy 等公司使用。
早期我(这里指本文作者,下同)在 Airbnb 的 Apache Superset 上工作。当我在 2018 年底来到 Dropbox 时,我必须继续将其作为一个副项目进行研究。最终,该公司认为对于我们的内部需求来说,将我们的全部注意力集中在将 Apache Superset 作为我们的数据探索平台是非常重要的。自 2020 年初以来,我们一直在生产中使用它,并扩大其使用范围,直到它成为我们的主要数据探索工具。
不过,我们(指 Dropbox,下同)选择的 Apache Superset 并不是一成不变的。我将解释我们考虑过哪些替代方案,以及我们为什么选择 Superset。当然,我认为这很棒,但是为了您自己的目的,选择能够解决您遇到的最重要的实际问题的工具很重要。
我们开始遇到的问题
正如我们规模的许多公司所做的那样,我们构建了许多内部工具来帮助工程师、分析师和业务利益相关者满足他们的分析需求。曾几何时,我们拥有 10 多种不同的数据可视化解决方案,以便:
监控和确保正常运行时间
根据需要执行迁移
在系统之间传输数据
确保正确的访问控制
数据治理
引导用户进入这些系统
提供按需用户支持
2019 年底,我们决定整合我们的数据探索工具并推出单一解决方案。对于我们的需求,它需要能够:
以最小的代价将SQL 查询转换为图表
为临时分析启用快速数据探索,而无需先设计数据集
允许用户创建可以与他人共享的图表和仪表板
通过可定制的宏鼓励重复使用查询
使用我们集中式数据存储中的数据(S3 数据之上的 Hive 和 Presto 集群)
评估数据探索工具
我们的大多数仪表板和数据可视化需求可分为三类:
业务分析:探索和调查过去的业务表现,以获得洞察力、识别趋势、评估想法和实验以及把握机会。
运营分析:调查我们的运营系统,尤其是软件系统(软件可靠性、趋势、调试等)。
重复性任务的自动化:作为一家数据驱动的公司,对报告自动化有很多需求——监控系统健康、审查团队指标、衡量 OKR 等。
为了获得正确的工具,我们按重要性降序排列了以下功能的优先级:
安全性:数据可视化工具可以访问敏感数据。我们首先需要确保可以对数据访问进行管理和审核,并且我们遵循 Dropbox 安全团队的最佳实践。
用户友好性:浅显的学习曲线、良好的文档和良好的支持是我们在考虑安全因素之后的首要任务,这样就可以快速地从数据中生成见解。历史上,陡峭的学习曲线一直是我们部署的任何数据可视化或仪表板工具的主要采用障碍之一。
可维护性:最大限度地降低系统的维护成本,这分为两个关键因素:
最终用户应将维护其图表和仪表板的开销降至最低。
数据平台团队应该能够确保对该工具及其开发的持续支持。
灵活性和可扩展性:无缝集成到数据基础设施工具的生态系统和对未来需求的适应性是一个优势,但对我们来说不如用户友好性和可维护性重要。
虽然数据处理和数据可视化对我们的业务至关重要,但它们既不是我们的核心竞争力,也不是竞争优势。构建一流的工具需要大量的长期投资,并且已被证明是一项具有挑战性的任务。
我们的总体理念是尽可能购买满足我们需求的解决方案,或者利用开源计划。仅当前两个选项都不可行时,我们才会在内部构建工具。
考虑到所有这些,我们创建了一个我们在数据探索工具中寻找的属性列表:
优先购买的溶液或利用开源的,而不是构建
最大限度地减少覆盖我们内部用例所需的解决方案数量
优化以简化迭代和仪表板创建
鼓励数据质量方面的正确行为和ETL 最佳实践[2]
在可视化和数据处理之间保持清晰的界限
尽可能接近真相的来源
将计算委托给数据库引擎
最小化构建图表所需的中间层或配置的数量
为什么我们选择 Superset
如下表所示,没有一种选择是万能的。他们都有独特的优势。Periscope[3](最近更名为 Sisense)允许拖放界面并与任何 git 服务器一起使用。Mode[4]对主题和跨主题搜索的实现令人印象深刻。Redash[5]有警报,而 Superset 才刚刚开始开发,另外还有一些其他解决方案中没有的用户活动日志。Metabase[6]也值得考虑,但我们在 Dropbox 中排除了它,因为它是用Clojure [7]编写的,它既没有在 Dropbox 工程内部采用,也没有得到我们当前基础设施的支持。
对我们来说,Superset 提供了对我们的内部用户很重要的能力,他们希望在不编写 SQL 的情况下获得答案,并且需要最少的时间和精力来创建可视化。创建跨团队共享的可重用虚拟表列和指标的能力对他们来说是一个很大的优势。访问控制列表粒度帮助我们满足了 Dropbox 的高安全期望,简化了数据访问和跨团队共享,并最大限度地减少了支持和管理工作。Superset 用于创建图表的 API 为一些内部工具提供支持,并在构建自定义可视化时节省了工程时间。对于忙碌的人来说,在日常使用中,进度条比您意识到的更有帮助。
简而言之,我们选择了 Apache Superset ,因为它最符合我们特定的内部需求。我们已准备好在任何需要的地方投入工程努力来缩小差距。
我们还很高兴为 Superset 项目贡献了以下功能:
警报改进[8]
SCHEMA 权限模型[9]
Slack 整合[10]
Presto[11]和Hive[12]支持
还有更多![13]
作为我们决策过程的一部分,我们创建了这个表格,其中列出了主要竞争者的关键属性。我们很乐意分享它以帮助您做出自己的决定。

img
在此处[14]查看或下载完整尺寸的比较矩阵。
结果
在我们押注 Superset 六个月后,Dropbox 显然取得了巨大成功。Superset 在整个组织中得到了快速而强大的采用,现在是我们数据仓库的主要数据探索工具。它帮助许多团队改进了他们的工作流程——以至于他们同意被引用:
它改变了我们的游戏规则。与之前的流程相比,它的代价要小得多,并且可以轻松添加新指标。我们将能够更深入地了解同步引擎的各个方面的工作方式,这将有助于我们及早发现问题并将其对客户的影响降至最低。——核心同步团队
Superset 很棒,查询速度惊人!对于我们的传统工具来说,这是一次重大升级,并且仪表板更容易构建。 —产品分析
他们的赞誉由 Superset 在 Dropbox 推出后的每周平均用户数图表量化:

超集采用数据图形
Superset 每周平均用户趋势(顶部)、总体用户和创建的内容(底部)
为您自己最大的问题选择最佳解决方案
我为我们用 Superset 构建的东西感到自豪,但在致力于平台之前,您应该研究并决定自己的优先事项。在我们的案例中,用户友好性比灵活性和可扩展性更重要。Apache Superset 在易于用户采用方面对我们而言脱颖而出,但其灵活性足以满足我们的需求。
我们很幸运地生活在市场上有许多出色的解决方案可以为您的组织提供强大的数据探索功能的时代。我们希望这篇文章能帮助您做出最好的决定。
作者:Bogdan Kyryliuk
原文:Why we chose Apache Superset as our data exploration platform[15]
参考资料
[1]
宣布: https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces70[2]
ETL 最佳实践: https://www.sas.com/en_us/insights/data-management/what-is-etl.html[3]
Periscope: https://www.sisense.com/product/data-teams/[4]
Mode: https://mode.com/[5]
Redash: https://redash.io/[6]
Metabase: https://github.com/metabase/metabase[7]
Clojure : https://medium.com/@metabase/why-we-picked-clojure-448bf759dc83[8]
警报改进: https://github.com/apache/superset/pulls?q=is%3Apr+is%3Aclosed+author%3AJasonD28[9]
SCHEMA 权限模型: https://github.com/apache/superset/pull/8219[10]
Slack 整合: https://github.com/apache/superset/pull/9810[11]
Presto: https://github.com/apache/superset/pull/10498[12]
Hive: https://github.com/apache/superset/pull/10498[13]
还有更多!: https://github.com/apache/superset/pulls?q=is%3Apr+is%3Aclosed+author%3Abkyryliuk[14]
在此处: https://dropbox.tech/cms/content/dam/dropbox/tech-blog/en-us/2021/01/superset/Data-Visualization-Platform-Comparison-Matrix-Final.pdf[15]
Why we chose Apache Superset as our data exploration platform: https://dropbox.tech/application/why-we-chose-apache-superset-as-our-data-exploration-platform
到顶部