资讯详情

资讯详情

INFORMATION DETAIL

技术分享:分布式智能数据库AiSQL中的可查询压缩技术

2024-09-24 19:41:23

一、背景

随着大数据时代的发展,现实数据大幅度增长。结构化数据作为数据中的高质量部分,也日益增多。数据库管理系统在存储海量的结构化数据时,难免会出现存储空间不足的潜在问题。因此,数据压缩存储成为了当今数据库管理系统的核心功能之一。

在诸多的数据压缩存储技术中,大部分技术都将整个数据表单或其索引表作为文件或者固定大小的数据块集合进行压缩存储。但是,这种方式并没有利用数据库中数据的特性来进行压缩,只利用了文件或磁盘页面中的二进制数据分布来进行压缩,难以达到更高的压缩率。目前,利用数据库中的数据特性进行压缩的大部分技术都只适应于模式简单的图数据库中。即使存在个别技术能针对关系型数据库进行数据压缩,这些技术在数据库查询回答阶段都需要将压缩后的数据进行局部甚至是全局的解压还原才能返回正确完备的答案。

可见,现有的大量数据压缩存储技术都不能充分利用关系型数据库中的数据特性进行无需解压还原的可查询压缩。为解决这一难题,贝格迈思创新性地研发了分布式智能数据库系统AiSQL,其内置的可查询压缩技术能够充分依托关系型数据的特性实现压缩,同时不需要针对压缩数据进行解压还原就能精确回答用户的查询,从而为数据库提供了低成本的存储能力和高性能的查询回答能力。该项可查询压缩技术已经成为公司的发明专利技术《可查询压缩领域的压缩方法、检索方法及设备》(专利号ZL 2024 1 0154919.X),通过国家知识产权局实质审查并授权(授权公告号CN 118018031 B)。

图1 可查询压缩技术专利证书

二、常用压缩方法

压缩方法的分类错综复杂,其多样性源于不同应用场景下的特定需求与数据特性。一般而言,压缩技术可以从多个维度进行分类,包括但不限于算法复杂度、压缩效率、数据损失与否等。在众多分类维度中,通用压缩、语义压缩与列式压缩是三种尤为重要的类型,它们各自拥有独特的原理与方法。以下将介绍通用压缩、语义压缩、列式压缩及其相应的原理、方法等。

1、通用压缩

通用压缩方法主要关注数据的统计特性,而不考虑数据的具体含义或语义信息。这些方法可以应用于各种类型的数据,从文本到二进制文件都适用。通用压缩的核心思想是利用数据中的统计规律和冗余信息来减少数据的存储空间。

常见的通用压缩技术如空值压缩,通过剔除空值节省空间;字典编码,用短代码替换重复数据项;块压缩,分割数据块单独压缩以提高访问效率;游程编码,简化连续重复数据;哈夫曼编码,依据频率分配变长编码以达到理论最优压缩率;以及LZ系列算法,通过引用历史数据压缩,具有强大适应性。

这些通用压缩方法的共同特点是它们不需要理解数据的具体含义。它们仅仅关注数据的统计特性,如重复模式、出现频率等。这使得这些方法可以广泛应用于各种类型的数据,但也意味着它们可能无法充分利用特定类型数据的语义信息来实现更高效的压缩。

2、列式压缩

列式压缩是指将数据按列而非按行进行存储和压缩的方法,每一列的数据被单独存储和压缩。它是一种特殊的数据压缩技术,主要用于数据库系统和数据仓库中。列式压缩利用列内数据的相似性实现高效压缩,减少存储空间并优化查询性能。

列式压缩方法多样,如前缀压缩利用列中值的共同前缀减少存储;位向量编码通过位图表示列值,适合基数低的列;字典编码用整数ID替换原始值,适合重复值多的列。此外,差异编码存储相邻值之差,适用于递增或递减序列;行程编码压缩连续重复值;参照系编码则选择参照值,存储差异值,适用于数值集中的列。这些方法常结合使用,根据数据类型、基数和分布等特征选择最佳组合,以最大化压缩效率和查询性能。

列式压缩在数据存储和查询性能方面具有显著优势,主要体现在其能够利用列数据的特性实现高压缩率,大幅减少存储空间和I/O开销,同时支持直接在压缩数据上执行某些查询操作,从而显著提升查询效率,特别是在涉及大量聚合和扫描操作的分析型工作负载中表现出色。

