现代数据技术栈(Modern Data Stack)这个概念在国外已经红了1-2年了,具体描述可以参考老阎翻译的文章:现代数据技术栈:过去、现在和未来 - 知乎
目前所在公司由于使用了AWS国际服务,可以很方便的使用各种云服务和开源软件来实现这个现代数据技术栈包含的每个组件,并集成在一起使用。
考虑到国内软件环境的限制,比如访问国外的SAAS服务会比较慢,需要对技术栈里的每个组件重新挑选,尽量降低部署和使用成本。个别组件由于没有现成的服务可以使用,还需要对开源组件做额外开发来让彼此可以更好地集成在一起使用。
现代数据技术栈的框架设计如下:
现代数据技术栈框架
有了框架后,接下来需要对框架内的各个组件进行选型。
首先,需要确定的是数据仓库,目前三大云数据仓库服务,在国内可用的只有AWS Redshift,所以首选AWS Redshift,备选开源的Clickhouse。后面的组件选择以Redshift作为数据仓库为前提,Clickhouse作为数据仓库等日后详细调研后再补充。
其次,可以确定关系型数据库的集成工具,由于国内没有SAAS服务可用,这里选择开源的Airbyte,由于Airbyte的很多插件不适用于国内,所以需要简单定制一下,只保留需要用到的插件即可。
接下来,可以确定行为数据的集成工具,国内有一些相关的SAAS服务可用,但大多没有把数据同步到数据仓库的功能(待考察),所以选用开源的Snowplow和rudderstack,两者选择一个就可以了。如果企业没有埋点数据收集的需求,这个组件可以忽略。
然后,再确定一下BI工具,为了省钱,先选择开源的Superset。这里还有很多其他的开源工具可选,后面有时间再一一分析。
至于数据转换工具,目前只有dbt一家比较成熟,故选之。由于dbt cloud国内不适用,所以选择Airflow来作为任务调度工具。
最后是反向ETL工具,可以使用Airbyte或者用Airflow来定制。
选型结束后的框架设计变为:
最后总结如下,由于中小企业本身数据量不大,并不需要使用大数据工具(比如Hadoop和Spark等技术)来处理数据,为了降低使用门槛和节省成本,在国外,现在数据技术栈的概念深入人心,相关技术的发展也很快,促进了中小企业的数字化转型。在国内,由于相关SAAS服务的缺失,需要使用开源软件来弥补这个缺口,让现代数据技术栈被更多的中小企业所使用。后面会对每个组件和技术进行深入的分析和实践,还会分析其使用成本,搭建出适合国内中小企业的数据技术栈方案。
留言与评论(共有 0 条评论) “” |