作者 | Stephanie shen

编译 | 火火酱,责编丨Carol

出品 | AI科技大本营(ID:rgznai100)

在大数据和数据科学的新时代,对企业而言,一定要有与业务流程保持一致的中心化数据架构,该架构能随业务增长而扩展,并随技术进步而发展。

一个成功的数据架构可以使数据的各个方面清晰明了,从而使数据科学家能够高效地处理可信的数据并解决复杂的业务问题。

架构还能帮助组织做好必要的准备,以利用新兴技术迅速抓住新的商机,并通过管理整个企业中的复杂数据和信息交付来提高运营效率。

与信息架构、系统架构和软件架构相比,数据架构相对较新。数据架构师的角色也很模糊,落在了高级业务分析师,ETL开发人员和数据科学家的肩膀上。尽管如此,在本文中,作者将用“数据架构师”(Data Architect)来指代那些为组织设计数据架构的专业数据管理人员。

说到架构,我们经常会想到与建筑架构做类比。传统的建筑架构师会规划、设计和审查建筑物的建造。设计过程包括与客户充分沟通收集需求,了解当地的法律和环境限制,并与工程师、测量师及其他专家合作,以确保设计在预算之内可行。

这项工作的复杂性实际上与数据架构师的角色非常相似。但是,两个架构师角色之间存在一些基本差异:

  • 建筑物架构是自上而下的设计,而数据架构通常是将已存在的组件或系统集成。

  • 建筑设计师在建造建筑物之前必须了解全部建筑要求并规划建筑范围。数据架构的范围更为广泛且易更改。因此,成功的数据架构设计应该是灵活的且有预见性的。

  • 建筑架构师具有严格的教育和专业要求,并且应该在商业、艺术、结构物理和建筑材料方面有深入研究。而大多数数据架构师来自IT背景,在几家公司或行业中具有专业经验,并且对业务的接触不多。因此,他们应该意识到自己的设计可能存在偏差,需要根据组织中业务和技术专家的反馈来调整设计

  • 建筑设计几乎都是针对从头开始建造的新建筑物的。因此,建筑架构师可以完全根据新要求和新材料进行规划和设计。数据架构师没有这种优势。他们很少能从头开始,但是在为未来进行设计时需要了解现有的平台和数据库。

虽然存在这些差异,但数据架构师仍然可以向建筑架构师学习,尤其是采用自上而下的方法来改进数据架构设计方面。很多机构都缺乏系统、集中的端到端的数据架构设计。下面列出了一些主要原因:

  • 一个公司有多个IT部门,他们各自使用各自的数据标准和架构工作。

  • 应用程序和流程是根据单个业务需求构建的,没有可遵循的数据架构标准。

  • 数据架构师的角色仅关注有限的技术领域,并且对数据业务知识的了解也有限。

  • 管理IT项目时,在设计阶段不考虑数据架构,数据科学家和工程师无需遵循一致的数据管理流程即可编写代码。

由于存在这些不足,所以我们经常会看到一家公司的数据系统脱节,并且团队和部门之间存在差距。这些差异导致系统性能低下,需要进行大量交接工作,在生产数据出现问题时要花很长时间才能排除故障,缺乏在整个系统中找到正确解决方案的责任感,并且缺乏评估产品变化影响的能力。

最后,在迁移脱节的系统或重新设计下一代平台时,可能要花费大量精力进行分析和研究。

考虑到所有这些因素,一个成功的企业需要具有以业务流程和运营设计为基础的自上而下一致的数据架构。特别是,就像建筑架构师所做的那样,企业数据架构师需要先在概念级和逻辑级构建蓝图,然后再将技术应用于详细的应用程序设计和实现。

基于业务流程和运营的概念级数据架构设计

在现代IT中,业务流程是由数据实体,数据流和应用于数据的业务规则共同支持和驱动的。因此,数据架构师需要具有深入的业务知识,其中包括财务、市场营销、产品以及业务流程(例如健康、保险、制造商和零售商)等特定行业的专业知识。

然后,他才能够通过设计代表每个业务域的数据实体和分类法以及业务流程下的数据流,从而构建正确的企业级数据蓝图。在此概念阶段尤其需要考虑和计划以下几个方面:

  • 核心数据实体和数据元素,例如关于客户、产品、销售的数据。

  • 客户和顾客所需的输出数据。

  • 要收集、转换或引用的源数据以生成输出数据。

  • 每个数据实体的所有权以及如何根据业务用例使用和分配它。

  • 要应用于每个数据实体的安全策略。

  • 数据实体之间的关系,例如参考完整性、业务规则、执行顺序。

  • 标准数据分类和分类法。

  • 数据质量、操作和服务水平协议(SLA)的标准。

设计的概念级别由支持每个业务功能的基础数据实体组成。蓝图对于成功设计和实施企业和系统架构及其未来的扩展或升级至关重要。

