作者:禅与计算机程序设计艺术
1.简介
数据治理和合规性是企业完成价值交付的两个重要环节。作为一个软件架构师、CTO或高级技术专家,掌握数据治理和合规性技能,对于实现高效、可靠、准确的数据基础设施建设至关重要。本文旨在分享一些数据治理与合规性相关的经验、方法论、工具以及技术,帮助读者能够更好地理解和运用数据治理与合规性的手段和方式。首先,我想先明确一下两个概念。什么是数据治理?什么是合规性?
数据治理
数据治理就是建立、维护、保护和管理企业的所有数据资产,包括结构化数据、非结构化数据、半结构化数据等;通过对数据的生命周期进行管理、数据分类及描述、数据分类与访问控制、数据备份与恢复、数据分析、数据报告、数据安全性管理、数据异构性处理等,提升企业数据的价值、精细化程度和完整性,从而使企业持续发展、成长并提高竞争力。数据治理包括数据治理计划、数据治理标准和流程、数据质量保证体系、数据治理能力建设、数据治理组织结构、数据主管部门、信息技术部门之间的沟通协调以及法律要求的遵从、监督检查和反馈机制等。
合规性
合规性是指组织实施其业务规则、制定法律、规范政策、执行法律法规所需要的业务、生产活动、人员和物资,避免违背法律法规规定的义务、权利和责任,从而不损害社会公共利益和道德风尚的一种制度。合规性从法律上、法规上、政府立场上都要规范企业的业务、财务、人事等方面的活动,符合法律、法规、行业、道德规范要求,依据合同约定履行业务。只有企业存在合规性,才能顺利通过各种审核、检测和评估过程。
数据治理与合规性的区别
两者之间的区别主要在于目标的不同。数据治理的目的是为了提升企业数据的价值、精细化程度和完整性,确保数据安全、敏感信息、个人隐私等数据得到有效保护。合规性的目标则是保持企业业务规则的正确执行、依法纳税、维护社会公平正义和道德风尚。但是,两者之间也有很多重叠和联系。比如,合规性也是数据治理的一部分,因为任何公司的成功离不开对业务合规性的高度关注,因此,合规性建设是数据治理成功的必要条件。
2.背景介绍
作为一个软件架构师、CTO或高级技术专家,经历过许多项目开发、部署、测试、运维等环节后,我觉得自己对数据治理和合规性有了一定的了解。在我的工作中,一般都会面临以下几类数据问题:
(1)数据问题
- 数据量大,导致分析、计算、存储等操作耗时长,难以快速响应;
- 数据的呈现形式存在不一致性,导致数据处理、分析、可视化等任务困难;
- 数据质量差,缺乏数据的完整性、准确性、时效性,导致分析结果偏差大、不可信;
- 数据备份不全,数据丢失、错误、泄露,导致数据可用性受影响。
(2)系统问题
- 系统架构设计不合理,导致应用系统功能不匹配、性能瓶颈,无法满足业务需求;
- 缺乏统一的权限管理机制,导致资源分配不合理,无法支撑业务持续发展;
- 漏洞攻击频发,暴露了系统安全漏洞,导致信息泄露、系统瘫痪等严重后果;
- 服务变慢、卡顿,用户体验差,导致业务推广受阻,甚至导致亏损。
(3)法律问题
- 违反了企业的合法权益,损害了合同关系、企业声誉、商誉;
- 存在信息泄露风险,可能引起举报或行政处罚;
- 存在知识产权侵权行为,损害了组织的声誉、利润和市场地位;
- 拒绝提供敏感信息、出版物,侵犯他人的合法权益。 随着企业规模的扩大、业务的多样化、应用场景的复杂化,以上三种类型的问题会逐渐累积。如何解决这些问题,就成为我们必须解决的核心课题。如果不能解决,就会导致企业快速衰落或破产。那么,如何将数据治理和合规性的技能应用到实际工作当中,将其纳入日常工作中呢?今天,我将结合自己的经验谈谈我的看法。
3.基本概念术语说明
(1)元数据(Metadata)
元数据是用来描述数据的一组数据属性。它通常由描述数据的内容、创建日期、修改日期、访问日期、所有者、联系方式等组成。元数据以计算机可读的格式存储在数据库、文件中、硬盘中或网络服务器上,供软件使用。元数据提供了关于数据的有关信息,可以帮助计算机自动识别、索引、管理、存储、搜索、过滤和传输数据。(2)数据湖
数据湖(Data lake)是指储存海量数据集并集中的地方。它是一个系统,用于收集、存储、处理、分析、查询、和使用不同来源、格式、大小、速度、结构和价值的海量数据。数据湖基于“仓库”概念,包括原始数据存储、数据采集、数据清洗、数据转换、数据模型构建、数据湖目录构建、数据集成、数据分析、可视化、预测和决策支持等模块。(3)宽表格结构
宽表格结构(Wide Table Structure)是指数据集中各个字段之间的联系非常松散,每个记录占用的空间大,且相互之间没有固定的关系。宽表格结构中的数据最适合使用NoSQL数据结构,如HBase或MongoDB。宽表格结构中的数据也容易发生更新,但是由于字段较少,每条记录的字段数量较少,因此更新操作不需要迁移整张表,也不会造成数据冗余。(4)星型模式
星型模式(Star Schema)是一种结构化数据模型,其特点是在一个关系型表中保存实体(entity)、属性(attribute)、度量值(measure)三个级别的星型数据模型。它按照“实体中心”、“维度关联”、“数据集成”的原则来定义。星型模式中的实体包括对象、事实、维度和时间。星型模式中的维度是以某种方式组合的对象,通过维度的聚合可以获得信息。星型模式中的度量值是实体的一个属性的值,可以直接存入数据表。星型模式具有非常灵活的结构,能够存储大量的历史数据,但对查询性能有一定影响。(5)反范式设计
反范式设计(De-normalization Design)是一种在关系型数据库设计中,将多个表进行关联查询的优化策略。通常情况下,为了提高查询性能,往往将相同或相近数据合并存储,这样就可以只需查询一次数据库即可获取全部数据。然而,这种做法容易产生数据冗余,因为不同的实体存在不同的更新频率,数据库必须针对所有可能的情况进行更新,否则就会出现数据不一致的情况。反范式设计的方法是通过分离数据,将相关数据存储在一起,尽可能减少查询时的冗余,提高查询性能。(6)信息治理
信息治理(Governance of Information)是指政府对公共信息资源的管理。政府通过制定信息管理制度、推动信息共享、加强信息安全和保护个人信息等措施,不断完善信息管理机制,提升公众的信息收藏、利用和参与能力,促进信息经济的发展。(7)数据协议
数据协议(Data Protocol)是指组织间或企业间的数据交换、共享和使用的规范化、透明的规则。数据协议由数据使用目的、数据质量保障、数据安全保护、数据处理约定、数据使用限制、数据共享方式、数据的使用范围等内容组成,是建立、健康、可靠和合法的数据交流和合作的基础。(8)GDPR
GDPR,全称为 General Data Protection Regulation,即通用数据保护条例。是欧盟委员会根据欧洲中央银行机构(CIB)要求,授权欧盟国家及地区的银行和金融机构建立独立的责任区,就数据主体、个人信息和交易数据的保护、使用和管理等进行协调。GDPR赋予个人自由裁量权,对个人数据提供充分的保护,促进跨境贸易和创新。GDPR将个人数据定义为一切能够与单独识别个人身份的信息,包括自然人、法人以及其他组织。个人数据越来越受到越来越多组织和个人的关注。4.核心算法原理和具体操作步骤以及数学公式讲解
(1)数据收集和清洗
数据收集和清洗的第一步,应该是收集原始数据。原始数据通常保存在企业内、外的数据源中,但是,原始数据并不是最终想要的数据。原始数据中的噪声、重复、无用数据都需要进行清理。
数据的收集主要有两种方法:
- 数据采集:就是从各个数据源头收集数据。比如,网站日志可以采集公司的所有网页访问记录,社交媒体数据可以收集企业的用户交流记录,客户订单数据可以收集企业的销售数据等。
- 数据导入:导入外部数据,使用导入功能将外部数据导入到系统中。这种导入的方法可以降低数据源的依赖,同时也可以补充企业内部数据的宝库。
清理噪声、重复、无用数据的方式有很多。下面列举一些常见的清理方式:
- 删除空白行:删除没有数据的行。例如,一些表格中可能存在空白行,可以把它们删除掉。
- 去除重复项:统计重复数据条目,然后删掉其中重复的条目。例如,有些客户会多次购买某个产品,可以统计数量,然后删除重复项。
- 删除无效数据:使用一些条件判断来标记无效数据,然后再删除。例如,假如一张表格中记录了每个月的销售额,但是有些月份的记录为空白,可以标记这些记录,然后删除。
- 数据校验:验证数据是否符合预期。例如,有的表格中有些数据超出了阀值,可以对其进行校验,然后将异常值删除。
- 将无用字段删除:删除一些不需要的字段,减小数据量。例如,如果一张表格中含有不相关的字段,可以通过删除来减小数据量。
清理后的数据,可以使用比较合适的数据结构保存起来,比如使用宽表格结构,或者使用星型模式。
(2)数据集成
数据集成(Integration)是指将不同来源的数据集合到一起,创建一个逻辑、统一的视图。数据集成通常是数据科学家进行的主要工作。数据集成包括多个来源的数据、同一个来源不同格式的数据、不同系统的数据。数据集成的方式有很多,这里介绍几种常用的集成方式。
- 数据导出:将数据导出为Excel文件,然后用Excel进行合并、计算、分析。这种方式简单直观,不需要任何编程语言。
- 数据连接器:建立数据连接器,通过数据库或者文件进行数据集成。这种方法虽然麻烦点,但是速度快。
- ELT(Extract-Load-Transform):ELT即抽取-加载-转换,是一种数据集成的方式。该方法将数据从源头(比如数据库、文件等)抽取出来,加载到一个中间数据集中,然后再进行数据清洗、计算、分析。这种方法可以避免数据丢失、增量更新等问题。
- BI(Business Intelligence):BI(Business Intelligence)即商业智能,是一种能够整合不同数据源、自动生成报表、执行预测和决策的技术。企业可以利用BI工具进行数据分析、制作报告、提供决策支持等。
(3)数据分类
数据分类(Classification)是指对数据按照一定规则进行分类。数据分类可以帮助企业更好地了解数据,掌握数据的走向,发现数据中的隐藏信息,改善数据的质量和效果。数据分类有两种方式:
- 根据特征:根据数据中各个字段的特征,对数据进行分类。比如,可以根据产品名称、价格、订单量、营销活动等特征,对产品进行分类。
- 根据关系:根据数据之间的关系,对数据进行分类。比如,可以根据产品和客户的关系,对产品进行分类。
数据分类可以帮助企业更好地管理数据,进行更精准的决策,提升企业的竞争力。
(4)数据描述
数据描述(Description)是对数据中内容进行描述,包括数据的意义、结构、模式、大小、分布等。数据描述可以帮助企业更好地理解数据,判断数据中有哪些需要关注的领域。数据描述主要有两种方式:
- 用词说明:给数据字段加上一些描述性的词汇,如“名称”、“金额”、“日期”等。
- 图表展示:使用图表来直观地显示数据。比如,可以在柱状图中显示订单金额和销售量的关系。
数据描述可以帮助企业更好地理解数据,进行更精准的决策,提升企业的竞争力。
(5)数据存储
数据存储(Storage)是指将数据保存到数据库、文件等介质中。数据存储的目的是为了方便数据的检索、分析、共享、和处理。数据存储的目的还包括数据质量和数据安全保障。数据存储的原则有四个:
- 抽象:数据存储要考虑数据层次、数据内容、数据结构、数据生命周期等因素。抽象和隔离数据的不同维度,可以提高数据的可管理性和便利性。
- 自然存储:尽量采用自然存储的形式,比如磁盘、磁带、网络存储等。这样可以最大限度地提高数据存储的效率和可靠性。
- 时效性:数据要定时备份,以防止数据丢失、损坏。
- 版本控制:版本控制是为了应对数据更新和迭代。可以设置多个数据版本,以便数据回溯。
数据存储可以帮助企业快速响应业务,加速决策,提升业务的成功率。
(6)数据报告
数据报告(Reporting)是指根据特定主题和指标,对数据进行呈现,并输出到报表中。数据报告有助于企业制定决策,做出更好的决策。数据报告有两种形式:
- 可视化报告:将数据以图表、柱状图、饼图等形式展现,让人们可以直观地查看和分析数据。
- 数据模型:数据模型是一种图形表示法,用于描述数据间的关系。数据模型有助于分析和理解数据。
数据报告可以帮助企业更好地了解数据,发现数据中的问题,并且制定相应的策略,提升业务的效率。
(7)数据质量保证体系
数据质量保证体系(Quality Assurance System)是对企业数据质量的保障。数据质量保证体系包括三个部分:
- 数据质量指标:定义数据质量的衡量标准,数据质量的各项指标及其各个方面的权重。
- 数据质量管理:对数据的质量进行管理,包括收集、分析、报告、跟踪、审核、合规性和反馈等。
- 测试和评估:通过测试和评估,对数据的质量进行监控,确保数据质量始终维持在一个合理的水平。
数据质量保证体系可以有效地防止数据质量下降,确保数据的准确性、完整性和有效性,以帮助企业持续地进行决策。
(8)数据安全性管理
数据安全性管理(Security Management)是指对企业数据进行安全管理,防止数据泄露、篡改、泄露等安全事件的发生。数据安全性管理的目标是保护用户的个人信息和交易数据不被泄露、篡改、毁损、盗窃等。数据安全性管理包括以下五个层面:
- 数据安全策略:定义数据安全的目标和原则,建立健全的数据安全管理制度,保障数据安全的持续性、有效性、及时性。
- 加密存储:对数据进行加密,保障数据的安全。
- 数据登录认证:要求登录数据时进行验证码、短信或密码认证。
- 权限控制:对不同用户角色的权限进行控制,保障用户数据的安全性。
- 审计和监控:对数据的访问和使用进行记录,并通过分析发现数据安全问题。
数据安全性管理可以帮助企业保障数据安全,提升企业的竞争力,促进社会公平正义。