下一个十年,我们需要一款什么样的 OLAP 数据库?( 三 )
文章图片
实时场景优化 。 在1.2版本中 , 我们在原有UniqueKey数据模型上实现了Merge-On-Write的数据更新方式 , 查询性能在高频更新时有5-10倍的提升 , 实现了在可更新数据上的低延迟实时分析体验 。 另外还实现了轻量SchemaChange功能 , 对于数据的加减列不再需要转换历史数据 , 可通过FlinkCDC等工具快速便捷地同步上游事务数据库中的DML或DDL操作 , 使数据同步工作能够更加流畅统一 。 半结构化数据支持 。 目前ApacheDoris支持了Array和JSONB类型 , 其中Array类型不仅能更方便地存储复杂的数据结构 , 还可以通过Array函数满足用户行为分析等场景的业务需求 。 而JSONB是一种二进制JSON存储方式 , 它不但比纯文本TextJSON的访问性能快4倍 , 同时也有更低的内存消耗 。 通过JSONB可以方便地导入各种JSON格式的日志数据结构 , 并能取得优异的查询效率 。 这也是ApacheDoris在日志分析领域所做的探索之一 。
文章图片
Lakehouse 。 在最新发布的1.2版本中 , 我们引入了全新的Catalog概念 , 正式将ApacheDoris迈入湖仓一体时代 。 通过简单的命令便可以方便地连接到各自外部数据源并自动同步元数据 , 实现统一的分析体验 。 通过NativeFormatReader、延迟物化、异步IO、数据预取等多项针对外部数据源的性能优化 , 并充分利用自身的高性能执行引擎和查询优化器 , 在对外表访问性能上 , ApacheDoris可以达到Trino/Presto的3-5倍、Hive的10-100倍 。
文章图片
2023RoadMap
承前而启后 , 2023年 , ApacheDoris社区在以上几方面特性持续完善的同时 , 也将开启更多有意义的工作 。 全年的RoadMap以及明年Q1的具体计划 , 可以参考以下的全景图:
文章图片
稳定的版本发布和迭代速度对于开源软件至关重要 。 在2023年 , 我们将以每季度一个2位版本的节奏 , 开始ApacheDoris2.x版本的迭代 。 同时 , 针对每个2位版本 , 我们也将以每月一个3位版本的速度进行功能维护和优化 。 从功能角度来看 , 后续研发工作将会围绕以下几个主要方向展开:高性能高性能是ApacheDoris不断追求的目标 , 过去一年在Clickbench、TPC-H等公开测试数据集上的优异表现 , 已经证明了其在执行层以及算子优化方面做到了业界领先 。 未来我们也会不断优化各个场景下的性能表现 , 回馈用户极速的数据分析体验 , 具体包括:更复杂SQL性能提升:2022年我们已经启动全新查询优化器的设计与开发 , 而这一成果在2023年一季度就将与大家见面 。 全新查询优化器提供了丰富的规则模型 , 实现了更智能的代价选择 , 可以更高效地支撑复杂查询 , 能够完整执行TPC-DS全部99个SQL 。 同时全新查询优化器还具备全查询场景的自适应优化 , 便于用户在面对不同分析负载和业务场景时都获得一致性的使用体验 。 更高的点查询并发:高并发一直是ApacheDoris所擅长的场景 , 而2023年我们将会进一步加强这一能力 , 通过Short-CircuitPlan、PrepareStatement、QueryCache等一系列技术 , 实现单机数万QPS的超高并发支持 , 并具备随集群规模的拓展进而线性提升并发的能力 。 更灵活的多表物化视图:在过去版本中 , 通过强一致的单表物化视图 , ApacheDoris加速了固定维度数据的分析效率 。 而全新的多表物化视图将会解耦Base表与MV表的生命周期 , 通过异步刷新和灵活的增量计算方式 , 满足多表关联以及更复杂SQL的预计算加速需求 , 这一特性将在接下来的2023年第一季度与大家见面!高性价比成本和效率对企业而言是赢得市场竞争的关键 , 对数据库而言亦是如此 。 过去ApacheDoris凭借在易用性方面的诸多设计帮助用户大幅节约了计算与存储资源成本 , 后续我们也会引入一系列云原生能力 , 在不影响业务效率的同时进一步降低成本 , 具体包括:更低的存储成本:我们将探索与云上对象存储系统和文件系统的结合 , 帮助用户进一步降低存储成本 , 包括更完善的冷热数据分离能力 , 将冷数据智能转移至更廉价的对象存储或文件系统中 。 结合单一远程副本、冷数据Cache以及冷热智能转换等技术 , 保证业务查询效率不受影响的同时实现存储成本大幅降低 , 这一功能将于2023年第一季度发布 。 更弹性的计算资源:剥离存储与计算状态 , 引入仅用于计算的ElasticComputeNode 。 由于不存储数据 , 弹性计算节点具备更加快速的弹性伸缩能力 , 便于用户在业务高峰期进行快速扩容 , 进一步提升在海量数据计算场景(如数据湖分析)的分析效率 , 这一功能已经处于最终调试阶段 , 即将与大家见面 。 后续我们还将通过对集群内存和CPU运行指标的监控和自动策略配置 , 实现自动的节点扩缩容(Auto-scaling) 。 混合负载随着用户规模的极速扩张 , 越来越多的用户将ApacheDoris用于构建企业内部的统一分析平台 。 这一方面需要ApacheDoris去承担更大规模的数据处理和分析 , 另一方面也需要ApacheDoris同时去应对更多分析负载的挑战 , 从过去的实时报表和Ad-hoc等典型OLAP场景 , 扩展到ELT/ETL、日志检索与分析等更多场景的统一 。 为了能更好适配这些场景 , 许多工作已经进入紧锣密鼓的研发中 , 并将于2023年陆续与大家见面 , 具体包括:更灵活的Pipeline执行引擎:与传统的火山模型相比 , Pipeline模型无需手动设置并发度 , 可以实现不同管道之间的并行计算 , 充分利用多核的计算能力 , 实现更灵活的执行调度 , 提升在混合负载场景下的综合性能表现 。 WorkloadManager:在性能提升的同时 , 也亟需完善的资源隔离和划分的能力 。 我们将会基于Pipeline执行引擎实现更细粒度和更灵活的负载管理、资源队列以及共享隔离等功能 , 兼顾多种混合负载场景下的查询性能与稳定性 。 轻量级容错:轻量级容错能力也是我们后续持续完善的地方 , 既能利用MPP的高效率又能对错误进行容忍 , 以更好适应用户在ETL/ELT场景的挑战 。 函数兼容与多语言UDF:与此同时 , 后续也将支持Hive/Trino/Spark函数的兼容性以及多语言的UDF , 来帮助用户更灵活地进行数据加工 , 也可以更方便地从其他数据库系统迁移到ApacheDoris 。 多模数据分析在过去ApacheDoris更多是是擅长于结构化数据分析 , 随着对半结构化、非结构化数据分析需求的增加 , 从1.2版本起我们增加了Array和JSONB类型以实现数据的Native支持 , 后续版本仍将持续加强这一能力 , 为日志分析场景提供性价比更高、性能更强的解决方案 , 具体包括:更丰富的复杂数据类型:除Array/JSONB类型以外 , 2023年第一季度我们将增加对Map/Struct类型的支持 , 包括高效写入、存储、分析函数以及类型之间的相互嵌套 , 以更好满足多模态数据分析的支持 。 后续将支持更加丰富的数据类型 , 包括IP、GEO地理信息等数据类型 , 并会探索在时序数据场景的高效数据分析 。 更高效的文本分析算法:对于文本数据 , 我们将引入更多的文本分析算法 , 包括自适应Like、高性能子串匹配、高性能正则匹配 , Like语句的谓词下推、NgramBloomfilter等 , 同时基于倒排索引实现全文检索能力 , 在日志分析场景提供比ES更高性能和性价比的分析能力 。 这些功能都已经处于就绪阶段 , 将在2023年初与大家见面 。 动态Schema表:传统数据库在设计之初Schema是静态的 , Schema变更时需要执行DDL , 而这一操作往往具有阻塞性 。 在越来越多的现代数据分析场景中 , 表结构会随时间推移而变化 , 因此我们引入了DynamicTable , 可以根据数据写入自动适应Schema , 不再需要执行DDL , 由过去的人工干预数据结构进化为数据自驱动 , 极大提升了灵活数据分析的便捷性 。 这一功能将在2022年第一季度正式发布 。 Lakehouse随着数据湖技术的发展 , 分析性能成为发挥数据湖效用、挖掘数据价值最大的掣肘 。 基于一款简单易用和高性能的查询分析引擎在数据湖之上构建分析服务 , 成为新的技术趋势 。 在过去一年 , 通过在数据湖上的诸多性能优化、结合自身的高性能执行引擎和查询优化器以及 , ApacheDoris实现了数据湖上极速易用的分析体验 , 性能较Presto/Trino有3-5倍的提升 。 在2023年 , 我们将会继续完善这一能力 , 具体包括:更简易的数据对接:在1.2版本中我们发布了Multi-Catalog , 支持了多种异构数据源的元数据自动映射与同步 , 实现了数据湖的无缝对接 , 后续将对DeltaLake的支持以及Iceberg、Hudi等更多数据格式的支持 。 更完整的数据湖能力支持:提供数据湖上数据的增量更新与查询 , 还会支持将分析结果写回数据湖、外表写入内表 , 实现数据分析流程的全闭环 。 同时还将支持多版本Snapshot读取和删除 , 并进一步在ApacheDoris为数据湖数据提供物化视图 。 实时性与存储引擎优化数据价值会随着时间推移而降低 , 因此实时性对于高时效性要求的用户而言至关重要 。 在1.1版本中我们在Compaction和Flink实时写入方面进行了诸多优化 , 同时1.2版本的Merge-on-Write数据更新模式进一步使ApacheDoris在实时更新与极速查询得以统一 。 2023年我们将会持续强化对存储引擎的优化 , 具体包括:更稳定的数据写入:通过一系列Compaction操作和批量数据写入方面的优化 , 节省资源开销 , 降低写放大问题 , 并结合全新的内存管理框架提升写入过程的内存稳定性 , 进而提升系统稳定性 。 更完善的数据更新支持:过去部分列更新是通过Agg模型上的Replace_if_not_null来实现的 , 后续我们将会增加UniqueKey模型上的部分列更新支持 , 并完整实现Delete、Update、Merge等数据更新的操作 。 更统一的数据模型:当前ApacheDoris的三种数据模型在各个场景均有丰富的应用 , 后续我们将尝试统一现有几种数据模型 , 使用户在使用体验上更加统一 。 易用性和稳定性除了功能方面的丰富与完善 , 更简单、更易用、更稳定同样也是ApacheDoris一直追求的目标 , 2023年我们将在以下几方面出发 , 让用户具有更简易和放心的使用体验:简化建表:目前ApacheDoris在建表时分区已经支持了时间函数 , 后续我们将进一步消除Bucket设置 , 帮助用户最大程度简化建表建模 。 安全性:目前已经实现基于RBAC模型的权限管理机制 , 使用户权限更安全可靠;并对ID-federation、行列级别权限 , 数据脱敏等进行了优化 , 后续将进一步完善 。 可观测性:Profile是定位查询性能问题的重要手段 , 后续我们将加强对Profile的监控并提供可视化Profile工具 , 帮助用户更快定位问题 。 更好的BI兼容性和更完善的数据集成迁移方案:当前各BI工具可以通过MySQL协议连接到ApacheDoris , 后续我们将对主流BI软件进一步适配 , 保证更佳的查询体验 。 随着DBT、Airbyte等新兴数据集成和迁移工具的兴起 , 越来越多用户使用此类系统将数据同步至ApacheDoris , 后续我们也会提供对此些系统的官方支持 。开启下一个十年!
- 火车|美国一列车滞留29小时乘客以为被劫持 乘务组:我们下班了
- 百度|AI女科学家:我们的浪漫在选择里
- 公益|相信小的伟大 阿里十年投入一个亿记录普通人的“天天正能量”
- 我们在使用Win11系统的时候难免会遇到网页提示此站点的连接不安全的情况|windows11系统提示站点不安全的解决方法
- U盘在我们的生活已经非常普及|u盘不能格式化解决方法
- 0x80070057参数错误怎么办?在我们使用电脑的过程中|win10复制文件时提示错误代码0x80070057怎么办
- Win11系统是自带很多便捷的工具可以帮助我们更好的去使用电脑|win11开启剪贴板自动复制的操作
- Win11本地用户和组怎么管理?我们都知道电脑的本地用户和组|windows11本地用户和组怎么管理?
- 截屏功能是我们日常使用非常频繁的一个功能|小米黑鲨4pro截图方法
- 命令行是我们快速执行某些系统操作、程序或命令的方式|win10命令行窗口怎么打开