
传统评估系统通常会在面对大量数据和高度并发查询时很难满足严格的实时要求。即使在几秒钟内,延迟也可能导致遗漏的商机或用户体验的下降。 Starrocks设计的最初目的是克服这些问题。它通过一系列技术架构和优化技术为最终查询性能提供了用户。要了解为什么Starrocks这么快,您必须加深其核心并探索其背后的技术列。矢量化的执行引擎,CBO优化器和柱状存储 - 这三个主要技术就像三部队一样,在快速评论系列SA实时驾驶Starrocks。核心技术1:矢量化执行引擎 - 发布CPU的最终潜力。在数据库中查询实现的传统模型中,数据通常按线(元组和一次)进行处理。这意味着当CPU PRocesses每行数据,都需要创建一个函数调用和相应的上下文开关。当数据量巨大时,该开销将大大积累,并成为性能的瓶颈。矢量执行引擎的矢量查询引擎的优势采用了完全不同的技术。它不再按线路处理数据,而是将一批数据作为一个单位处理。这意味着,当操作(例如过滤,计算)应用于一批数据时,CPU可以执行指令来处理多个数据项(SIMD-单个指令,大量数据),或一次通过循环一次处理整个数据。 Starrocks从一开始就实施了其主要设计哲学之一。从数据扫描,表达计算,集成,参与操作的所有查询发动机级别都与矢量化思想深入融合。扫描数据和过滤器NG:读取数据时,Starrocks直接以基于支柱的基于支柱的批次模式获取数据,并在这些数据批次中进行过滤条件,以有效消除不符合条件的数据。表达计算:SQL的复杂表达式在数据批次的一系列操作中受损。例如,在整个数据批次中将均匀地执行诸如A + B * C之类的计算。集成运行 - 包含的ang Pag -opimize包括:整体运行,例如,avg,max,min可以很好地处理矢量化引擎中的整个数据,并迅速获得集成的结果。 Starrocks技术内部文档中还提到了标量和组合操作的实施细节。 Starrocks的矢量编程的本质在于对基本CPU特征的深刻理解和最终应用。通过精心设计的内存布局,算法SelectioN,以及完全使用SIMD指令,Starrocks矢量化引擎为毫秒查询奠定了坚实的基础。核心技术2:CBO优化器 - 强烈思考查询路径可能具有成千上万的复杂分析查询的实施计划,尤其是涉及多探索关联,子征服和复杂谓词的情况。选择不良计划可能会增加查询时间。 CBO的责任是根据许多可能的实施计划的成本估算模型选择最佳或最佳实施计划。 Starrocks CBO优化器的主要功能包括:1。完成统计信息收集和使用Startarrocks版本3.2,以支持外部表(包括Hive和Iceberg)的统计信息的收集。版本3.3直方图统计数据的其他支持,并为子列的复杂结构添加了统计信息收集。 2。明智的查询na re -wrITing CBO可以执行复杂的查询写作,例如谓词下降,子查询的扩展,表达式表达式等,将原始SQL转换为易于执行的形式。为了检查外部目录,如果外部表是计算功率,Starrocks的CBO将尝试尽可能地将组合的 - 分组(例如组,限制)将其推向外部表表,从而减少了发送网络发送的数据量。 3。如果查询可以使用现有的实体视图并自动重写查询以从材料视图中获取数据,从而避免了对ofbasis表的原始表的昂贵计算,CBO可以识别出明智的选择和重写材料视图。 Starrocks的CBO可以为十亿个实施计划搜索选择最低的成本和最佳实施计划,从而确保出色的回复甚至复杂的审核请求。主要技术3:存储一列-STO愤怒的结构出生于审查。传统的基于行的商店将所有列存储在一起,这对于交易处理非常友好(OLTP)处理(OLTP),因为交易通常需要访问或更改整行数据。但是,审核查询(OLAP)倾向于仅处理表中的几列,但是存储一行需要在内存中读取整个数据行(包括无关的列),引起I/O浪费和上述CPU的处理。 Starrocks使用基础设计中存储的列。它的存储不仅实现了列和写入数据的良好读数,而且还结合了各种优化技术,以进一步加强存储列的优势:1。Smart索引:稀疏索引:Starrocks自动创建稀疏索引目标数据并避免扫描的整个支柱。位图索引:对于低心电图序列(例如性别,区域),位图索引可以执行逻辑操作,例如和,或,或,或,否,等等加快复杂条件的过滤。 2。灵活数据模型:Starrockss Supp支持详细的模型,Pinagtogether模型和基本模型。 3。划分和铲斗:划分:从逻辑上将表分为许多分区,通常由时间维度划分。在干预期间只能扫描相关分区,从而大大减少了数据扫描量。存储桶:数据通过哈希(Hashing)在各种平板电脑上传播,这是基本的数据平衡单位和复制品管理。合理的铲斗方法有助于与关节结合并加载负载。列存储是Starrocks实现高性能分析的基础。它与矢量实现引擎和CBO优化器紧密合作,并共同开发了Starrocks强大的分析功能。在实际生产环境中,除了最终的绩效外,实际业务水平还需要更完整的业务水平特征,财务级别的安全保证,方便的操作和维护管理以及与国内生态系统的兼容性。作为全球领先的开源项目的主要贡献,Jingzhou Technologry基于技术和深入的见解,推出了业务级别的产品-Jingzhou数据库。 Jingzhou数据库基于Starrocks的主要好处进行了企业级别的优化和绩效增强。企业的功能级别更完整的功能级别为复杂的业务应用程序方案提供了更丰富,更成熟的功能:多个软件设施(多重虚拟仓库):简化的建筑设计允许根据各个部门,地区或业务群体的需求进行这些企业。这不仅可以防止物理簇的流动引起的垂死结构,而且还为每个分支提供了单独的计算源需求,这大大提高了管理的使用和灵活性。对Starrocks资源分离原则的评估也反映了其对多租赁和资源部门的思考。 RBAC(基于角色的访问控制,基于角色的访问控制):提供精制的同意管理系统,以确保安全和遵守数据访问。 Visual SQL编辑器:内置和易于使用的SQL开发工具,可提高数据审核和发展效率。实体视图的自动建议:基于查询和数据加载属性,这些建议是创建实现的视图,以进一步加速查询。总结Starrocks,并得到三种基本技术的支持:矢量化执行引擎,CBO优化器和柱状存储,Jingzhou Technologn帮助许多财务,零售和制造公司可以生成数据级数据平台,这些数据平台可以实现毫秒实时评论。这些技术不仅解决了他的性能瓶颈是传统数据架构的瓶颈,但也降低了成本复杂性和企业维护。随着数据量表的不断增长和实时需求的持续改进,Jingzhou技术将继续加深现代技术,并继续致力于AI智能优化和多云部署,以提供更强大的Kakadata分析,以使企业更改数字。