今天继续来盘点现代数据技术栈中关于数据编排调度、BI等等相关产品的定价方式以及价格。
01
数据编排调度
在现代数据技术栈中,数据的使用从ETL逐渐向ELT转变。不过无论是ETL还是ELT,有一个重要的底层基础设施是必不可少的,那就是数据流的调度。数据从不同的数据源集成到数据湖/数据仓库中,需要定期进行数据同步。这个时候就需要数据接入到任务被定时调度执行。同样的,一些确定性的数据加工转换任务,比如日常报表需要的数据加工任务,也需要被定时调度。正是因为这个需求的产生,才有了在现代数据技术栈中非常关键的一个技术组成-数据编排调度引擎。数据编排调度的产品大部分都是开源产品,包括国外最常被提到的Airflow,Dagster,Prefect以及我们过年主导开源的DolphinScheduler,另外还有我自己曾经使用过的LinkedIn的Azkaban。由于我们现在主要是讲在现代数据技术栈中进行性价比的比对,因此主要考虑在公有云上提供服务的产品。今天就着重讲一下Airflow,Dagster和Prefect在公有云上的报价。
Airflow
Airflow是数据编排调度领域中最为出名的一个开源产品。在2014年开始在airbnb使用,2016年进入Apache孵化器,2019年成为Apache的顶级项目。
Airflow是用python实现的数据编排和调度引擎,目前已经被广泛的被不同的公司采用,而且在公有云上有不同的托管服务提供。这其中包括专门做Airflow商业化的Astronomer公司以及AWS, Google等等。
在Astronomer的官方网站上,我们找不到它的公有云版的定价,需要联系销售才能获得。不过在medium上,有文章专门写了Astronomer的云以及在Google托管的Cloud Composer和Amazon托管的airflow的价格对比。我这里就借花献佛的来总结一下。
在Astronomer的cloud上,用户可以选择不同的配置:

Astronomer的定价则跟现在很多现代数据技术栈公司一样,采用了自己的credit,叫做AU(Astronomer Unit)。AU可以映射到前面用户自己选择的内存、CPU的配置的花销。在2021年春天的时候,一个AU可以购买0.1个CPU和0.375G内存一个月,价格是10美元。比方说你想买一颗CPU,3.75G内存,那么就是100美元一个月。
Google作为Airflow的重度贡献者,在GCP也提供了Airflow的云服务版本,叫做Google Cloud Composer。Google Cloud Composer有两种计价方式,计价最小单元为10分钟。第一种计价方式根据Composer vcpu time, Composer SQL vcpu time,Composer data storage以及Composer network egree来进行收费。价格表如下:

第二种计价方式相对第一种方式更细致,表格如下:

采用第二种方式,可以实现自动伸缩。具体两种计价方式的映射关系,如下图:

AWS作为最大的公有云服务商,也提供Airflow的托管服务Amazon Managed Workflows for Apache Airflow(MWAA)。
MWAA的定价也是按照使用付费,计价的最小单元为小时。具体计费则分为环境实例费用、额外Worker实例费用、额外Scheduler实例费用和元数据存储费用。



其中环境费用和额外调度费用都是每月天数*24小时为总的计价数,而额外实例则根据执行的任务的总时长来计价。每个环境默认带一个scheduler和一个worker,因此只能同时调度一个任务执行。额外的调度器和并行任务就要购买额外的scheduler和worker。
我们可以看到Google的定价比AWS更细,而且计价单元也更小。从一些评价看,用户无论采用Google还是aws的airflow服务,使用起来都很容易。对于Astronomer来讲,这个团队是专门从事airflow的商业化的团队,因此应该更专业。而且Astronomer的产品应该可以跨云,可购买资源的粒度的也更细。不过Astronomer的管理配置相对更复杂,也更灵活,并且支持容器化。所以,如果一个团队对于Airflow了解不多,并且已经是GCP或者aws的用户,那么可以采用两个云厂商提供的服务,不用太多技术储备就能进行任务的调度。如果企业需要跨云,并且要比较灵活的任务调度管理,则可以选择Astronomer,毕竟是核心贡献团队提供支持。
Dagster
Dagster也是一个开源的数据编排调度引擎,同样也是python进行开发的。网上关于Dagster, Prefect, Airflow的比较的文章有不少。今天我们主要是对比价格,关于产品比较我会专门写一篇调度相关的文章来讲解。
Dagster虽然比airflow更晚出来,但是目前在官网上有完整的报价,价格单如下:

