导读:实时数仓是一种能够实时处理和分析数据的数据仓库系统。它通过对大量数据进行实时采集、处理、存储和分析,将最新的数据及时地整合到数据仓库中,并且可以实时响应用户的查询和分析需求。实时数仓国内的开源项目: Apache Doris,性能全球第一的商业产品 SelectDB 是基于 Apache Doris 构建的现代化数据仓库,以下是关于商业产品 SelectDB 涉及到的一些技术类专业名词解析。
极致性能
向量化 定义:向量化(Vectorization)是一种优化数据处理的技术,它允许计算机程序同时对多个数据元素执行相同的操作,而不是逐个处理它们。在编程中,特别是在处理数组、矩阵或类似数据结构时,向量化可以显著提高程序的运行速度和效率。 优点:通过减少循环和条件判断,提高了数据处理的并行性和效率。 应用:在数据库查询、机器学习、科学计算等领域广泛应用。
MPP 查询 定义:MPP(Massively Parallel Processing,大规模并行处理)查询是一种高性能的数据处理架构,它通过并行处理和分布式计算技术,实现对大规模数据的快速分析和查询。 特点:MPP架构通过多个计算节点和存储节点并行处理数据,以支持高速查询和实时数据分析。 应用:常用于构建企业级数据仓库和大数据分析平台。
Pipeline 执行 定义:Pipeline执行是一种数据处理模式,其中数据在多个阶段或组件之间连续流动,每个阶段都对其输入数据进行处理,并将结果传递给下一个阶段。 优点:通过并行处理多个阶段,Pipeline执行可以显著提高数据处理的速度和效率。 应用:在数据流处理、ETL(Extract, Transform, Load)过程、机器学习流水线等场景中广泛使用。
智能优化器 定义:智能优化器是数据库管理系统中的一个组件,负责根据查询的特性和数据的统计信息,自动选择最优的查询执行计划。 功能:智能优化器可以评估不同的查询执行计划,并选择成本最低、性能最优的计划来执行查询。 优点:通过自动优化查询执行计划,可以提高查询的响应速度和性能。
列式存储 定义:列式存储是一种数据库存储技术,其中数据按列而不是按行进行存储。 优点:列式存储可以更有效地压缩数据、提高查询性能(特别是对于需要读取大量列但仅使用其中几列的查询),并简化数据分析和数据挖掘任务。 应用:常用于数据仓库、大数据分析、机器学习等领域。
物化视图 定义:物化视图是一种预计算的查询结果集,它存储在数据库中,并可以在需要时直接访问,而无需重新计算查询。 优点:物化视图可以显著提高查询性能,因为它们已经包含了所需的数据,并且可以直接访问。 应用:在实时数仓中,物化视图常用于存储预聚合的数据,以便快速响应复杂的分析查询。
查询和数据缓存 定义:查询和数据缓存是一种技术,用于存储之前执行过的查询的结果或经常访问的数据,以便在后续请求时快速提供这些数据。 优点:通过减少数据库访问和重复计算,查询和数据缓存可以显著提高系统的响应速度和性能。 应用:在实时数仓和在线分析处理(OLAP)系统中广泛使用。
自适应执行 定义:自适应执行是一种查询执行策略,其中查询执行计划在执行过程中可以根据实际情况进行调整和优化。 优点:自适应执行可以处理查询执行过程中的不确定性,如数据分布的变化、系统负载的变化等,并动态地调整执行计划以获得最佳性能。 应用:在复杂的实时数仓环境中,自适应执行可以帮助系统更好地应对各种挑战和变化。
高并发点查 定义:高并发点查是指在高并发的环境下,对数据库中的特定记录或数据进行快速、准确的查询操作。它要求数据库系统能够高效处理大量并发的、针对特定数据点的查询请求。 优点:提高了系统的响应速度和吞吐量,确保了在大量用户同时访问系统时,依然能够快速地提供准确的数据服务。 应用:常见于在线交易系统、社交媒体平台、电商网站等需要处理大量并发请求的系统中。
分区分桶 定义:分区分桶是一种数据管理技术,它将数据划分为多个区域(分区)或桶,以便进行更高效的数据存储、查询和管理。通过将数据分散到不同的分区或桶中,可以提高数据处理的并行性和扩展性。 优点:减少了查询和更新操作的数据扫描范围,提高了数据处理的效率和响应速度。同时,分区分桶也便于数据的备份、恢复和扩展。 应用:广泛应用于分布式数据库、大数据存储和处理系统、云计算等领域。
自增列 定义:自增列(Auto-Increment Column)是数据库中一种特殊的列类型,其值在插入新记录时会自动递增。这种列通常用于为主键或唯一标识符生成唯一的数值。 优点:简化了主键或唯一标识符的生成过程,避免了手动分配和管理这些值的复杂性。同时,自增列也确保了数据的一致性和完整性。 应用:在关系型数据库中广泛使用,如MySQL、SQL Server、Oracle等。
表索引 定义:表索引(Table Index)是数据库中的一种数据结构,用于加速对表中数据的检索速度。它类似于一本书的目录,通过维护表中数据的引用信息,可以快速定位到需要查询的数据行。 优点:显著提高了查询性能,减少了数据检索的时间。同时,表索引也可以加速数据的排序和分组操作。 应用:几乎在所有的关系型数据库中都会使用表索引来优化查询性能。常见的索引类型包括B树索引、哈希索引等。
云原生
存算分离 定义:存算分离是一种架构设计理念,它将数据存储(Storage)与数据处理/计算(Compute)功能进行物理或逻辑上的分离。 优点:提高了系统的可扩展性、灵活性和可靠性,允许独立地扩展和管理存储和计算资源。 应用:在分布式系统、云计算、大数据分析等领域广泛应用。
冷热分离 定义:冷热分离是一种数据存储策略,它将数据按照访问频率或重要性分为“热数据”和“冷数据”,并分别采用不同的存储和处理方式。 优点:优化了存储成本,提高了数据访问效率,并增强了数据管理的灵活性。 应用:在数据库设计、数据仓库、归档存储等领域广泛应用。
计算弹性伸缩 定义:计算弹性伸缩是指根据工作负载的变化自动调整计算资源(如CPU、内存等)的能力。 优点:提高了系统的可伸缩性和资源利用率,降低了运营成本。 应用:在云计算、大数据分析、在线服务等领域广泛应用。
K8S支持 定义:K8S支持是指系统或平台能够与Kubernetes(K8S)集成,并利用Kubernetes的功能来管理容器化应用程序和集群资源。 优点:提供了强大的容器编排和管理功能,简化了应用程序的部署、扩展、升级和监控。 应用:在云原生应用开发、微服务架构、持续集成/持续部署(CI/CD)等领域广泛应用。
半结构化数据分析
复合数据类型 定义:复合数据类型是由多个基本数据类型(如整数、浮点数、字符等)组成的数据结构,如数组、结构体、类等。 优点:可以更方便地组织和管理复杂的数据结构,提高编程效率和代码的可读性。 应用:在编程、数据建模、数据库设计等领域广泛应用。
动态schema表 定义:动态schema表是指在运行时可以更改表结构的数据库表。 优点:提供了更大的灵活性,允许根据业务需求动态地添加、删除或修改表的字段。 应用:在需要频繁修改表结构的数据库应用中广泛使用。
高效字符串处理 定义:高效字符串处理是指通过优化算法和数据结构来提高字符串操作(如查找、替换、分割等)的效率。 优点:提高了数据处理的速度和效率,减少了计算资源的消耗。 应用:在文本处理、自然语言处理、数据库查询等领域广泛应用。
湖仓一体
联邦分析 定义:联邦分析(Federated Analysis)是一种数据处理和分析的方法,它允许在多个分散的数据源上进行数据分析和计算,而无需将这些数据物理地集中到一个中心位置。这种方法通过构建一个联邦查询系统,允许用户透明地访问和查询多个数据源,并在这些数据源之间执行分析任务。 优点:
- 数据隐私保护:由于数据不需要集中,可以更好地保护数据隐私和安全性。
- 灵活性和可扩展性:可以轻松地添加或删除数据源,支持各种类型的数据存储和分析系统。
- 高效的数据分析:通过优化跨多个数据源的数据传输和分析流程,提高分析效率和准确性。 应用:
- 多数据源集成:在需要集成多个数据源进行联合分析的场景中,如金融、医疗、电商等领域。
- 数据仓库与数据湖分析:在大型数据仓库或数据湖中,联邦分析可以实现对不同存储格式和技术的数据进行分析。
- 隐私保护计算:在需要保护用户隐私的场景中,如跨机构数据分析、个人数据隐私保护等。 联邦分析在现代数据分析领域扮演着越来越重要的角色,它使得组织能够充分利用其分散在多个系统中的数据资源,同时保持数据的安全性和隐私性。
元数据映射 定义:元数据映射是指将数据的元数据(如数据结构、属性、关系等)映射到特定的表示或模型上,以便于数据的查询、分析和处理。 优点:提供了数据的抽象和标准化表示,简化了数据的访问和管理。 应用:在数据仓库、数据集成、数据挖掘等领域广泛应用。
元数据缓存与更新 定义:元数据缓存与更新是指在访问数据时,先将元数据存储到缓存中,并根据数据的变化实时更新缓存中的元数据。 优点:提高了数据的访问速度,减少了对数据库的频繁访问,降低了系统的负载。 应用:在数据库查询、数据仓库、数据集成等领域广泛应用。
数据缓存 定义:数据缓存是指将经常访问的数据存储在高速缓存中,以减少对慢速存储设备的访问次数。 优点:提高了数据的访问速度和系统的响应能力,降低了系统的负载和成本。 应用:在Web应用、数据库查询、大数据分析等领域广泛应用。
开放数据格式查询 定义:开放数据格式(组件:Paimon、Delta Lake、Hive、Hudi、Iceberg)查询是指支持使用开放的数据格式(如JSON、XML等)进行数据查询的技术或系统。 优点:提供了跨平台、跨语言的数据查询能力,促进了数据的共享和交换。 应用:在Web服务、API设计、数据集成等领域广泛应用。
混合负载
算子落盘 定义:算子落盘是指在计算过程中,将中间结果或算子状态持久化到磁盘或其他存储介质上,以便于后续的计算或恢复。 优点:提供了计算的容错能力和持久性,确保了在故障或重启后能够继续之前的计算。 应用:在大数据处理、分布式计算、机器学习等领域广泛应用。
混合负载管理器 定义:混合负载管理器是指能够同时处理多种不同类型的工作负载(如批处理、实时分析、在线服务等)的系统或组件。 优点:提高了系统的资源利用率和响应能力,满足了多样化的业务需求。 应用:在云计算、大数据分析、微服务架构等领域广泛应用。
通用DML 定义:通用DML(数据操作语言)是指一种设计用来跨多种不同数据库和数据源类型(如关系数据库、NoSQL数据库、图形数据库等)执行数据操作(如增删改查)的标准化语言或接口。 优点:提高了开发效率和代码复用性,开发者无需为每个不同的数据源编写特定的DML代码;降低了系统的复杂性和维护成本,因为可以使用统一的DML来处理不同的数据源;增强了系统的灵活性和可扩展性,可以方便地添加新的数据源类型。 应用:在数据集成、数据仓库、数据湖、微服务架构等需要处理多种数据源的场景中广泛应用。
多cluster 定义:多cluster是指在一个系统中部署和运行多个独立的集群(cluster),每个集群可能包含多个节点(node),用于处理不同的任务或数据。 优点:提高了系统的可靠性和容错能力,因为不同的集群可以独立运行,并且故障可以在集群之间隔离;增强了系统的可扩展性,可以根据需要增加或减少集群中的节点数量;允许不同的业务或工作负载在不同的集群上运行,以优化资源利用率和性能。 应用:在云计算、大数据分析、分布式系统等领域广泛应用,特别是在需要处理大规模数据或高并发请求的场景中。
物化视图、多表物化视图 定义:物化视图(Materialized View)是数据库中一种特殊类型的视图,它包含了查询结果的物理存储数据,而不是像常规视图那样只保存查询语句的定义。物化视图可以预先计算并存储查询的结果,从而在后续查询时直接返回结果,而无需重新执行查询;多表物化视图是指基于多个数据表创建的物化视图(materialized view),它存储了查询结果的副本,而不是实时计算查询结果。 优点:提高了查询性能,因为物化视图中的数据已经预先计算并存储,减少了实时查询的计算量;降低了对源表的访问频率,减少了系统的负载和响应时间;允许对多个表进行复杂的查询和聚合操作,并将结果存储在物化视图中供后续使用。 应用:在数据仓库、报表系统、决策支持系统等需要频繁查询和聚合大量数据的场景中广泛应用。