您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [未知机构]:Apache Doris:现代化数据仓库的创新之路 - 发现报告

Apache Doris:现代化数据仓库的创新之路

2024-01-14 马如悦 未知机构 SoftGreen
报告封面

ApacheDoris创始人&PMC成员 十年磨一剑,打造全球最知名开源软件基金会Apache的顶级项目 开源大数据、数据库项目中月活开发者No.1 Apache所有项目中官网每日浏览量No.1 Open-SourceReal-TimeDataWarehouse 2013ProjectCreation 2022ASFTopProject 13kGitHubStars 600+Contributors 5000+Enterprises 超5000+中大型企业使用 ApacheDoris3.0,现代化数据仓库创新之路的重大里程碑 Real-Time ApacheDoris实时分析特性 •从面向内部的分析到面向外部客户的分析•从面向人的分析到算法自动决策 •从跑批报表到实时仪表盘•从预置报表到交互式即席查询 实时数据FreshData 轻量级元数据变更 秒级实时数据写入 高性能数据更新 •秒级别的StreamLoad/Insertinto数据导入•支持服务端攒批GroupCommit•支持从Kafka自动拉取导入RoutineLoad•支持数据库CDC、Flink、Spark等实时导入 •提供MoW的主键模型•支持UPSERT、条件更新、条件删除、部分列更新•基于Sequence列的并发更新事务控制 •更改列名•增加和删除Value列•增加VARCHAR列(Value列)的长度 极速分析FastAnalytics CBO优化器 向量化 ARM架构优化 物化视图 丰富的索引 •向量化处理,减少虚函数调用和cachemiss•高效利用SIMD指令,同时支持x86和arm •跳数索引:bloomfilter,min/max/sum•点查索引:prefixsortedindex•任意维度检索:倒排索引 •基于代价的joinreorder,pushdown•RuntimeFilter Dorisv2.1针对ARM架构做了深度优化,性能相比V2.0提升近一倍,是当前ARM架构下性能最好的开源数仓 高并发查询High-ConcurrencyQueries CREATETABLEsales_order(orderidBIGINT,statusTINYINT,usernameVARCHAR(32),amountBIGINTDEFAULT'0',INDEXidx_user_name(username)USINGINVERTED)UNIQUEKEYorderid)DISTRIBUTEDBYHASH(orderid)BUCKETS10 •支持行存和列存•列存用于高吞吐分析•行存用于高并发点查 •点查询短路径优化(Short-Circuit)•预处理语句优化(PreparedStatement) •create_time作为分区键、ID作为分桶键•select*fromuser_tablewhereid=5122andcreate_time='2022-01-01' 在线高可用HighAvailabilityOnlineSystem •元数据节点FE和数据节点均无单点•支持在线扩容、滚动升级,数据自动均衡•支持OnlineSchemaChange•支持动态增删索引•3.0存算分离支持多计算组 Unified 统一之路 单一系统支持各种分析负载 统一实时和批量计算 不仅支持实时分析,也支持批量计算 既可以作为Warehouse,也可以作为Lakehouse 半结构化数据分析 不仅支持结构化数据分析,也支持半结构化数据分析 湖仓无界:统一数据仓库和数据湖仓,避免过早复杂性 半结构化数据分析 String类型 复合数据类型 Variant •高效文本匹配(Like):NGramBF,高性能正则匹配和子串匹配算法 •文本分词,全文检索(Match):倒排索引实现快速检索 •可以支持任意类型、任意形状的JSON格式数据•自动推断类型进行列式存储,自动处理列增加、类型变更•不需要繁琐的DDL操作以及SchemaChange操作 •Array•Map•Struct•JSON Elastic 弹性之路 存算一体时代的弹性资源管理 冷热分层(TieredStorage) ResourceGroup WorkloadGroup 冷热分层,将冷数据存储到更低成本的存储上 支持资源软硬限制 机器分组,副本放置到分组,user绑定分组 ApacheDoris3.0部署新形态-存算分离 存算分离架构 共享存储与本地高速缓存 弹性的资源管理是数据分析基础设施永恒的追求 存算一体与存算分离各有优势 •存算一体部署简单、性能较优•存算分离,独立扩缩容,部署需要依托高性能存储和网络•存算分离未必云原生、云原生也未必是存算分离,但是存算分离+云原生是绝配 两种部署形态的融合 FutureWork 未来工作 新功能 可以不依赖外部工具,支持从众多TP数据库直接CDC导入数据,打造HTAPSolution。 统一实时和批量处理。增量处理,需要Doris支持增量读取表的更新数据。 完善湖仓一体 存算一体和存算分离部署形态融合 不再需要两种部署形态,用户可以在使用过程中,无缝切换。避免过早复杂性。 插件化体系,兼容Trino/PrestoConnector框架;完善高吞吐读写的DataAPI。 非功能性能力的加强 版本迭代机制改进,加强测试覆盖,内核插件化 简化参数配置,提升产品文档,完善周边生态工具 导入更实时,查询更极速