然而,列式压缩也面临一些挑战:它可能会降低写入和更新操作的性能,因为压缩和解压缩过程会增加额外的计算开销;同时,某些压缩方法(如前缀压缩)可能会使得随机访问变得困难,需要额外的索引支持。

3、语义压缩

语义压缩是一类利用事实集中的高级语义关系进行压缩的技术,利用对数据内容和结构的理解来进行压缩。与一般的通用压缩算法相比,语义压缩可以在保持较高压缩率的同时,提供更好的可解释性和可查询性;此外,语义压缩可以在列式压缩后进一步压缩数据,因为列式压缩只修改数据列、不增减数据列,而语义压缩主要用于减少数据行,两类压缩技术可以一起使用。

图压缩是典型的语义压缩方法。它是一种专门针对图结构数据的压缩方法,利用图的拓扑结构和语义信息来减少数据量,主要包括Contraction(图收缩)、Compression(图紧缩)和Summarization(图摘要)三种技术。

Contraction(图收缩)通过合并相似或相关节点来简化图,包括边收缩、节点收缩和社区收缩,适用于不同场景如社交网络分析和生物信息学。Compression(图紧缩)聚焦于识别图中的规律和冗余,利用邻接表、标签及结构压缩,以更紧凑的方式编码图结构,实现存储空间的极大节省,适用于大规模网络存储和图数据库优化。Summarization(图摘要)创建原图的小型代表性子图,使用聚类基础摘要、基于重要性的摘要及频繁模式摘要方法,保留关键结构和属性,便于大规模图的可视化与快速分析。

这三种技术各有侧重点,Contraction更注重结构的简化,Compression更注重存储和传输的效率,而Summarization则侧重于提取关键信息。在实际应用中这三种技术在实际应用中可以结合使用,以实现更高效的图数据压缩。例如,通过Contraction 减少图的规模,然后应用Compression技术来进一步降低数据量,最后通过Summarization提供图的高级抽象表示,以便进行快速的分析和决策。

然而,压缩后的图结构数据在接受查询访问时需要先进行局部甚至是全局的解压还原才能返回正确完备的答案。

三、构建可查询压缩的挑战

由前文介绍可知,通用压缩无法充分利用特定类型数据的语义信息来实现更高效的压缩;列式压缩可直接在压缩数据上执行某些查询操作,但只涉及数据列的改变;现有语义压缩方法在压缩之后的每次查询都需要先对事实库进行解压,降低了查询效率。

那么,如何在数据库内更好地实现可查询压缩呢?贝格迈思凭借其自主研发的分布式智能数据库系统AiSQL,成功地在数据库层面集成了创新的可查询压缩技术。库内数据先进行列式压缩,其后再进一步进行可查询语义压缩,从而在显著提升数据压缩率的同时,确保了查询操作的流畅与高效。

对于实现可查询语义压缩,我们的核心策略是采用查询重写技术。这一技术将帮助我们重新构造查询语句,以便在保持查询意图不变的同时,利用语义压缩的优势,从而达成压缩与查询的和谐共存。查询重写的核心在于通过不同的执行路径访问压缩后的数据,以保证最终的查询结果不变。

运用查询重写技术来实现可查询语义压缩存在以下三个主要挑战:

1、如何在没有解压的事实库上查询到正确完备的结果集?

我们可以删除哪些事实?在探索哪些事实可以被安全删除以优化存储时,我们必须细致入微地分析事实之间的复杂依赖关系。这些关系如同错综复杂的网络,每一个事实都可能是推理链条中不可或缺的一环。因此,我们必须谨慎行事,以免在删除某些事实时,不经意间切断了其他事实的推理路径,进而导致查询结果无法覆盖所有相关信息,造成结果集的不完备。

我们如何进行查询?我们面临的核心挑战在于如何设计并实施一种高效且精确的查询机制。在查询阶段,我们需要一种智能的查询重写技术,它能够深入理解压缩后的事实库结构,自动调整查询语句,以适应这种压缩存储方式带来的变化。通过这种重写过程,我们不仅要确保查询能够穿透压缩层,触及到所有相关的数据点,还要保证返回的结果完全符合用户的查询意图,既正确无误又全面详尽。

