当前位置: 首页 > news >正文

在线事务型的业务、实时分析类业务、离线处理类型的业务

这三种业务类型代表了现代信息系统(尤其是大型互联网企业或复杂业务系统)中处理数据的三种核心模式,它们在目标、特点、技术栈和时效性要求上都有显著差异:

  1. 在线事务型业务

    • 含义: 也称为 OLTP。这类业务的核心是处理日常、高频、实时的交易操作。它关注的是系统如何快速、准确、可靠地执行单个用户的“增删改查”操作,并确保数据的一致性完整性(满足ACID特性:原子性、一致性、隔离性、持久性)。数据模型通常是高度规范化的。
    • 核心目标: 高效处理大量短小、原子性的交易,保证数据的即时准确性和事务的可靠性。
    • 特点:
      • 高并发: 大量用户同时进行操作(如抢购、支付)。
      • 低延迟: 要求响应速度极快(毫秒到秒级)。
      • 写密集/读写均衡: 包含大量的创建、更新、删除操作。
      • 小事务: 每次操作处理的数据量相对较小(如一条订单、一个账户余额更新)。
      • 强一致性: 要求操作后数据立刻保持一致。
    • 举例:
      • 电商下单/支付: 用户点击“购买”,系统需要立即扣减库存、生成订单、处理支付。这个过程中任何一个步骤失败,整个交易需要回滚(原子性)。
      • 银行转账: 从A账户扣款100元,同时向B账户加款100元。这两个操作必须同时成功或同时失败(原子性、一致性),且操作完成后余额要立刻反映正确结果(持久性)。
      • 机票预订选座: 用户选择一个座位,系统需要立刻将该座位标记为“已占用”,并防止其他用户同时选择同一个座位(隔离性)。
      • 社交媒体发帖/点赞: 用户发布一条新动态或给某条动态点赞,系统需要立即将数据写入数据库并可见。
    • 常用技术: 关系型数据库是主力,如 MySQL, PostgreSQL, Oracle, SQL Server。NoSQL数据库如 MongoDB (用于文档型事务)、Cassandra (特定场景) 也有应用。通常需要分库分表、读写分离来应对高并发。
  2. 实时分析类业务

    • 含义: 也称为 流处理实时OLAP。这类业务的核心是对持续不断产生的数据流进行近实时(秒级到分钟级延迟)的计算、聚合和分析,以快速获取业务洞察、监控系统状态或触发实时响应。它处理的是连续的事件流,而不是离散的事务。数据模型通常是宽表或星型/雪花模型。
    • 核心目标: 快速(近实时)地从持续流入的数据中提取有价值的信息、发现趋势、进行监控或做出即时反应。
    • 特点:
      • 流式输入: 数据源是连续不断的(如用户行为日志、IoT传感器数据、交易流水)。
      • 低延迟分析: 要求在数据产生后极短时间内(秒/分钟级)给出分析结果。
      • 读密集: 主要是复杂的查询和分析计算。
      • 聚合计算为主: 计算通常是计数、求和、平均值、最大值、最小值、Top N、窗口统计(如最近5分钟的交易额)等。
      • 最终一致性/弱一致性常见: 为了追求速度,有时会牺牲强一致性。
      • 处理海量数据: 处理的数据量通常远大于单个OLTP事务。
    • 举例:
      • 实时交易大盘: 在“双11”购物节中,大屏幕上实时显示全国/全球的总交易额、订单量、热门商品排行、地域分布等。数据需要在用户支付完成后几秒内反映出来。
      • 实时风险监控: 银行系统实时分析每笔交易流水,检测异常模式(如短时间内多次大额转账、异地登录),在欺诈行为完成前或刚完成时就发出警报甚至拦截交易。
      • 实时用户行为分析: 电商网站实时分析用户当前的点击流、浏览路径,进行实时个性化推荐(“猜你喜欢”)。
      • IoT设备监控预警: 工厂设备传感器数据实时传入系统,分析温度、压力等指标是否超出阈值,实时触发报警。
      • 实时广告投放: 根据用户当前正在浏览的内容或搜索的关键词,实时计算出最相关的广告进行展示。
    • 常用技术: 流处理引擎是核心,如 Apache Flink, Apache Storm, Apache Kafka Streams, Spark Streaming。通常会结合实时数仓技术如 Apache Druid, ClickHouse, HBase, 以及消息队列如 Apache Kafka/Pulsar。
  3. 离线处理类型的业务

    • 含义: 也称为 批处理。这类业务的核心是对海量历史数据进行周期性的、非实时深度处理、挖掘和计算。处理任务通常在后台安静地运行(如夜间),耗时较长(小时甚至天级),产出的是综合性的报告、模型或转换后的数据集。
    • 核心目标: 对大规模历史数据进行复杂的、耗时的分析、清洗、转换和建模,生成深度洞察、报表或为其他系统准备高质量数据。
    • 特点:
      • 海量数据: 处理的数据量通常是TB甚至PB级别。
      • 高延迟: 处理时间很长,结果通常是T+1(隔天)或按周/月产出。
      • 计算密集: 执行非常复杂的查询、数据清洗转换、机器学习模型训练等。
      • 周期性/计划性: 按固定时间表运行(如每天凌晨1点)。
      • 深度分析: 进行数据挖掘、机器学习、复杂的多维度分析、生成综合性报表。
      • 容忍延迟: 对结果的实时性要求很低。
    • 举例:
      • 每日/月度销售报表: 汇总分析前一天/上个月所有订单数据,生成按商品类别、地区、渠道等维度的销售统计报告。
      • 用户画像构建: 基于用户过去几个月甚至几年的行为数据(浏览、购买、搜索、社交互动),通过复杂的计算和机器学习模型,构建详细的用户标签体系和画像。
      • 财务对账/结算: 在每日营业结束后,银行或电商平台运行批处理任务,核对所有交易流水,生成结算报表。
      • ETL: 从各个OLTP系统抽取数据,进行清洗、转换,然后加载到数据仓库或数据湖中,为后续的分析和报表提供基础。
      • 机器学习模型训练: 使用历史数据训练推荐模型、反欺诈模型、销量预测模型等。这个过程可能需要数小时甚至数天。
      • 日志分析: 收集过去一天的所有系统日志,分析错误模式、性能瓶颈、用户访问模式等。
    • 常用技术: Hadoop生态系统是传统主力(HDFS, MapReduce, Hive),现在更常用 Spark (特别是 Spark SQL, MLlib)。数据仓库如 Teradata, Snowflake, Redshift,数据湖如 Delta Lake, Iceberg, Hudi。工作流调度工具如 Apache Airflow, Oozie。

