Atlassian公司的数据平台高级经理Rohan Dhupelia说,Atlassian一直是数据仓库式架构的倡导者。
该公司曾经运行过两个数据仓库。一个是PostgreSQL数据仓库,用于支持商业智能和公司的仪表盘需求,通常用于财务、支持和营销
第二个是用于研发的亚马逊红移数据仓库。
“正是在这里,我们从我们的产品中发布了所有的点击流数据,并使用笔记本和SQL分析来了解用户通过我们的产品的旅程和模式,”Dhupelia解释说,在2021年虚拟数据+人工智能峰会的主题演讲中,拥有两个数据湖并没有给Atlassian带来任何好处,因为它最终会给公司带来更多的问题。
“首先,我们注意到大量数据集通常被从一个数据仓库复制到另一个数据仓库。Dhupelia说:“这些拷贝很脆弱,常常会给下游管道和分析带来延迟。该公司遇到的其他问题包括注意到两个数据仓库之间存在不同的语法,这使得很难在两个数据仓库之间隐藏查询,同时,将两个数据仓库中的数据集中在一起,成本也越来越高。
“因此,很多分析都没有发生,因为工程税实在太高了,”Dhupelia说。当时公司重新评估了自己的架构,并选择用两个数据仓库换一个单一的S3数据湖架构。尽管这种转变带来了积极的结果,包括更少的“工程税”和无限扩展的能力,但data lake的性能并没有达到标准
“我们可以通过Presto获得相对较好的并发性,但较小的查询返回速度仍然不如数据仓库体系结构中的查询快。此外,为仪表盘和BI用例建模数据相当困难,”Dhupelia解释道。
这也意味着数据分析和科学用例的进入壁垒很高
“我们的数据平台团队正成为用户想要在平台上做任何高级事情的瓶颈,”Dhupelia说通常,用户必须要求我们添加它们来创建集群或向集群中添加特定的库。”
对于Dhupelia来说,解决方案是在环境中实现Databricks,他说这使公司更接近实现“涅盘状态”
“我们现在能够更快地执行查询,这部分归功于Databricks优化的运行时,也得益于将表转换为datalake格式所带来的优化。这意味着商业智能风格用例的体验得到了改善。”
在最近的Databricks-SQL测试之后,Atlassian计划在未来几个月将更多的商业智能工作负载转移到Databricks中
“我们还计划将更多的表移向数据湖,以进一步提高性能,同时简化需要强大维度建模的工作负载,”Dhupelia补充道。“我们正在寻找通过使用Immuta实现更敏感用例的方法,这是一个自助数据访问和隐私控制层,位于数据湖之上。
“在Atlassian,我们已经证明不再需要两个独立的数据对象。技术已经进步到足以让我们考虑一个统一的湖畔别墅建筑。”