企业级“RAS”的数据平台如何炼成?

2023-12-23 23:44

本文主要是介绍企业级“RAS”的数据平台如何炼成?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从“看报表”到“数据分析结果直接投入运营”,数字化正在深入企业经营,数据系统正在成为核心生产系统。相应的,企业对“作业挂了”、“系统崩了”、“算不出来”的容忍度越来越低——只有足够稳定、可靠、专业的数据系统,才能及时满足业务的数据需求。

数据写花了,是数据平台不行,还是代码出了bug?

任务失败了,是资源不够,还是调度有问题?

在不久前的2023 StartDT Day数智科技大会上,StartDT(奇点云)合伙人、CTO地雷聚焦企业数据基础设施的稳定性,探讨了典型问题,并分享了DataSimba的相关实践。

数据云平台DataSimba是奇点云的核心产品,具备跨平台、云原生、自主可控、数据安全的特性,从数据集成、数据研发、数据运维、数据治理到数据服务,围绕数据全生命周期提供能力。

但今天不聊版本迭代和功能更新,只讲一件事——企业级的稳定

构建企业级稳定的数据基础设施,需要两方面的努力:数据开发团队建立软件工程的最佳实践,和一个专业可靠的数据云平台。

这就像驾驶员需要有培训、驾照,开车不能喝酒,车也要足够稳定、可靠、安全,有保障机制。这两者缺一不可。

本次发布,我们从企业级软件的“金标准”——“RAS”中分别挑选了几个典型问题,和大家分享。

*RAS,即Reliability(可靠性)、Availability(可用性)、Serviceability(可服务性),可分别简单理解为要确保数据不丢失不错误,要确保系统的停机时间在SLA内,要确保系统有变时可运维可修复。

#1 可靠性典型问题:数据备份和迁移

「非必要,不用“两地三中心”」

常有客户问,要不要做“两地三中心”?大多数情况下,不用做。

其一,分布式存储的三副本技术,已经提供了单机房内99.9999%以上的可靠性;

其二,数据平台类基建的集群规模大,数据量惊人。仅仅是跨机房1:1热备,就要高昂成本。

客户需要权衡风险(例如战争、天灾摧毁机房)和投入,综合评估备份策略。对于大多数客户而言,定期把关键数据导出冷备即可。

*两地三中心,即生产中心、同城容灾中心(数据同步复制)、异地容灾中心(数据异步复制)。能在基本不丢数据的情况下完成灾备应急切换,保持数据业务的连续性。

*冷备,在系统停机状态下进行,大规模数据及复杂系统更易于实现冷备,缺点是停机时间相对长,但也因此资源可控、成本更优;热备,在系统运行状态下同时进行,缺点是资源要求高(可能对系统性能产生影响),适合业务对恢复时间有极严格要求且资源充足的场景。

「大数据生产,必须有专业的作业调度和基线告警」

现代大数据引擎为了大幅提升吞吐,取消了事务锁。

这意味着数据开发团队必须有专业要求,避免两个作业同时往同一张表里写数据、造成数据损坏等情况。具体实践包括但不限于:

配置Task(任务)调度,以确保不会出现Job(作业)写入冲突;

配置基线告警,一旦Job执行过慢——意味着可能导致下一轮Job调度冲突,就应当自动告警,提醒数据运维及时干预。

*事务锁:一种用于管理并发访问数据的机制,在OLTP(联机事务处理)系统中较为常见,防止多个事务对同一数据进行不一致的访问和修改。与OLTP需要处理大量交易性操作、注重事务处理速度不同,OLAP(联机分析处理)系统主要用于复杂的分析查询,更注重查询性能,允许一定程度的数据冗余,因此几乎不依赖传统的事务锁机制。

「大数据是有“重量”的」

大数据跨域迁移,有极高的复杂度——数据量大,作业量大,复制PB级的数据和数千个Job并不像个人电脑拷贝几个文件那样简单。

一般来说,脚本执行耗时数天,迁移后新旧系统并跑,验证数据准确性还需要1个月。因为在此期间,有很高概率会发现磁盘损坏等等问题,需要重补数据。

“‘搬家’有风险,迁移需谨慎。”

如果一定要跨域迁移,建议雇佣专业的团队,为数据迁移做保障。

针对上述3个问题,DataSimba除了持续提升产品自身的可靠性,完善各项功能以便开发团队固化最佳实践,还分别提供:

  1. DataSimba迁移发布助手,帮助客户完成数据定时导出、冷备;
  2. 数据开发陪跑包,和客户的数据开发团队一起开发demo并配置,协助客户逐步建立起大数据生产的研发底线;
  3. 迁移运维服务包,降低大数据跨域迁移风险,保障数据一致性、安全性及整体迁移效率。该项服务按数据量计费。

#2 可用性典型问题:防止线上生产故障

「数据生产应建立CI/CD体系」

“数据开发在生产系统上热改SQL,写出笛卡尔积,导致生产崩溃,结果第二天老板看不到经营报表。”

