场景 : 入职一家新公司 ,要求做数据建设。怎么做
1 确认职责边界,确认职场定位
- 确认这个部门/岗位,是个什么定位 :承担数据分析,还是承担中台角色,还是数据处理汇总的角色。 一句话:这个坑是干什么活的。
- 确认输出主要对象: tob/toc,高管层,内部销售运营岗位,要确认用户人数,确认数据的使用场景。
- 例如面向管理层:主要是提供数据汇总,决策分析的,数据抽象程度较高。
- 内部销售运营岗位:主要是给各个运营或店长使用,要求数据粒度更细
- 给算法给分析做支持辅助的:特征开发,画像开发。
整个第二步的目的最终要确认:数据使用用户群体量(架构设计),一个数据使用场景(olap/oltp 等目标存储的选择),一个数据更新频率要求(数据计算框架的选择)
- 深入了解具体的业务场景。
- 对于数据准确性的敏感性问题:二阶段提交/幂等性。
- 业务复杂度/业务数据量 :来确定存储引擎使用。
- 确认公司运维:数据湖,自建/第三方云存储。
- 有没有超长周期数据。复杂业务。
2 确认建模
雪花/星型/维度建模。
雪花+维度建模。
主要还是对于业务的理解:
- 1 了解你得数据源:行为数据,业务数据。
行为数据: 埋点数据,交互数据。
业务数据:金融,订单,购物车,评价。
行为数据特点:数据量大,一套框架N种埋点数据,数据混杂,数量大,容易有脏数据,且没有前后操作关联。神策数据。
业务数据:规范严格,业务清晰。
确认完数据源:确认数据接入技术栈的选择,datax+python,canal 实时数据采集,flume采集日志。
确认数据冷热数据。
-
2 确认计算框架
数据湖
spark
flink
paimon fluss rocksdb tidb
-
3 调度工具选择
个人公司选择: 分布式/需要被调度种类多(海豚),数据量少+python(AZ),airflow 重型调度
-
4 展示存储。
对于数据有复杂查询场景,且时效性极高: ES
对于数据要求存储便宜,查询qps不高:doris
对于数据要求同shi兼顾oltp+olap:1 两个,汇总明细 分开存。 2 同时兼顾的:hologres