Big Data

5 篇内容

技术文章SelectDB 技术分享

Apache Doris 高性能 Open Lake Variant 读写技术解析 面对日志、事件、AI 调用等不断变化的半结构化数据,如何既保留灵活结构,又实现高效查询?从 Doris 4.2 ...

Doris 4.2 起可在 Iceberg、Paimon 上直接读写 VARIANT 半结构化数据。文章分三层讲解:值由 metadata 字段名字典与 value 二进制编码,可按路径拆成类型子列,类型不匹配的值保留在 residual/fallback;读取按文件与 Row Group 选择叶子投影、残余补齐或完整投影,并结合统计裁剪;执行层保留 Encoded、Typed、Shredded 三种形态并延迟物化,避免重建完整对象。写回时 Iceberg 经 Arrow 生成 Parquet,Paimon 经 JNI 交给原生 writer,当前不回写拆列文件。测试称相比 Spark 冷跑 15.10×、热跑 19.14×,拆列热跑 58.64×,但 SQL 示例未在集群执行。

Doris 团队完整拆解了 Variant 的编码、拆列、按路径读取与延迟物化机制,并给出可观测的 Profile 指标和冷热跑对比数据,可作为湖仓半结构化数据格式设计与查询优化的参考。适合从事 OLAP/湖仓选型、Parquet 列裁剪与执行引擎优化的工程师阅读;需注意性能数字来自厂商自测、不含导入耗时,SQL 示例也未实机验证。

技术文章SelectDB 技术分享

当 Variant 遇到 Lakehouse:Apache Doris 5.0 Variant 统一解决方案 Apache Doris 5.0 把 Variant 类型从内表扩展到了 Iceberg / Paimon 等开放湖格式,使用同...

文章介绍 Apache Doris 5.0 如何把内表 Variant 类型扩展到 Iceberg / Paimon 等开放湖格式,解决 JSON 半结构化数据在生产端(Flink/Spark 入湖)与消费端(Doris 分析)之间的割裂。作者以 AI Agent 轨迹、埋点和 IoT 遥测为例,说明双写同步带来的冗余存储、同步延迟与不一致,并结合 Parquet Variant 编码、Iceberg V3、Paimon 1.4 等标准化进展,提出上层统一类型与 SQL、中层统一执行算子、下层统一格式访问接口的三层方案,并给出 Agent 观测场景的查询、热数据入内表与结果回写 SQL 示例。文末对比内表与湖上 Variant 的能力并给出选型建议,但 Shredded 写入与读取性能细节留待后续文章,且缺少独立实测数据。

推荐收录:文章完整呈现了从问题(半结构化数据生产者与消费者割裂)到方案(统一类型/SQL、统一算子、统一格式接口)的设计脉络,并梳理 Parquet、Iceberg、Paimon 的 Variant 标准化时间线,对评估湖仓一体与半结构化数据分析的数据库、数据平台工程师有直接参考价值。需注意其来自 Doris 厂商,Shredded 写入与性能实测尚未给出,选型结论宜结合后续技术文章与自测验证。

工程实践SelectDB 技术分享

Apache Doris 倒排索引工作原理:全文检索提速 59 倍,点查提速 14 倍 我们基于开源分析型数据库 Apache Doris,针对包含 1.35 亿条数据的亚马逊评论数据集进行...

文章介绍 Apache Doris 内置倒排索引解决 OLAP 稀疏扫描问题的技术机制与实测效果。针对传统 OLAP 依赖列存、排序和 Zone Maps 在稀疏查询下全表扫描的局限,文章详细解析了三种索引结构:字符串精确匹配用 Posting List,数值范围过滤用 BKD 树,非结构化文本检索用分词器结合倒排列表。在 1.35 亿条亚马逊评论数据集上,50 并发测试显示全文检索提速 59 倍,按 ID 点查提速 156 倍,多维组合查询提速 10 倍。同时评估了资源开销:新增 7 个索引后存储从 26GB 增至 47GB,写入耗时增加约 6%,主要来自大文本列。结论认为 OLAP 内置倒排索引可简化 Elasticsearch+OLAP 双引擎架构,但应根据查询特征选择性建索引以控制成本。

推荐收录,因为文章基于 1.35 亿条真实数据给出可复现的建表、索引和查询测试,定量对比了性能提升与存储/写入开销。适合数据库内核开发者、 OLAP 架构师和数据平台团队参考,其倒排索引设计思路可迁移到类似分析型系统或评估 Elasticsearch 替代方案。需要注意的是测试仅基于单节点和特定数据集,索引列选择需按业务权衡。

工程实践Spotify Engineering

Indexing the Data Lake for Online Point Queries

文章介绍 Spotify 提出的 Random Access Parquet(RAP)方案,让数据湖中的 Parquet 文件直接支持在线点查询,服务个性化功能与 AI Agent 的上下文检索。作者指出瓶颈不在存储层,而在 Trino、BigQuery 等分布式 SQL 引擎的调度与查询规划开销,以及文件内查找所需的链式依赖读取。RAP 通过外部索引把 key 直接映射到文件与行号,再发起精确的 ranged read,索引实现为可追加的 multimap。文章进一步给出面向预写文件的优化(按 key 排序、co-grouping、粗粒度分区、每 key 一页、ZSTD frame reset、存储对齐、blob/Variant、列交织、覆盖索引)及其对分析负载的取舍。结论是同一份 Parquet 文件可同时服务分析与交互式访问,避免重复存储,但部分优化会牺牲列裁剪等分析能力。

推荐收录:文章来自 Spotify 一线实践,清晰定义了数据湖点查询这一真实工程问题,并给出索引结构、文件布局优化与逐项取舍,证据具体。适合数据平台、存储与后端工程师,尤其在构建低延迟检索或为 AI Agent 供给上下文时,其“一份数据双访问模式”思路与 Parquet 改造技巧可直接迁移。

工程实践Grab Tech

Scaling Grab's Data Lake: Our journey to Apache Iceberg adoption

文章详细介绍了 Grab 从 Hive Parquet 向 Apache Iceberg 迁移数据湖的完整工程实践。首先分析了原始架构在目录延迟、小文件碎片、运维负担和信息一致性上的瓶颈,然后说明了选择 Iceberg 的决策依据。迁移采用按表优先级逐步推进的策略,在导航数据集上通过 Z-ordering 获得约 10 倍查询性能提升,并在运营表上节省了 95% 的 S3 API 成本。为应对 Iceberg、Delta、Hudi 等多格式共存的开发体验问题,团队自研并开源了 UnifiedSparkCatalog,透明路由不同表格式操作。文中还分享了 Hive 锁竞争、时间戳兼容性、存储层级成本等实际坑位和解决方案。案例适合大型数据平台的可扩展存储架构改造,迁移策略和工具设计具有较高的可迁移性。

本文提供了从中型数据湖到现代表格式转型的完整路线图,包含明确的性能与成本量化证据、自研工具的架构取舍和开源发布,以及生产环境踩坑经验。适合数据平台工程师和架构师参考,尤其对计划从 Hive 迁往 Iceberg、需要多格式兼容的团队有直接借鉴价值。