dataops简介

DataOps(数据操作)是一门新兴学科,将DevOps团队与数据工程师和数据科学家角色结合在一起,提供一些工具、流程和组织结构服务于以数据为中心的企业。
和DevOps一样,DataOps方法也从敏捷方法中获得了启发。DataOps方法很重视持续交付分析见解,其主要目的是满足客户需求。
 
DataOps团队重视分析工作。他们通过所提供的见解来衡量数据分析工作的性能。DataOps团队会接受变化,并始终努力来了解不断变化的客户需求。
 
DataOps团队是多个团队。他们围绕多个目标进行自我组织,努力减少“英雄主义”,以有利于团队和流程的可持续性和可扩展性。
 
DataOps团队自始至终来精心安排数据、工具、代码和环境。可重复的结果是至关重要的。DataOps团队倾向于将分析管道视为类似于精益生产线。


能力


对所有关键数据源进行记录,包括来源的原始物理属性和记录


数据移动,ETL的功能,核心功能,如端到端数据血统和依赖关系分析,以及数据质量和运营元数据捕获,使您的原始数据源具有高可访问性和可靠性。


逻辑模型 - 精心设计的逻辑模型在三个方面提供:
灵活的格式:灵活的格式必须兼顾RDBMS和文档搜索引擎的高效访问。
描述:模型必须描述许多不同的物理数据源。数据消费者关心分析客户,供应商,产品或购买等实体,而不是数据源属性。
语义上的含义:逻辑模型实现消费者理解的语言,使他们能够理解物理数据,使用它并提供反馈。


分析系统内的数据可以由组织中的任何员工访问。在数据中心内,您可以全面了解数据环境。这包括已组织的实体,为每个实体贡献的资源,利用统一数据总线来控制数据的访问能力。


反馈 
为用户提供反馈机制,以定位错误数据的问题。这将使上游系统动态性和连续性的改变。


原则


原则是基于能力之上的一些考虑因素,这些原则不只是工具和技术,同时包括参与人,流程,服务,dataops最终是一个生态圈,改变组织行为与技术选择一样重要


可互操作性


理想架构应包含最佳和开放的技术。允许大型公司“拿空您的钱包”成为过去。向消费者提供干净,完整的数据以满足消费者的需求,将来自不同技术整合在一起,无论是大型科技公司还是创业公司。而且,只要能够最好地解决问题,就不要反感开源。技术和流程需要互操作并遵循这样一个基本前提


消费者使用各种各样的工具与他们的数据交互。他们希望在最喜欢的分析工具或wiki页面中直观地显示信息,并提供反馈,通信模式需要改变:信息流不应总是从源端到消费。相反它需要是双向的。当用户从源端接收数据时,源端接收反馈也同样重要。而且,像现代互联网体验一样,这种协作需要在整个企业范围内进行。用户对数据的要求是不断改变的,数据工程团队应该利用这一点。


灵活性对于下一代数据工程团队至关重要。在创建可重复架构来为数据使用者提供服务时,确保后端具有扩展功能,因为数据扩大了。此外,开发关键功能时使用基于微服务的体系结构至关重要,通常在某些特定功能时需要更改或者扩展,重新构建整个系统不是理想的选择。最后,在需要时利用云来实现可扩展性。


七步改造到dataops


为了实施DataOps,分析团队无需丢弃他们心爱的工具。有些工具可以帮助优化数据分析流水线,但DataOps的方法和原理与工具一样重要。一个组织可以通过七个简单的步骤迁移到DataOps。


为了确保数据操作运行正常,必须对其进行测试。必须在数据操作的每个阶段提供测试,输入,输出和业务逻辑。测试可以在发布之前捕获潜在的错误和警告。人力测试既费时又费力。一个强大的自动化测试套件是实现持续交付的关键要素


版本控制工具(如Git)有助于存储和管理对代码的所有更改。它还将代码组织在已知的存储库中并提供灾难恢复。版本控制还可以帮助软件团队通过分支和合并来实现并行工作。




当业务功能更新时,开发人员检查所有相关代码的副本。然后,可以对本地代码的私人副本进行更改。这些更改称为分支。版本控制系统允许许多开发人员同时在分支上工作,从而提高了团队的生产力,当改变完成并通过测试,从而合并到主干或主代码库。分支和合并允许数据分析团队运行自己的测试,进行更改,承担风险和进行实验。如果一组变更被证明无效,该分支可以被丢弃,分析团队成员可以重新开始。


除了代码的依赖,数据分析还需要依赖于数据。在生产数据库上工作,通常会导致冲突和效率低下。通过云服务的按需存储,可以快速且经济地复制TB级别的数据集以减少冲突和依赖性。如果数据太大而无法复制,请提供在各种环境之间切换的简单方法。


提供可共享组件化功能,比如某种通用功能,特殊部件的复杂功能可以使用像Docker容器来封装。容器非常适合高度定制的功能。


数据分析应该具有运行时的灵活性。使用哪个数据集?是用于生产还是测试的新数据仓库?数据是否应该过滤?是否应包含特定的工作流程步骤?这些条件使用参数在数据分析的不同阶段进行编码。在软件开发中,利用参数影响程序的行为。有了正确的参数后,满足用户和数据分析专业人员的日常需求就成了一件常见问题。




许多数据分析专业人员都担心部署可能会破坏生产系统。解决这个问题需要优化两个关键工作流程:
价值管道 - 数据流入生产并为组织创造价值。
创新管道 - 新功能被测试验证并添加到生产流程中。价值和创新管道相交于生产。
DataOps企业将数据的编排控制到生产和新功能的部署,同时保持高质量。通过测试(统计过程控制)来控制和监控数据和新的功能流程,开发团队可以部署而不用担心打破生产系统。通过敏捷开发和DevOps,新需求的速度最大化。



你可能感兴趣的:(架构设计)