毫末数据中台建设
作者:毫末科技
邮箱:hxg@haomo-studio.com
微信二维码:
1 建设目标
为了提高公司服务器资源利用率,并提高公司数据资源管理能力,公司决定建设内部的数据中台应用。
本系统建设方案主要达到以下几个目标:
- 建立公司的数据湖,提供数据的集中式管理、分析及取用;
- 借该方案机会,建立公司的数据中台建设解决方案,对外输出;
- 在数据中台建设的基础上,提高公司的数字化管理能力;
2 建设内容
- 采集和存储数据。将尽可能多的有用数据存放在数据湖中,为后续的数据分析和业务迭代做准备。一般来说,这里的"有用数据"就是指能够提高业务还原度的数据。
- 对数据仓库的支持。数据湖可以看作数据仓库的主要数据来源。业务用户需要高性能的数据湖来对PB级数据运行复杂的SQL查询,以返回复杂的分析输出。
- 数据探索、发现、共享和分析。允许高效、自由、基于数据湖的数据探索、发现和共享。在很多情况下,数据工程师和数据分析师需要运行SQL查询来分析海量数据湖数据。诸如Hive、Presto、Impala之类的工具使用数据目录来构建友好的SQL逻辑架构,以查询存储在选定格式文件中的基础数据。这允许直接在数据文件中查询结构化和非结构化数据。
- 机器学习。数据科学家通常需要对庞大的数据集运行机器学习算法以进行预测。数据湖提供对企业范围数据的访问,以便于用户通过探索和挖掘数据来获取业务洞见。
2.1 数据采集
公司的数据主要来源于以下几大方面:
- 现有的各内部信息系统的数据库
- 历史及当前所有外包项目的数据库
- 第三方平台的数据。例如企查查招投标的数据。以Web Service方式提供
- 公司各网盘文件,如百度云盘、钉钉云盘
2.2 数据存储
公司的数据,按照使用频率划分为以下三类:
- 热数据(OLTP)。用来日常运转需求的数据库。主要包括公司各内部信息系统、执行中外包项目数据库。
- 分析数据(OLAP)。用来做运营分析的数据库。主要包括:内部信息系统历史数据、外包项目历史数据、第三方平台采集数据。
- 冷备份数据。主要用来做备份用的数据库。
为满足公司各类数据存储的需求,按照使用类型,公司数据库分为以下几大类:
- HDFS:一般用来存储日志数据和作为通用文件系统。
- Hive:一般用来存储ODS和导入的关系型数据。
- 键-值存储(Key-value Store):例如Cassandra、HBase、ClickHouse等,适合对性能和可扩展性有要求的加载和查询场景,如物联网、用户推荐和个性化引擎等。
- 文档数据库(Document Store):例如MongoDB、Couchbase等,适合对数据存储有扩展性要求的场景,如处理游戏账号、票务及实时天气警报等。
- 图数据库(Graph Store):例如Neo4j、JanusGraph等,用于在处理大型数据集时建立数据关系并提供快速查询,如进行相关商品的推荐和促销,建立社交图谱以增强内容个性化等。
- 对象存储(Object Store):例如Ceph、Amazon S3等,适合更新变动较少的对象文件数据、没有目录结构的文件和不能直接打开或修改的文件,如图片存储、视频存储等。
以上每种类型的数据库,根据使用频率可以实际生成三套库。