2、如何在保证压缩后事实库的可查询特性的前提下尽量提高压缩率?

为了实现这一目标,我们需要采取一种策略,即移除所有规则头中的冗余或可替代部分,以此作为压缩的基石。这一过程的成功与否,直接取决于我们所处理的规则的复杂程度与总体数量。具体来说,规则的规格越统一、数量越庞大,往往意味着通过标准化和合并手段所能实现的压缩空间就越大。

然而,随之而来的一个重大挑战在于,如何在保证压缩效率的同时,仍然能够生成大量具有高支持度的规则。这些规则不仅是查询操作的基础,更是确保查询结果准确性和全面性的关键。

3、如何提高在压缩事实库上的查询效率?

查询重写作为提升查询性能的关键技术之一,在压缩事实库的场景下显得尤为重要。然而,这一过程往往会生成多个子查询,这些子查询的并发执行效率直接影响到整个查询任务的完成时间。因此,如何确保这些子查询能够高效、有序地并行处理,成为了构建可查询语义压缩时不可忽视的另一个核心问题。

为了应对上述提到的多重挑战,贝格迈思设计了创新的可查询语义压缩技术解决方案。该方案旨在通过先进的技术手段,在保证数据压缩效率的同时,确保用户能够高效、准确地查询到所需的信息,从而满足多样化的数据处理和分析需求。

首先,我们采用了特别设计的规则学习器,该学习器擅长于处理并生成包含常量的Datalog规则,这些规则不仅数量充足,而且支持度较高。为了进一步确保数据完整性和查询准确性,我们对挖掘出的Datalog规则施加了严格的置信度要求,即所有规则的置信度必须达到1。这一举措的核心目的是,即使部分事实在压缩过程中被移除,剩余的事实也能通过这些高置信度的规则完全推导出被删除的事实,从而避免了信息损失,并在任何查询场景下都能返回准确无误的结果。

其次,在实施事实移除的过程中,我们采取了一种策略性的排序方法,依据事实的重要性进行优先级排序。具体而言,那些更易于通过逻辑推理得到的事实被赋予了较高的移除优先级,意味着它们会首先被考虑删除。这一做法的精髓在于,通过优先移除这些低依赖、高可推导性的事实,我们能够最大限度地减少对其他事实删除的潜在影响,进而在保持信息完整性的同时,实现了更为高效的压缩效果,降低了整体的压缩率。

再者,为了优化查询效率,我们在规则挖掘阶段就设立了规则长度的限制。这一策略确保了最终生成的规则在重写后保持简短,有效地缩减了查询过程中的计算量和数据操作复杂度。通过这种方式,我们成功降低了查询的总体时间成本,显著提升了系统的响应速度和查询效率。

四、可查询语义压缩技术

贝格迈思可查询语义压缩技术由两大核心模块构成:压缩模块与查询模块。这两个模块在具体实施中分别对应着离线压缩阶段与在线查询阶段。接下来,我们将逐一深入阐述这两个阶段的执行过程,及可查询语义压缩技术的总体效果。

1、离线压缩阶段

在离线压缩阶段中,我们采用了一套精细且高效的策略,其核心在于通过智能的算法处理,以实现信息的高效存储与快速检索。首先,我们启动了规则挖掘阶段,这一阶段依赖于先进的规则挖掘算法——AnyBurl。该算法深入剖析事实库,利用其强大的模式识别与关联发现能力,从中精准地挖掘出那些具有100%置信度的规则。这些规则代表了数据中最为坚实、无歧义的知识基础,是后续压缩工作的基石。

紧接着,我们进入规则的筛选与优化环节。面对从事实库中提取的海量规则,我们采用了一套严谨的筛选机制,旨在识别并提取出一阶可重写的最大子集作为最终的压缩规则集。这一过程不仅要求规则本身具有高度的准确性和可解释性,还强调规则之间的互补性和冗余性最小化,以确保压缩后的规则集既精简又全面,能够最大限度地保留原事实库中的关键信息。

随后,我们启动了事实移除算法的执行流程。这一步骤是压缩过程的核心,它逐一审视并评估事实库中的每一个事实项,利用先前构建的压缩规则集作为推理引擎,尝试从规则集中推导出这些事实。若某事实能够被规则集完全推导出来,即表明该事实在规则集下是冗余的,因此可以安全地从事实库中移除。这一过程循环往复,直至事实库中的每一个事实都被仔细考察,所有可由规则集推导出的冗余事实均被成功移除。