我们可以看到Dagster的标准版本有Hybrid和Servless两种价格。Hybrid方式客户被调度的代码执行在客户环境中,Dagster只负责调度。而Servless方式中,客户的代码会在Dagster环境中执行。两种方式的最小计价单位都是CPU分钟,计量单位是毫秒。在用量增加的时候,会有一定的折扣。
由于Dagster采用的是纯粹云原生的方式,因此计价的灵活性比较高,对于客户比较关心自己执行任务的安全性的场景中,客户可以选择仅仅让Dagster来调度自己的任务,但是具体到每个流程节点的代码执行,还是在自己的环境中。这无疑大大减轻了用户对数据泄露的担心。
Prefect
Prefect同样也是一个开源的数据编排和调度的引擎,也是Python实现的。Prefect的定价与其他的产品还是有相当大的不同,价格表如下:

我们可以看到,Prefect采用了Freemium的定价方式。Starter版本是免费的,如果小于3个用户,并且只有一个工作空间,那么可以免费使用prefect进行任务的编排和调度。被调度执行的任务的数量不限。Growth版本则是按照月收费,从1200美金一个月起,可以支持5个用户和3个工作空间。如果增加用户和工作空间,则额外收费。
从选择的角度看,如果一个团队需要一个相对稳定成熟的产品,那么可以选择Airflow来做调度。如果一个小团队,想一开始选择一个免费的调度方案,Prefect则是一个低成本的入门选择。而如果一个团队非常在意自己的代码和数据安全,那么选择Dagster的hybrid方式就比较合适了。
02
云端BI
曾经在大家心目中,数据项目基本约等同于BI。只不过随着数据技术和数据应用场景的发展,在现代数据技术栈中,云端BI则侧重在数据的报表和展现。发展到今天,敏捷BI的代表Tableau也已经有了公有云产品,而被Google收购的Looker也有不少的采纳。今天我们主要聊一下在现代数据栈中更新的几个产品Preset, Metabase, Sigma Computing的价格。
Preset
Preset是开源数据可视化项目Superset的商业化公司,在我过去的文章中提过这家公司。我们今天还是看定价,Preset的定价如下:

典型的freemium收费模式,起步版本免费,限制用户数和工作空间数量。对于小团队、个人来讲,免费版都足够了。专业版本则为22美金一个用户一个月,工作空间限制为3个。另外专业版增加了数据安全控制等等能力。可以看到,Preset基本上算是按照席位收费再叠加一定的功能数量收费的方式,属于典型SaaS收费模式。
Metabase
Metabase也是一个开源的数据可视化项目,也是基于公有云做商业化。收费计划如下:

我们可以看到与Preset不同,Metabase则采用了free trial的收费方式。用户开通免费试用,试用期满则不能再使用。最低的版本为starter版本,85美金一个月,可以有5个用户。高级版本则500美金一个月,有10个用户,增加了安全、高级嵌入、用户自定义logo,自己域名等等方式,可以理解为可以嵌入客户自己系统中的BI。
Sigma Computing
Sigma Computing是一家在云上利用表格做BI的公司,不同于前面两家,Sigma Computing是一家闭源的公司。而且Sigma在官网并没有公开报价,只有free trial,另外Sigma Computing与Snowflake关系密切,估计很多都是大型客户,属于典型的销售驱动的公司,对于普通中小企业来讲,应该不是高性价比的选择。
如果一个小型企业有BI报表的需求,preset应该是比较好的低成本选择。起步版本免费。如果一个企业已经有一定规模,则可以选择Metabase,因为Metabase支持把BI嵌入到客户自己的系统中。而如果一个企业比较有规模,而且希望数据分析能让自己不同的业务人员都能简单的操作,则可以联系Sigma Computing,因为Sigma Computing提供了基于表格的数据分析能力。
03
总结
我们通过三篇文章把从数据接入到报表展现相关的产品做了一些总结,侧重在价格方面的选择。现代数据技术栈让企业进入数据驱动的门槛显著降低,很多产品都是按照使用量来收费。但是在一个企业不同的时期、不同场景以及不同的人员配置,都应该根据自己的情况去做合理的选择。毕竟在当前经济下行的情况下,性价比对于一个企业进行产品选择来讲,都是必须要考虑的。