在很多机构中,这种概念设计通常被嵌入到由单个项目驱动的业务分析当中,而没有从企业端到端解决方案和标准的角度进行指导的方法。

逻辑级数据架构设计

由于要考虑使用哪种类型的数据库或数据格式,这种设计有时称为数据建模。它将业务需求与基础技术平台和系统联系到一起。但是,考虑到数据建模者的角色,大多数机构仅在特定数据库或系统中设计数据建模。

通过考虑适用于每个数据库或系统的标准以及这些数据系统之间的数据流,应采用集成方法开发成功的数据体系结构。特别是,以下五个领域需要以协同方式进行设计:

1、命名约定和数据完整性

数据实体和元素的命名约定应一致地应用于所有数据库。同样,如果相同数据须驻留在多个数据库中,则应加强数据源及其引用之间的完整性。最终,这些数据元素应属于数据架构中概念设计中的数据实体,然后可以根据业务需求协同准确地对其进行更新或修改。

2、数据归档/保留策略

如果在生产的最后阶段才经常考虑或建立数据归档和保留策略的话,将会导致资源浪费,不同数据库之间的数据状态不一致,以及数据查询和更新的表现不佳。为了加强数据完整性,数据架构师在以操作标准为基础的数据架构中定义数据归档和保留策略。

3、隐私和安全信息

隐私性和安全性成为了逻辑数据库设计的重要考虑因素。虽然概念设计已经定义了哪个数据成分属于敏感信息,但逻辑设计应在具有受限访问权限、受限数据复制、特定数据类型和安全数据流的数据库中保护机密信息,以保护信息安全。

4、资料复制

数据复制是要顾及三个目标的关键因素:

1)高可用性。

2)避免通过网络传输数据的性能。

3)低耦合性以最小化下游影响。

但是,过多的数据复制会导致混乱、数据质量差和性能下降的结果。任何数据复制都应由数据架构师检查,并应遵循一定原则和纪律。

5、数据流和管道

在此级别上,应明确定义数据在不同数据库系统和应用程序之间的流动方式。同样,此流程与业务流程和数据架构师概念级别中提到的流程一致。此外,应在逻辑设计的集成视图中考虑数据摄取的频率、流水线中的数据转换以及针对输出数据的数据访问模式。例如,如果上游数据源是实时的,而下游系统主要被用于具有重索引的聚合信息的数据访问(例如,对于频繁更新和插入来说成本很高),则需要在两者之间设计数据管道,以优化性能。

持续治理是数据架构成功的关键

由于数据架构反映并支持着业务流程,因此当业务流程发生更改时,数据架构就可能会发生改变。随着基础数据库系统的更改,数据架构也需要进行调整。因此,数据架构不是静态的,而是需要进行连续管理、增强和审核的。因此,应采用数据治理来确保在启动每个新项目时正确设计和实现企业数据架构。

结论

在成功的数据架构中,以业务流程为基础的概念设计是最关键的要素,其次是逻辑设计,该逻辑设计强调所有数据库和数据管道之间的一致性、完整性和效率。在建立起数据架构后,机构可以查看哪些数据驻留在何处,并确保数据的安全、有效存储和正确处理。

同样,当一个数据库或组件发生更改时,数据架构可以帮助机构快速评估影响并指导所有相关团队进行设计和实施。最后,数据架构是企业系统的实时文档,要保证它是最新的,并提供清晰的端到端图画。

综上所述,反映端到端业务流程和操作的整体数据架构对于保障公司在经历重大变化(如收购、数字转换或向下一代平台迁移)时快速高效地前进至关重要。

原文:

https://www.datasciencecentral.com/profiles/blogs/what-is-the-data-architecture-we-need

(*本文由 AI 科技大本营编译,转载请联系微信1092722531)

【end】

精彩推荐

CSDNx巨杉大学联合认证学习,免费开放!“分布式数据库集训营”帮助您从零开始学习分布式数据库、分布式架构知识,现在加入活动,完成课程还将专属礼品。快来参加吧~

了解详情:

http://www.sequoiadb.com/cn/university-camp

推荐阅读

  • 「数据科学家」必备的10种机器学习算法

  • NeurIPS 2020新变化:截稿日提前、早期拒稿、作者也是审稿人

  • RabbitMQ VS Kafka:消息队列与流处理平台之争

  • 耐克为何不接受加密货币付款?

  • 结束 Java、Python 之战,如何学习所有编程语言?

  • 隐身术?登顶 GitHub Top1:200 行 JS 代码让画面人物瞬间消失!

  • 你点的每个“在看”,我都认真当成了AI