总结与关系:

  • OLTP是源头: 在线事务系统是数据的生产者,记录了最原始的业务操作。
  • 实时分析是“现在时”的洞察: 对刚刚产生或正在产生的数据进行快速分析,用于实时监控、决策和响应。
  • 离线处理是“过去时”的深度挖掘: 对沉淀下来的历史数据进行复杂的、耗时的分析,用于战略决策、报告和模型构建。
  • 数据流向: 通常,OLTP系统产生的数据会通过CDC等方式流入消息队列。实时分析业务从队列中消费数据进行流处理。同时,数据也会被周期性地批量抽取到数据湖/仓中,供离线处理业务使用。离线处理的结果(如用户画像、训练好的模型)又可能反馈给OLTP或实时分析系统使用(如推荐、风控)。

一个成熟的系统架构往往需要同时支持这三种业务类型,它们相辅相成,共同支撑起复杂的业务需求。例如,一个电商平台需要OLTP处理下单支付,需要实时分析监控大屏和风险,需要离线处理生成销售报表和训练推荐模型。

http://www.lryc.cn/news/599595.html

相关文章:

  • 如何提高微信小程序的应用速度
  • 代码随想录算法训练营第五十三天|图论part4
  • 基于spring boot的纺织品企业财务管理系统(源码+论文)
  • vue+iview+i18n国际化
  • Qt:qRegisterMetaType函数使用介绍
  • 如何在 FastAPI 中玩转 GraphQL 和 WebSocket 的实时数据推送魔法?
  • 【数据库】AI驱动未来:电科金仓新一代数据库一体机如何重构性能边界?
  • ESP32学习笔记_Peripherals(4)——MCPWM基础使用
  • 内存优化:从堆分配到零拷贝的终极重构
  • IPv6实战指南:从接入到应用
  • 升级的MS2130S USB3.0高清视频采集芯片
  • 服务器安装虚拟机全步骤
  • 每日一道算法题(八)
  • C++实战:数据标准化高效实现
  • Redis 5.0.14安装教程
  • c# openxml 打开加密 的word读取内容
  • mac下 vscode 运行 c++无法弹出窗口
  • 0人工沟通,它如何用AI撬动海外B端9400亿采购市场?
  • 工程师实践出真知
  • 用友ERP 反射xss漏洞复现(CVE-2025-2709)
  • JVM相关面试八股
  • [LeetCode]每日温度
  • 初识JVM--从Java文件到机器指令
  • OpenRLHF:面向超大语言模型的高性能RLHF训练框架
  • Kubernetes配置管理
  • k8s 中的 deployment,statefulset,daemonset 控制器的区别
  • k8s的service、deployment、探针详解
  • 算法训练营day31 贪心算法⑤56. 合并区间、738.单调递增的数字 、968.监控二叉树
  • Python常用医疗AI库以及案例解析(场景化进阶版)
  • 【小沐学GIS】基于Unity3d绘制三维数字地球Earth(Unity3d、OpenGL、GIS)