最终,当所有潜在的冗余事实都被逐一验证并移除后,压缩过程圆满结束。此时,所得到的是一个高度精炼且依然保持完整知识表达能力的压缩后事实库与规则集。

总的来说,离线压缩阶段采用了一系列高效的方法来实现数据的有效压缩,这些方法包括规则挖掘技术来识别并提取数据中的潜在模式,进而筛选出能够一阶可重写的最大子集以减少数据冗余。同时,应用事实移除算法,在不丢失重要信息的前提下移除不必要的事实,以进一步缩减数据量。该阶段的特色在于其压缩过程是可逆的,即压缩后的数据能够完整地还原回原始状态,确保了数据的完整性和可用性。

这一压缩过程不仅显著减少了数据的存储需求,提高了数据处理的速度,还增强了对应知识库的可维护性和可扩展性,为后续可能出现的查询推理等任务奠定了坚实的基础。

2、在线查询阶段

在线查询阶段中,我们收到用户提交的查询请求,该请求的目的为从庞大的事实库中检索出符合特定条件的数据或信息。为了优化查询性能,提升查询的准确性与效率,我们采用了先进的查询重写算法——PURE(Pure Query Rewriting Engine),作为处理流程的核心。

首先,PURE算法对输入的原始查询进行深入分析,识别其结构特点、逻辑关系以及潜在的优化空间。基于这些分析,算法会智能地重构查询,通过一系列复杂的转换与优化策略,生成一个或多个查询重写集。这些重写后的查询在保持原查询意图不变的同时,往往能够更有效地利用事实库中的索引、减少数据扫描范围、优化连接操作等,从而显著提升查询执行的速度和效率。

接下来,我们并行地在事实库中执行查询重写集中的每一个查询。这一步骤将充分利用AiSQL的并行处理能力,以及事实库本身的存储与检索机制,确保每个查询都能快速、准确地从事实库中检索出相关数据。

最后,我们进入查询结果合并阶段。这一阶段的任务是将所有查询重写集执行后得到的查询结果进行整合。合并过程中,我们会根据查询的语义要求,对结果进行去重、排序、聚合等操作,以确保最终呈现给用户的查询结果是准确、完整且有序的。

在线查询阶段通过实施查询重写技术来实现用户请求的精确处理,该技术能够智能地将用户的原始查询转换为更高效、更优化的查询形式,其特色为从庞大的数据集中检索出的结果既正确又完备,充分满足用户的查询需求。

3、总体技术效果

贝格迈思的可查询语义压缩技术,能够显著优化并实现一系列总体效果,引领数据处理领域迈向新的高度。该技术不仅实现了数据的高效压缩,有效缓解了海量数据存储与传输的压力,更在压缩的同时保留了数据的完整语义信息,确保了数据的可用性与准确性。具体而言,其总体效果可归纳为以下几个方面:

(1)高效数据压缩

该技术通过深度挖掘并利用关系型数据库中的Horn逻辑规则等数据特性,实现了数据的高效压缩,显著降低了数据库的存储需求,使得压缩后的数据量级有望远低于原始数据库。同时,该技术确保了无损压缩,保证了合取查询在压缩数据上的精确回答,既节省了存储空间又保证了数据的完整性和准确性。

(2)优化查询性能

该技术通过在线查询阶段的高效处理,能够在不改动压缩数据的前提下,迅速响应并精确回答针对原始数据库的任意合取查询,显著提升了查询效率。同时,引入的一阶可重写逻辑规则集将复杂的查询请求简化为多个简单的合取查询,有效减少了查询处理的计算量,进一步提升了查询性能。

(3)智能逻辑推导

在离线压缩阶段,该技术能够自动深入数据库内部,挖掘出表达数据记录间依赖关系的逻辑规则,有效识别并消除冗余数据。通过精心构建并仅保留一个能最大化消除冗余且保持一阶可重写的逻辑规则集,该技术确保了逻辑推导过程既精确又高效,为数据压缩和查询处理奠定了坚实的基础。

(4)支持复杂查询