我们需要什么样的数据架构?相关推荐

  1. 大数据架构和模式(一)——大数据分类和架构简介

    概述 大数据可通过许多方式来存储.获取.处理和分析.每个大数据来源都有不同的特征,包括数据的频率.量.速度.类型和真实性.处理并存储大数据时,会涉及到更多维度,比如治理.安全性和策略.选择一种架构并构 ...

  2. 数据中台已成气候!大数据架构师如何站上风口?

    你被大数据杀过熟吗?当今企业对数据的重视度越来越高,在大数据系统架构设计层面,大数据架构师需要完成技术决策.技术选型,还需要根据不同时期的业务场景,不断优化和演进软件架构,最终攻克技术难点.化解技术风 ...

  3. 这可能是程序员学习大数据架构师的最佳之路!另附送1024G学习资料!

    随着大数据时代的到来,[这次国家教育部的改革要动真格了],JAVA程序员们仅有的一点点竞争力很快就不复存在,为什么这么说呢? 人生别只顾低头拉车,更要抬头看路! 国家教育部全面改革:大数据领衔 所有高 ...

  4. 大数据架构+Lamba+Kappa+Unifield

    大数据架构+Lamba+Kappa+Unifield 前端+主数据服务(MDS)+后端 Tomcat  HBase ElasticSearch Pig Oozie Node.js JQuery 数据分 ...

  5. 数据架构简史:转换中的范式

    据架构是一系列决定收集哪些数据,如何在数据库系统中使用.处理和存储数据的规则.策略以及模型.例如,数据集成是依赖于数据架构用于集成过程中的指令.如果没有从编程范式转换到数据架构范式,现代计算机将会变得 ...

  6. 微服务开发中的数据架构设计

    前言 微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合.业务的灵活调整组合以及系统的高可用性.为业务创新和业务持续提供了一个良好的基 ...

  7. 【数据架构解读】基于阿里云数加StreamCompute和MaxCompute构建的访问日志统计分析...

    [场景] 用户搭建网站会不断的产生访问日志(Nginx,Apache访问日志).为了从访问日志中挖掘出更多价值,本文主要阐述如果利用阿里云数加从沉睡中的访问日志中获取更有价值的数据,包括用于实时统计和 ...

  8. 企业架构:现代数据架构的特征

    企业数据架构,很多朋友在尚未了解时总会将它定义为组织用于管理数据的一组标准产品和工具,但它的性质远不止于此.数据架构定义了捕获.转换以及向业务用户提供可使用数据的过程,最重要的是它也确定了使用该数据的 ...

  9. 大数据数据收集数据困难_大数据架构、大数据开发与数据分析的区别

    是新朋友吗?记得先点蓝字关注我哦- 今日课程菜单 Java全栈开发 | Web前端+H5 大数据开发 | 数据分析  人工智能+Python | 人工智能+物联网 来源:小职(z_zhizuobiao ...

最新文章

  1. Redis与Memcached简要比较
  2. VS2008 快捷键大全[转帖]
  3. 牛客多校3 - Two Matchings(dp)
  4. Flume监控几种方式
  5. jsf初学解决GlassFish Server 无法启动
  6. Pyrene-PEG-Rhodamine,芘丁酸-聚乙二醇-罗丹明,RB-PEG-Pyrene
  7. AD软件绘制stm32最小系统电路原理图与PCB图
  8. Receptive field 感受野 原理+计算+图解+空洞卷积hole
  9. Android美团评分组件及消息提示框自我定制(14)
  10. 【PTA 6-9】转换字符串中数字为整数
  11. 阿里王坚眼中的互联网、数据和AI
  12. 点卯.三维视频融合助力国家全面推进实景三维中国建设, 构建数字中国建设基座 ;开放C++源代码 点卯-魔镜系列
  13. java运行库未能修复,如何修复Microsoft Visual Studio错误:“程序包未正确加载”?...
  14. android vold磁盘管理
  15. java计算年份_如何计算Java中2个日期之间的年份和年份
  16. H.265/HEVC学习笔记:帧内预测编码
  17. R包开发每日中国天气
  18. 两起并购!深兰科技完成自动驾驶新能源车产业生态链布局
  19. addr2line快速定位进程异常位置
  20. Android WebView填表登陆QQ空间

热门文章

  1. 学习Spring中遇到关于BeanFactory及测试类的问题
  2. Spring集成Redis方案(spring-data-redis)(基于Jedis的单机模式)(待实践)
  3. Oracle与JCP执行委员会分享了他们的Java EE策略
  4. TCP/IP详解学习笔记(9)-TCP协议概述
  5. Mysql INSERT、REPLACE、UPDATE的区别
  6. Java数据结构一 —— Java Collections API中的表
  7. two years in cnblogs.com
  8. 交通安全与智能控制专业学计算机吗,交通安全与智能控制专业就业方向及就业前景分析...
  9. 暑期集训1:C++STL 例1:UVA-10815
  10. 终端打不开(右键和快捷键)?因为phthon?