博客
关于我
大数据的下一站是什么?服务/分析一体化(HSAP)
阅读量:99 次
发布时间:2019-02-26

本文共 1240 字,大约阅读时间需要 4 分钟。

大数据的下一站:服务与分析一体化(HSAP)架构

作者:蒋晓伟(量仔)阿里巴巴研究员

传统的数据库系统分为交易型 OLTP 和分析型 OLAP。随着互联网的快速发展,数据量呈现出指数级增长。单机数据库已无法满足业务需求,尤其是在分析场景中,一个查询可能需要处理大量甚至全量数据。这种压力促成了 Hadoop 技术的兴起,解决了海量数据分析的需求。同时,分布式数据库也应运而生,为 OLTP 场景中的数据量增长提供了支持。

传统的 OLTP 和 OLAP 分离架构存在明显缺陷:定期数据同步导致分析结果延迟,无法满足实时决策需求。近年来,HTAP(Hybrid Transactional Analytical Processing)架构应运而生,允许 OLTP 数据库直接进行分析,提升了时效性。然而,HTAP 是否能取代传统大数据系统,成为大数据的下一站,这一问题引发了广泛讨论。

以推荐系统为例分析大数据系统的典型场景。推荐系统通过实时用户行为数据和交易记录生成个性化推荐,后端技术架构复杂且多元化。推荐系统核心目标是根据用户实时行为做出个性化推荐,每一次用户与系统交互都需要优化后续体验。这样的系统后端需要高效处理海量实时数据,支持复杂查询和模型更新。

推荐系统的数据特征包括:1)用户行为事件(如浏览、点击)和交易记录等;2)基于滑动窗口计算不同维度和时间粒度特征(如商品点击率、浏览量等)。这些特征用于生成实时和离线机器学习样本,训练模型并持续更新。

现有解决方案通过多个产品组合(如 Flink、Druid、HBase)实现服务与分析的融合,但存在数据孤岛、复杂数据同步和高开销等问题。这种复杂度制约了业务迭代速度,增加了开发和运维成本。

我们提出 HSAP(Hybrid Serving/Analytical Processing)架构,通过统一系统解决服务与分析的融合问题。HSAP 展现出以下优势:

  • 高并发混合查询:支持远超 OLAP 的高并发查询,延迟要求更高,且需要处理复杂分析查询。

  • 高吞吐实时数据导入:支持海量实时数据写入,要求写入数据的可见性在秒级甚至亚秒级。

  • 弹性可扩展性:数据写入和查询负载可能突发式增长,系统需要快速调整。

  • HSAP 的核心架构包括:

    • 存储计算分离:分布式文件系统管理数据分片,资源管理器调度计算资源,支持快速扩展。
    • 统一实时存储:支持行存和列存结合,满足点查询和大范围扫描需求。
    • 混合工作负载隔离:通过调度机制确保服务型和分析型查询公平共享资源。
    • 系统开放性:支持与现有存储平台和引擎联邦查询,提供灵活接口。

    阿里巴巴搜索推荐精细化运营业务案例展示了 HSAP 的实际应用:通过统一系统实现实时大屏、实时报表、效果跟踪等多种查询和分析服务,解决运营、产品、算法等不同视角的数据需求。

    HSAP 架构降低了业务复杂度,提升了开发和运维效率,支持快速应对新需求。其秒级甚至亚秒级实时性使数据创造更大商业价值,为大数据发展指明了方向。

    转载地址:http://exwy.baihongyu.com/

    你可能感兴趣的文章
    Plotly:如何从单条迹线制作堆积条形图?
    查看>>
    Plotly:如何以 Root 样式绘制直方图,仅显示直方图的轮廓?
    查看>>
    Plotly:如何使用 Plotly Express 组合散点图和线图?
    查看>>
    Plotly:如何使用 plotly.graph_objects 和 plotly.express 定义图形中的颜色?
    查看>>
    Plotly:如何使用 Python 对绘图对象条形图进行颜色编码?
    查看>>
    Plotly:如何使用 updatemenus 更新一个特定的跟踪?
    查看>>
    Plotly:如何使用长格式或宽格式的 pandas 数据框制作线图?
    查看>>
    Plotly:如何向烛台图添加交易量
    查看>>
    Plotly:如何在 plotly express 中找到趋势线的系数?
    查看>>
    Plotly:如何在桑基图中设置节点位置?
    查看>>
    Plotly:如何处理重叠的颜色条和图例?
    查看>>
    Plotly:如何手动设置 plotly express 散点图中点的颜色?
    查看>>
    Plotly:如何结合 make_subplots() 和 ff.create_distplot()?
    查看>>
    Plotly:如何绘制累积的“步骤“;直方图?
    查看>>
    Quartz进一步学习与使用
    查看>>
    Plotly条形图-根据正/负值更改颜色-python
    查看>>
    PLSQL developer12安装图解
    查看>>
    PLSQL Developer调试 存储过程和触发器
    查看>>
    PLSQL window操作
    查看>>
    plsql 存储过程 测试
    查看>>