该技术针对合取查询进行了深度优化,允许在不解压数据的情况下精确响应此类查询,而合取查询作为复杂查询构建的基础,这一优化为处理更广泛的查询类型提供了可能。通过转换策略,任何数据库查询都能被转化为合取查询的集合进行处理,从而间接地支持了多类型的数据库查询需求,展现了强大的查询处理能力。

(5)提高数据管理能力

该创新技术显著增强了数据管理的灵活性与可扩展性,不仅高效处理结构化数据,还通过独特处理机制支持复杂的跨表数据关联与布尔逻辑关系过滤,满足多样化的查询需求。同时,其基于一阶逻辑构建的规则集为数据未来的扩展与结构变更构建了坚实的基础,确保系统能够轻松应对变化,持续保持高效与稳定。

(6)减少维护成本

采用先进的压缩技术不仅有效缩减了数据存储空间,显著降低了存储成本,还极大简化了数据管理的复杂性,提升了操作的便捷性。此外,该技术通过减少对高性能硬件的依赖,降低了因存储空间限制而引发的系统问题风险,从而显著增强了系统的稳定性和可靠性,进一步缩减了长期的维护成本。

五、贡献

贝格迈思通过创新性的研发,设计并实现了无需解压即可直接查询的语义压缩技术。这不仅代表了压缩技术与信息检索领域的一次重大突破,更为未来的数据处理与智能交互开辟了新的可能性。

1、压缩框架

我们首次提出了一个前所未有的语义压缩框架,其包含了压缩模板和查询模块,独树一帜地引入了无需事先解压即可直接进行查询的先进理念。这一革命性的设计,彻底颠覆了传统压缩技术的使用模式,为用户带来了前所未有的便捷与高效。

2、应用查询重写技术

在我们的创新实践中,我们深刻认识到查询重写技术对于实现可查询的语义压缩与高效查询机制的至关重要性。因此,我们提出并深入探索了将查询重写技术巧妙地融入语义压缩框架中的策略,旨在进一步提升数据处理的灵活性与查询效率。借助查询重写技术,我们能够更加高效地在压缩数据集中检索到用户所需的信息,从而实现了可查询的语义压缩与高效查询的双重目标。这一过程不仅显著提升了数据处理与查询的效率,还为用户带来了更加流畅、便捷的使用体验。

3、提出可查询压缩适配的规则挖掘算法

我们的研究通过提出可查询压缩适配的规则挖掘算法,成功构建了高效灵活的可查询压缩系统。该算法创新性地运用支持常量的规则学习器,深入挖掘压缩数据中的Datalog规则,特别是那些包含常量的规则,这些常量在压缩过程中具有关键意义。通过迭代式学习过程和启发式搜索策略,我们提取出逻辑一致且可优化查询的一阶可重写规则集,为压缩数据提供了直接且高效的查询能力,同时增强了系统的可扩展性和灵活性,为大规模数据的语义压缩与查询处理开辟了新路径。

六、结论

贝格迈思凭借其前瞻性的视野与深厚的技术积累,突破性地研发出了分布式智能数据库系统AiSQL,这一里程碑式的创新成果彻底革新了传统数据库的管理模式。值得称道的是,贝格迈思开创性地提出了无需解压即可直接查询的语义压缩框架。这一革命性的设计彻底颠覆了以往数据压缩与查询必须分步骤进行的常规模式。它不仅标志着压缩技术与信息检索领域的一次深刻融合与重大突破,更为数据的实时处理、快速检索以及智能化应用提供了前所未有的便捷与高效。这一框架的出现,不仅解决了大数据环境下数据存储与处理的瓶颈问题,还极大地提升了数据分析的时效性与准确性,为各行各业的数字化转型注入了强大动力。

展望未来,AiSQL以其独特的优势与广泛的应用前景,正逐步成为推动信息时代技术进步的关键力量。它不仅能够满足当前复杂多变的业务需求,更将引领我们迈向一个更加智能、高效、灵活的数据处理新时代。在这一过程中,贝格迈思将扮演至关重要的角色,持续推动技术边界的拓展与产业升级的深化。

产品与服务

解决方案

资源中心

关于我们

联系方式

深圳市南山区粤海街道高新南七道国家工程实验室大楼A1402

0755 - 8670 1822

贝格迈思微信公众号

仅在办公网络环境可见