企业级“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统一管理数据资产,甚至完成多应用之间的数据交互。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/266296.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能优化算法应用:基于社交网络算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于社交网络算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于社交网络算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.社交网络算法4.实验参数设定5.算法结果6.…

el-select 全选

<template><div class"container"><el-selectv-model"choosedList"clearablemultiplecollapse-tagsplaceholder"请选择"change"select_Change"><div style"padding: 0 20px; line-height: 34px">&l…

机器学习算法(11)——集成技术(Boosting——梯度提升)

一、说明 在在这篇文章中&#xff0c;我们学习了另一种称为梯度增强的集成技术。这是我在机器学习算法集成技术文章系列中与bagging一起介绍的一种增强技术。我还讨论了随机森林和 AdaBoost 算法。但在这里我们讨论的是梯度提升&#xff0c;在我们深入研究梯度提升之前&#xf…

Python实现AR协方差结构线性回归模型(GLSAR算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 GLSAR是具有AR协方差结构的广义最小二乘法线性回归模型。 本项目通过GLSAR回归算法来构建AR协方差结构…

RocketMQ实践:确保消息不丢失与顺序性的高效策略

一、使用RocketMQ如何保证消息不丢失&#xff1f; 这个是在面试时&#xff0c;关于MQ&#xff0c;面试官最喜欢问的问题。这个问题是所有MQ都需要面对的一个共性问 题。大致的解决思路都是一致的&#xff0c;但是针对不同的MQ产品又有不同的解决方案。分析这个问题要从以 下几…

02|用LangChain快速构建基于“易速鲜花”本地知识库的智能问答系统

02&#xff5c;用LangChain快速构建基于“易速鲜花”本地知识库的智能问答系统 项目及实现框架 我们先来整体了解一下这个项目。 项目名称&#xff1a;“易速鲜花”内部员工知识库问答系统。 项目介绍&#xff1a;“易速鲜花”作为一个大型在线鲜花销售平台&#xff0c;有自…

基于java的病房管理系统论文

摘 要 当下&#xff0c;如果还依然使用纸质文档来记录并且管理相关信息&#xff0c;可能会出现很多问题&#xff0c;比如原始文件的丢失&#xff0c;因为采用纸质文档&#xff0c;很容易受潮或者怕火&#xff0c;不容易备份&#xff0c;需要花费大量的人员和资金来管理用纸质文…

Linux多线程

目录 一、Linux线程概念1.1 什么是线程&#xff1f;1.2 线程的优点1.3 线程的缺点1.4 线程异常1.5 线程用途1.6 进程VS线程1.7 关于进程和线程的问题 二、Linux线程控制2.1 POSIX线程库2.2 创建线程2.3 线程ID及进程地址空间布局 三、Linux线程终止四、线程等待4.1 为什么需要线…

MySQL——复合查询

目录 一.基本查询回顾 二. 多表查询 三.自连接 四.子查询 1.单行子查询 2.多行子查询 3.多列子查询 4.在from子句中使用子查询 5.合并查询 一.基本查询回顾 准备数据库&#xff1a; 查询工资高于500或岗位为MANAGER的雇员&#xff0c;同时还要满足他们的姓名首字母为…

stm32项目(14)——基于stm32f103zet6的循迹避障小车

1.功能设计 stm32循迹避障小车&#xff0c;使用超声波测距&#xff0c;使用红外循迹模块追踪黑线&#xff0c;实现循迹功能。此外&#xff0c;还可以检测烟雾、火焰、人体、温湿度。温湿度显示在LCD屏幕上。检测到有人、有火焰、有烟雾时&#xff0c;蜂鸣器报警&#xff01; 功…

ESP32运行MicroPython——环境搭建

1、准备工作 硬件&#xff1a;ESP32-DevKitC V4 开发板、USB串口线 软件&#xff1a; flash_download_tool_3.9.5&#xff08;乐鑫烧录工具&#xff09;、官方下载地址 CP210x&#xff08;USB驱动程序&#xff09;、官方下载地址 ESP32_GENERIC-20231005-v1.21.0.bin&#xff…

串口通信(7)-C#串口通信通信帮助类实例

本文讲解C#串口通信通信帮助类实例 首先创建winform项目添加界面和控件 UI界面 namespace SerialPortDemo {partial class MainForm{/// <summary>/// 必需的设计器变量。/// </summary>private System.ComponentModel.IContainer components = null;/// <sum…

2024年个人目标制定清单~有没有适合你的那一款

在2024年&#xff0c;个人的生活目标可以有多种多样&#xff0c;这主要取决于个人的价值观、兴趣和生活情况。 个人生活目标&#xff1a; 健康和健身&#xff1a;保持身体健康和良好的心理状态是许多人重要的生活目标。这可能包括定期运动&#xff0c;均衡饮食&#xff0c;以…

MySQL报错:1366 - Incorrect integer value: ‘xx‘ for column ‘xx‘ at row 1的解决方法

我在插入表数据时遇到了1366报错&#xff0c;报错内容&#xff1a;1366 - Incorrect integer value: Cindy for column name at row 1&#xff0c;下面我演示解决方法。 根据上图&#xff0c;原因是Cindy’对应的name字段数据类型不正确。我们在左侧找到该字段所在的grade_6表&…

陪诊软件|北京陪诊系统提升医疗服务无限可能

我们深知陪诊软件搭建系统在医疗服务中的重要性。它不仅可以提高医患沟通的效率&#xff0c;还可以提供更个性化、便捷的服务体验。因此&#xff0c;我们为您搭建的陪诊软件系统集合了丰富的功能&#xff0c;旨在提升您的医疗服务质量。 首先&#xff0c;我们的陪诊软件搭建系统…

1.关于浏览器

一、认识主流浏览器 Chrome谷歌浏览器Safari苹果浏览器Firefox火狐浏览器Opera欧朋浏览器 二、浏览器内核是什么&#xff1f; 三、五大浏览器&#xff0c;四大内核 四、前端做网页开发用什么浏览器&#xff1f; Chrome谷歌浏览器。

JavaWeb笔记之WEB项目

一. 版本控制 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理&#xff0c;是软件配置管理的核心思想之一。 版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变&a…

leetCode算法—11. 盛最多水的容器

11.给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 难度&#xff1a;中等 ** 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#x…

[python]python实现对jenkins 的任务触发

目录 关键词平台说明背景一、安装 python-jenkins 库二、code三、运行 Python 脚本四、注意事项 关键词 python、excel、DBC、jenkins 平台说明 项目Valuepython版本3.6 背景 用python实现对jenkins 的任务触发。 一、安装 python-jenkins 库 pip install python-jenkin…

智能优化算法应用:基于鹈鹕算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鹈鹕算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鹈鹕算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鹈鹕算法4.实验参数设定5.算法结果6.参考文献7.MA…