这不是编故事,而是发生在企业客户的真实案例。奇点云的数据运维On-call(值班)团队平均每周都会接到类似的“救火求援”。

大数据生产已不同以往,不再是“实验局”、“创新局”,而真正对日常业务运营产生影响。企业数据团队应当建立起CI/CD体系,来维护生产环境。

具体包括但不限于:设置测试环境,建立自动化测试、自动化发布流程。所有代码修改必须在测试环境通过验证后,由专人操作上线到生产环境。大部分程序员没有在生产环境修改或发布的权限。

「数据平台需要保证鲁棒性和可用性」

除了对“驾驶员”的数据工程规范要求,平台本身更应当保证鲁棒性和高可用性:

鲁棒性(Robust),即系统健壮性,可简单理解为承受故障和干扰的能力。即便在出现输入错误、故障、过载甚至攻击的情况下,平台也不会被“击垮”,能隔离故障,及时告警。

高可用,用大白话说,就是每个组件有多进程的back-up(备份),能自动重启failover(故障转移),其本质是用冗余硬件资源做热备,所以也存在一定的成本投入。

DataSimba从上述六个维度加固稳定性(详见《数据云场景指南》)

针对上述问题与场景,DataSimba提供:

  1. DataSimba迁移发布助手,支持与各种版本管理和持续集成的工具联用;
  2. 数据开发陪跑包,协助客户建立起自己的CI/CD流程;
  3. VIP专属运维服务包,即原厂运维专家按规定在一定时间内为客户处理故障应急响应、备份管理、漏洞修复等问题;
  4. DataSimba专业版及以上版本提供高可用部署方案,所有组件均可实现高可用,并已完成全面压力测试,可用性达到99.95%。

#3 可服务性典型问题:建立平台的可观测性

建立平台可观测性体系,是很多数据团队的理想——从Logs、Metrics、Traces和Meta抓取系统状态,建立模型和指标,用数据驱动运维。“吃自己的狗粮”,有趣且很有价值。

其实这项能力(功能)在数据库领域叫做Information Schema(直译为信息视图),一种标准的、系统元数据的查询接口,能帮助开发者快速了解系统结构,让系统更易于维护。而目前市面上许多数据平台产品还无法提供类似能力。

DataSimba的Schema不仅提供系统元数据,还提供了多种数据模型(提炼自行业经典方法论及历年实践),帮助企业更便捷地建立可观测性体系,为智能运维、平台管理、数据治理等场景提质提效。

目前,包含以下10种模型:

例如,依托“运维巡检模型”,可监控底层硬件、操作系统、中间件、大数据组件及SimbaOS各个对象的时序状态,记录历史状态信息,定期生成运维巡检报告,并根据历史数据进行异常预测;

“作业健康诊断模型”则支持对Hive、Spark、Flink等不同类型的作业进行针对性建模,诊断数据作业失败、长尾、数据倾斜、资源浪费等数据生产问题和编程失误,给出潜在建议和改进建议。

*DataSimba的Schema能力来自数据云操作系统StartDT SimbaOS。基于SimbaOS生长的全域数据安全管理平台DataBlack等产品同样调用了Schema,进行了对应设计和研发。

“好赛车”和“好车手”

如开篇所述,就像“好赛车”和“好车手”,构建企业级稳定的数据基础设施,离不开专业可靠的数据云平台,也需要数据开发团队建立并掌握数据工程的最佳实践。

为此,奇点云不仅提供安全、可靠的各档次“汽车”,即数据云平台DataSimba,还提供各类培训、陪跑等服务包,和客户的数据团队一同,保障数据生产的稳定,构筑数据赋能业务的坚实基础。

期待成为您的理想选择!


附Q&A

1、DataSimba和数据云操作系统 StartDT SimbaOS是什么关系?

DataSimba是SimbaOS生态的1号应用,SimbaOS Kernel的许多关键能力都脱胎自DataSimba,而DataSimba也几乎调用了Kernel的所有功能。

2、SimbaOS发布,对DataSimba的客户有什么影响?

目前,DataSimba R4及以上版本均进行了架构升级,切换为基于SimbaOS Kernel(数据云操作系统内核)迭代,享受SimbaOS的所有能力。相对老版本而言,新版本功能更丰富,体验更优。如果客户同时还在使用DataBlack、SimbaMetric等产品,可通过同一套SimbaOS统一管理数据资产,甚至完成多应用之间的数据交互。

这篇关于企业级“RAS”的数据平台如何炼成?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/529872

相关文章

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

浅析如何保证MySQL与Redis数据一致性

《浅析如何保证MySQL与Redis数据一致性》在互联网应用中,MySQL作为持久化存储引擎,Redis作为高性能缓存层,两者的组合能有效提升系统性能,下面我们来看看如何保证两者的数据一致性吧... 目录一、数据不一致性的根源1.1 典型不一致场景1.2 关键矛盾点二、一致性保障策略2.1 基础策略:更新数

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名