《企业数据中台建设方案.docx》由会员分享,可在线阅读,更多相关《企业数据中台建设方案.docx(13页珍藏版)》请在课桌文档上搜索。
1、企业数据中台建设方案采购人名称:项目名称:系艇目状:供应商名耻第一章数据中台必须具备4个核心能力11.1. 汇聚整合11.2. 提纯加工21.3. 服务可视化(数据资产服务化能力)2第二章全量数据采集22.1. 数据采集方式22.2. 全量数据库42.2.1. 全量数据库创建标准42.2.2. 数据可视化应用12数据中台是一套可持续“让企业的数据用起来”的机制,一种战略选择和组织形式,是依据企业特有的业务模式和组织架构,通过有形的产品和实施方法论支撑,构建一套持续不断把数据变成资产并服务于业务的机制。数据中台将采集企业的业务、设备相关数据,按照统一数据体系进行数据的建模和萃取,生成不同的数据域
2、,包含人员域、车辆域等多种数据域,通过企业的数据服务中心实现企业数据交换的统一管理、集中控制。通过统一的数据调用接口,供各个前端应用使用数据,形成数据环流,降低跨系统数据交换的复杂性,提高企业数据交换的及时性、准确性和完整性。第一章数据中台必须具备4个核心能力数据中台需要具备数据汇聚整合、数据提纯加工、数据服务可视化、数据价值变现4个核心能力,让企业员工、客户、伙伴能够方便地应用数据。1.1. 汇聚整合数据丰富和完善:多样的数据源进行合并和完善管理易用:可视化任务配置、丰富的监控管理功能数据集成运营:数据接入、转换、写入或缓存内部来源的各来源数据数据目录与治理:用户可以方便定位所需数据,理解数
3、据(技术/业务治理)数据安全:确保数据的访问权限数据可用:用户可简便、可扩展的访问异构数据,可用性和易用性高部署灵活:本地、公有云、私有云等多种署方式1.2. ,提纯加工完善的安全访问控制完善的数据质量保障体系规范的、紧密结合业务的可扩展的标签体系面向业务主题的资产平台智能的数据映射能力,简化数据资产生成1.3. 服务可视化(数据资产服务化能力)提供自然语言等人工智能服务提供丰富的数据分析功能提供友好的数据可视化服务便捷、快速的服务开发环境,方便业务人员开发数据应用提供实时流数据分析提供预测分析、机器学习等高级服务第二章全量数据采集对企业已实现的招商一体化平台、政策采编推茬平台、企业企业服务平
4、台、金融撮合服务平台、IoT物联网平台相关数据通过API对接、ETL采集等多种方式实现业务数据采集工作。2.1 .数据采集方式方式一:读备份库为了不影响业务系统的正常运行,可以采用读备份库的数据,这样能够及时获取数据进行一些分析工作,但是有些从业务也会读取备份数据库,还需要考虑一致性和可用性问题。方式二:埋点(PingbaCk)可以在前端APP上记录用户点击,滑动速度,停留时间,进入的时间段,最后看的新闻等等信息,这些可以通过网络传输将埋点信息记录下来,用于数据分析。但是这种方式有可能会对业务系统代码具有一定的侵入性,同时工作量也比较大,存在一定的安全隐患。方式三:发送消息的方式上述埋点的方式
5、在业务系统繁忙的情况下,会对数据采集系统产生大量的请求,如果数据处理不及时会把数据采集服务打垮,同时为了解耦,这里可以引入消息中间件,如果对时效性要求较高,可以采用推模式对数据采集系统进行推送,如果时效性不是很高,可以采用定时任务拉取数据,再进行分析。同时可以多个系统订阅消息中间件中不同Topic的数据,可以对数据进行重用,后端多个数据分析系统之间互不影响,减轻了从业务系统采集多份数据的压力。方式四:读取MySQL中的binlogMySQL会把数据的变更(插入和更新)保存在binlog中,需要在my.ini中配置开启,因此采用kafka订阅binlog,会将DB中需要的字段抓取出来,保存在备份
6、库中,进行数据分析,工作量较小,安全稳定。2.2 ,全量数据库在数据中台中实现对平台应用数据、企业数据、业务操作数据、设备数据、日志数据等,定义各维度与业务场景的数据存储全量库,实现全数据存储于输出,同时实现数据治理工作。创建中台应用数据、企业数据、业务操作数据、设备数据、日志数据等库表结构。2.2.1, 全量数据库创建标准1)命名规范a.总命名规范不得使用数据库保留关键字,以及php/java等常用语言的保留关键字,或者可能成为关键字的单词作为完整命名。(对于一些疑似关键字的单词,可以在后面加一个下划线来避免,例如“key)o如无特殊说明,名称必须用英文字母开头,采用有特征含义的单词或缩写,
7、单词中间用分割,且只能由英文字母、数字和下划线组成,不能用双引号包含。除数据库名称长度为1至8个字符,其余(包括表、字段、索引等)不超过30个字符,DatabaseIink名称也不要超过30个字符。(30并不是凭空想象出来的,而是参考了OraCle的限制)b.表名建议以2-3字项目名称为前缀开头,紧跟2-5个字符(英文字母或数字,但不得全是数字)的模块名,最后跟上当前表的含义的单词(1-3个单词,用下划线连接),例如:SQ_SYS_CAR,SQ是项目名称的缩写,SYS是模块名称的缩写,CAR表示当前表的具体含义。特别强调:项目名称和模块名用简写(建议长度为2-5个字符),而表含义的名称,可简写
8、、也可以不简写,但是都不能超过3个单词,例如下面两个反面例子: ABF_SUPERVISION_USER,问题:模块名称似乎比较长,建议控制在25个字符,缩写为ABF_SUPVjJSER; ABF_SYS_USER_MANAGE_ORG_ROLE,问题:除去前缀ABF_SYS_,表含义(USER_MANAGE_ORG_ROLE)超过了3个单词。2)字段名a.表的字段数不超过50个。b.类型:各表之间相同含义的字段,类型定义要完全相同(包括精度、默认值等);c.命名: 字段名无单词数的限制,但是名字的字符长度应该符合上面的“总命名规范”。 字段命名及其注释,要做到清楚、无歧义。3)主键名前缀为P
9、KH以PK_+表名+主键字段名构成。如果复合主键的构成字段较多,则只包含第一个字段。表名可以去掉前缀。例如PK_SYS_CARD。4)外键名前缀为FK_。以FK_+外键表名+主键表名+外键字段名构成。表名可以去掉前缀。例如FK_SYS_USR_SYS_CAR_IDO5)普通索引前缀为IDX”以IDX_+表名+索引字段名构成。如果复合索引的构成字段较多,则只包含第一个字段,并添加序号。表名可以去掉前缀。例如IDX_SYS_CAR_DINo6)主键索引前缀为IDX_PK_。以IDX_PK_+表名+索引字段名构成。表名可以去掉前缀。例如IDX_PK_SYS_CARD。7)唯一索引前缀为IDX_UK_
10、。以IDX_UK_+表名+索引字段名构成。表名可以去掉前缀。例如IDX_UK_SYS_CAR_DIN。8)外键索引前缀为IDX_FK_。以IDX_FK_+表名+外键字段名构成。表名可以去掉前缀。例如IDX_FK_SYS_CAR_IDO9)OraCIe序列前缀为SEQ_o以SEQ_+“序列业务名称”构成。如果“序列业务名称”就是某个表名,则使用表的全名,不可去掉前缀。例如SEQ_SQ_SYS_CAR。a.表设计规范采用UTF8字符集。对于数据量可能很大的表(超过2000万),采用分库/分表/分区表,横向拆分控制单表容量。必须为表、字段等添加注释。遵守数据的设计规范3NF规定。表内的每一个记录都只
11、能被表达一次。表内的每一个记录都应该被唯一的标识(有唯一键)。表内不应该存储依赖于其他键的非键信息。反范式化冗余字段使用规范考虑具体使用场景,当SQL关连查询比较频繁,或涉及到4张以上表时可考虑采用冗余字段。必须设置唯一主键,尽量使用自增id作为主键。建议主键为数字类型,且为递增顺序,主键不表示任何业务含义,严禁数据量大的表使用UUID/MD5作为主键。不使用数据库外键,由程序保证。MySQL:使用InnoDB存储引擎。数据库和表字符集类型统一(utf8mb4-UTF-8Unicode),排序规则统一(utf8mb4_unicode_ci);建表语句中强制指定字符集;自增字段类型必须是整型,使
12、用BlGlNT类型。并且自增字段必须是主键或者是主键的一部分。b.字段设计规范凡是可能被索引的字段,必须定义为NC)TNULL,可以设置default值;非负值的数字统一使用unsigned(无符号)类型存储?大对象字段:通常情况下,禁止使用LoB类型保存大文本、图片和文件,建议使用其他方式存储(例如文件系统,数据库只保存其地址信息)。MySQL:尽量不要使用TEXT数据类型,mysql的VarChar类型支持65535字节,满足大多数场景,仅当字符数特别大时,才考虑text类型;禁止使用enum,对于boolean类型或者表示简单状态的字段,MySQL用tinyint,Oracle用NUMB
13、ER(I)建议字段notnull,根据业务要求来设置默认值(例如默认为0)。对于boolean类型,以1代表是(true),0代表否(false)。对于状态类型,注释中应该注明每一种状态的含义,例如“0:编辑中,1:审核中,2:已完成”。数字、小数类型:对于数字、小数类型,不得使用VACHAR等字符串类型来保存,应该使用相应精度的数字、小数类型。尽量确保数值型列都有默认值对于Oracle,确定好Number的精度。对于MySQL,选好数字类型:TlNYlNTSMALLINTMEDIUMINTINTBIGINTDECIMAL(存储空间逐渐变大,而性能却逐渐变小),超过tinyint(256)但不
14、超过65536的使用Smallint;当该字段超过42亿时,才使用bigint;时间类型标准:对于OraCle,有两种时间类型:DATEftTIMESTAMP,DATE的精度只保存到秒,例如“201311-0211:16:36,而TIMESTAMP精度更高可以保存小数秒,u2013-ll-0311:16:36.000000。有时候,DATE只保存到秒,不足够区别出两个事件哪个先发生,这时建议使用TIMESTAMP类型。MySQL:存储年使用year类型,存储日期使用date类型,使用精确时间戳(精确到秒)尽量使用timestamp类型,因为timestamp使用4字节,datetime使用8字
15、节,它们的区别:TlMESTAMP值不能早于1970或晚于2037C1970-01-0100:00:01UTCto,2038-01-1903:14:07,UTC)。必须使用intunsigned存储IPV4;一些常见字段的命名统一为了规范命名,并结合一般命名习惯,指定如下几个字段定义(以OraCIe为例):ID编号NUMBER(22)(Integer)Create-By创建人NUMBER(22)(Integer)Create_Time创建时间TIMESTAMP-默认为系统当前时间Update_By修改人NUMBER(22)(Integer)Update_Time修改时间TlMESTAMP-默认
16、为系统当前时间其他参考命名:Code.编码VARCHAR2(30)1.evel,层级NUMBER(I或2)Delete-Status删除标志NUMBER(I)-1:表示已经删除,默认为0:表示未删除Description.描述或备注VARCHAR2(200)c.索引规范复合索引的字段数不能超过5个。单表的索引数量尽量控制在5个以内。联合索引的字段排列顺序以去重后字段的数值的个数大小排序先后顺序。比如表mk_task有id,name,id有50000个独立值,name有5000个独立值,那么,顺序是id在name前面,建立的索引是idx_id_name。Orderby、distinct、grou
17、pby后的字段尽量建立索引。update、delete的where尽量使用有索引的字段或主键。超过20字节的varchar字段建议用前缀索引,禁止对字符串长度超过50个字符的列创建索引。不建议在低基数列上创建索引,例如“性别”列;合理创建联合索引(避免冗余),(a,b,c)相当于(a)、(a、b)、(a、b、c)o长文本类型字段(例如TeXt)不能使用索引。d.其他问题主键ID建议使用分布式全局唯一递增IDo禁止使用存储过程、视图、事件、触发器、数据库自带的分区表。临时库、表名必须以“tmp_日期”为后缀,如当日创建多个,则在日期后增加数字后缀;备份库、表必须以“bak_日期”为后缀,如当日创
18、建多个,则在日期后增加数字后缀;主题数据库设计与分析设计企业企业服务主题、产业服务主题、综合安防主题三大主题,存储指定业务场景的主题业务数据库。基于三大主题数据,按照主题域实现数据分析与治理服务,并根据数据可视化应用的数据展示维度输出数据API服务。企业服务主题:主要包括租赁服务、招商服务、金融服务等内容。产业服务主题:主要是包括供应商对接、产业规划等。综合安防主题:主要包括安全监控、门禁卡、人员黑白名单、车辆黑白名单等。主题的输出标准我们通过RESTAPl标准进行设计提供开放数据REST全称是RepresentationalStateTransfer,中文意思是表述性状态转移(注:通常译为表
19、征性状态转移)。它首次出现在2000年RoyFielding的博士论文中,RoyFielding是HTTP规范的主要编写者之一。RoyFielding在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。”如果一个架构符合REST的约束条件和原则,我们就可以称之为RESTful架构。通俗地讲:RESTful就是客户端与服务器进行数据交互的一种规范,而且是当今绝大多数开发者都在遵循的规范。应用RESTful架构,可以想像成读者去图书馆找书,读者相当于客户端,图书
20、馆相当于服务器。不同种类的书籍,对应不同分类,且有固定的分类缩写。如编号以T开头的图书,表示工业技术类图书,编号以J开头的图书,表示艺术类图书。不管去哪一个图书馆,这些分类缩写都是相同的,任何一位读者只要知道图书种类,就可在标有相应分类缩写的书架区域找到相应书籍。RESTful就是Web开发行业的规范,符合这种规范,就是一套RESTful架构。2.2.2,数据可视化应用可视化作用是把数据内涵的信息用人类容易理解的方式展现出来。图表、图像、图形、地图、视频都可以作为展现形式。利用可视化技术,通过可视化大屏展现企业综合态势(包括停车、通行、能源、设备设施、告警等)、运营驾驶舱(包括招商、租赁、运营
21、、管理等统计数据)、指标对比(按营收、出租率、服务满意度、能耗、安防事件、效率、人均效率等指标来统计)。以移动端展示方式,为领导侧进行多维度数据采集、分析、汇总,生成,包括企业综合态势、运营数据指标、企业服务与政策服务数据等内容提供直观可视服务。主要使用的可视化技术方式包括echartd3three.js等,echart和d3适合做二维图表,如折线图、饼图等,three.js适合做三维场景展示。很多情况下,数据带有空间属性,可考虑图形和地图作为呈现毂体,这方面也有很多可用库,leaflet、Openlayerssmapbox.gl.js、cesium等,leaflet和openlayers适合二维地图和可视化,mapbox.gl.js和CeSiUm适合三维数据可视化。除此之外我们也可以使用一些BI和报表工具进行数据的可视化展示,通过可视化的方式进行数据统计分析。