CN103942342B - 一种内存数据库oltp&olap并发查询优化方法 - Google Patents
一种内存数据库oltp&olap并发查询优化方法 Download PDFInfo
- Publication number
- CN103942342B CN103942342B CN201410198279.9A CN201410198279A CN103942342B CN 103942342 B CN103942342 B CN 103942342B CN 201410198279 A CN201410198279 A CN 201410198279A CN 103942342 B CN103942342 B CN 103942342B
- Authority
- CN
- China
- Prior art keywords
- data
- record
- row
- olap
- pointer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种内存数据库OLTP&OLAP并发查询优化方法,其步骤为:1)采用双查询处理引擎,对维表和事实表采用独立的存储引擎;2)维表采用嵌入式存储引擎独立的并发控制机制进行更新;事实表在逻辑上相当于若干个连续的数组,系统维护两个动态数据结构:读记录指针和写记录指针,读记录指针记录当前OLAP查询的最后一条记录位置,写记录指针记录新记录的插入位置;3)OLTP事务队列与OLAP事务队列以写指针和读指针为分界各自独立执行;事实表采用基于固定行数的列存储水平分片模型,N行列存储记录作为一个独立的列存储容器,每个列存储容器采用独立的数据压缩机制;4)OLAP查询在访问列存储容器时由列存储容器访问接口提供对压缩或非压缩数据上的访问功能。
Description
技术领域
本发明涉及一种混合OLAP(分析型查询处理)和OLTP(事务型查询处理)的查询优化方法,特别是关于一种数据库管理技术领域中面向OLAP模式和负载特征的内存数据库OLTP&OLAP并发查询优化方法。
背景技术
数据库技术可以分为事务型查询处理(on-line transaction processing,OLTP)和分析型查询处理(on-line analytical processing,OLAP)两种主要类型,其中,事务型查询处理主要是对数据库中数据的增加、删除、修改操作,事务执行时间短,需要满足产ACID(原子性、一致性、隔离性、持久性)特性,需要通过复杂的并发控制机制保证事务执行的正确性;分析型查询处理主要以采用多维存储模型(星形模型或雪花形模型)的数据仓库中的多维分析处理为代表,需要通过事实表与多个维表之间的连接操作完成分组聚集计算,是一种只读的长程(long-running query)执行事务。传统的OLTP和OLAP由不同的数据库系统支持,分别采用不同的存储模型,如OLTP数据处理采用行存储模型,OLAP数据处理采用列存储模型,需要在OLTP和OLAP数据库中各自保留维表和事实表,并周期性地进行合并。当前的一个发展趋势是在内存OLAP数据库中统一地集成OLTP&OLAP功能,实现OLTP和OLAP平台的统一,支持OLAP在实时数据上的分析处理。
当前内存数据库混合OLTP&OLAP方法主要分为两种类型:通过硬件支持的snapshot机制动态隔离OLTP和OLAP事务,保证OLTP和OLAP的并发执行;通过delta表机制动态地将OLTP事务数据转移到OLAP数据库中,如Vertica(WOS、ROS、Tuple Mover)、Vectorwise(differential update mechanism)、SAP HANA (L1-delat、L2-delta、Mainstore机制)等。这些OLTP&OLAP并发查询处理机制主要从数据的并发访问控制的角度来解决事务与分析型查询的并发数据访问问题,而没有从OLAP模式特点和负载特点的角度来分析OLTP和OLAP事务所对应的不同数据集,即OLAP和OLTP事务在事实表和维表上的不同需求(事实表上的insert-only特性和在维表上的通用更新需求)。
从模式的角度来看,OLAP采用星形或雪花形模型,位于中心的事实表与多个维表(维表的进一步分解形成雪花形)具有不同的数据更新特点:维表上的OLTP需求包括维属性的增加(insert)、删除(delete)和修改(update),但维表具 有缓慢增长的特点,即维表上的记录数量缓慢增长,但维表上属性的更新较为频繁(如用户维表中新用户增长较为缓慢,但大量的用户更新属性的操作较为频繁),尤其是删除操作由于维表与事实表之间具有主-外键参照完整性约束条件,必须在事实表对应记录删除后才能删除维表对应的主键记录,因此维表上的删除操作很少使用,OLTP事务主要是缓慢地增加维表记录和对维表中已有记录的修改;事实表由维表外键和数值型的度量属性组成,主要用于与维表的连接操作和进行聚集计算,数据仓库的只读特性使其通常采用insert-only的更新模式,即只能增加新的事实记录而不支持对历史事实记录的修改,当数据量较大时需要周期性地将事实记录移出数据库。因此,在混合OLTP&OLAP负载中,更新操作的核心问题是事实表上的大量insert-only更新负载所产生的并发控制问题,OLAP查询在维表上的执行时间较短(主要用于生成连接用的哈希表),而在事实表上的执行时间较长,因此维表上的并发控制机制的效率对整体OLAP查询处理时间的影响并不显著。在事实表上的insert-only更新中,除并发控制之外另一个重要的问题是事实表通常采用压缩技术,需要解决更新记录原始存储结构向压缩存储结构的转换,如HANA的L1、L2delta表机制。当前大数据应用中high-velocity(高速)的更新压力要求内存数据库能够支持大量数据的连续插入负载,压缩转换机制的效率成为影响OLTP性能的关键因素。
发明内容
针对上述问题,本发明的目的是提供一种内存数据库OLTP&OLAP并发查询优化方法,该方法面向维表和事实表上不同特征的更新需求采用不同的存储和更新策略,简化存储引擎和并发控制机制的设计,提高OLAP在high-velocity更新负载时的处理能力。
为实现上述目的,本发明采取以下技术方案:一种内存数据库OLTP&OLAP并发查询优化方法,其包括以下步骤:1)采用双查询处理引擎结构,对维表和事实表采用独立的存储引擎,分别面向更新密集型和查询密集型负载特点而选择不同的存储模型或不同的嵌入式数据库引擎;2)维表上的更新采用嵌入式存储引擎独立的并发控制机制进行更新;事实表在逻辑上相当于若干个连续的数组,系统维护两个动态数据结构:读记录指针和写记录指针,读记录指针记录当前OLAP查询的最后一条记录位置,写记录指针记录新记录的插入位置;事实表上的OLTP事务采用串行执行方式,每一个insert事务获取当前写记录指针并在完成事务后对写指针和读指针加1;3)事实表上的OLTP事务队列与OLAP事务队列以写指针和读指针为分界各自独立执行;事实表采用基于固定行数的列存储水平分片模型,N行列存储 记录作为一个独立的列存储容器,每个列存储容器采用独立的数据压缩机制,插入记录首先以原始形式存储在列存储容器中,在查询负载较轻或存储空间不足时启动列压缩进程完成对列数据的压缩处理,在数据压缩时原始数据列仍然能提供数据访问,当完成列数据压缩时,用压缩的列数据替代原始的非压缩数据列,释放存储空间;4)OLAP查询在访问列存储容器时由列存储容器访问接口提供对压缩或非压缩数据上的访问功能,屏蔽列存储容器内部数据压缩与非压缩结构的差异。
所述步骤1)中,所述存储模型采用面向模式和负载特征的异构存储模型,分别采用行存储事务型内存数据库引擎管理维表,采用列存储内存数据引擎管理事实表。
所述步骤3)中,所述数据压缩采用lazy-compression机制。
所述步骤3)中,所述事实表列存储采用列存储容器结构,每个列存储容器具有固定的记录长度,是一个独立的列存储管理器,独立进行数据压缩管理;所述列存储容器采用自管理模式,根据系统状态和查询处理的需求自主选择是否对列数据进行压缩,列数据压缩时生成独立的压缩数据列,在压缩处理时不影响非压缩数据列上的数据访问。
本发明由于采取以上技术方案,其具有以下优点:本发明由于根据维表与事实表在数据结构、数据量、数据更新特点、数据更新负载等方面存在着较大的差异,当前主流技术的OLTP和OLAP并发控制机制无法在执行时间较长的OLAP查询中分离出维表上的短事务和事实表上的长事务,增大了事务并发访问冲突概率。而本发明采用异构查询处理引擎简化了并发访问控制,在内存数据库集群平台上维表、事实表异构查询处理引擎和查询分解技术同样具有良好的适用性,提高分布式事务处理性能。
附图说明
图1是本发明实施例中的星形模型结构示意图;
图2是本发明实施例中的雪花形模型结构示意图;
图3是本发明实施例中的OLAP查询分解示意图;
图4是本发明实施例中的OLAP查询子任务流水并行执行模式示意图;
图5是本发明实施例中的事实表上的更新事务处理示意图;
图6是本发明实施例中的事实表列存储容器示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
本发明提供一种内存数据库OLTP&OLAP并发查询优化方法,其包括以下步骤:
1)采用双查询处理引擎结构,对维表和事实表采用独立的存储引擎,分别面 向更新密集型和查询密集型负载特点而选择不同的存储模型(例如维表采用行存储模型,事实表采用列存储模型)或不同的嵌入式数据库引擎(例如维表采用事务处理能力较强的内存数据库,事实表采用分析处理能力较强的内存数据库引擎);
其中,预定义OLAP分析模式为cube(数据立方体)模式,定义维表和事实表,由于多维查询不支持维表间的谓词操作,谓词操作应用于独立的维表中,因此将OLAP查询分解为维表上的查询子任务和事实表上的查询子任务,维表上的查询子任务的作用是根据查询中维表字段上的谓词和分组语句将满足谓词条件的分组属性投影出来,用于与事实表进行连接并确定所属分组。
2)维表上的更新采用嵌入式存储引擎独立的并发控制机制进行更新,不需要与事实表存储引擎采用相同的并发控制机制;事实表在逻辑上相当于若干个连续的数组,系统维护两个动态数据结构:读记录指针和写记录指针,读记录指针记录当前OLAP查询的最后一条记录位置,写记录指针记录新记录的插入位置;
事实表上的OLTP事务采用串行执行方式,每一个insert事务获取当前写记录指针并在完成事务后对写指针和读指针加1。
3)事实表上的OLTP事务队列与OLAP事务队列以写指针和读指针为分界各自独立执行,消除并发访问必须的snapshot或多版本并发控制代价;事实表采用基于固定行数的列存储水平分片模型,N行列存储记录作为一个独立的列存储容器(column storecontainer),每个列存储容器采用独立的数据压缩机制,数据压缩采用lazy-compression机制,插入记录首先以原始形式存储在列存储容器中,在查询负载较轻或存储空间不足时启动列压缩进程完成对列数据的压缩处理,在数据压缩时原始数据列仍然可以提供数据访问,当完成列数据压缩时,用压缩的列数据替代原始的非压缩数据列,释放存储空间。
4)OLAP查询在访问列存储容器时由列存储容器访问接口提供对压缩或非压缩数据上的访问功能,屏蔽列存储容器内部数据压缩与非压缩结构的差异。
上述步骤1)中,存储模型可以采用面向模式和负载特征的异构存储模型,分别采用成熟的行存储事务型内存数据库引擎管理维表,采用列存储内存数据引擎管理事实表。其中,在OLAP应用中,维表数量较多但数据量极小且数据类型丰富,维表上的更新较少且数据量增长较慢,适合采用功能比较完善的嵌入式内存数据库引擎管理复杂的数据结构、维表上的复杂谓词处理以及并发事务处理。事实表数据量大,数据增长迅速,数据类型较简单,主要执行连接、分组、聚集计算,适合一个定制式的轻量列存储引擎。
上述步骤1)中,采用异构的双查询处理引擎分离OLAP查询中维表和事实表上的数据处理任务。如下查询实例所示,查询任务Q被分解为Qcust、Qsupp、Qdate和Qlo,前三个查询子任务为在维表customer、supplier、date上的谓词处理并将分组属性投影出来,投影出的分组属性可以采用压缩形式作为事实表查询子任务的输入数据,相邻查询间的维表查询子任务和当前事实表查询子任务可以并行执行。
上述实施例中,维表上的OLTP事务由嵌入式的OLTP内存数据库引擎负责,由于维表较小且维表上的事务处理可以和当前OLAP查询中的事实表处理过程流水并行,因此对维表并发事务处理性能要求可以放松;事实表主要处理insert-only类型的大量更新操作与read-only类型的OLAP查询操作之间的并发控制问题,通过事实表读指针和写指针将事实表的查询数据与更新数据进行逻辑分隔,消除更新事务与查询事务的并发访问冲突,通过双指针事实表记录队列消除现有技术中主流技术所使用的写缓存,保证了OLTP和OLAP事务的并发执行。
上述步骤3)中,事实表列存储采用列存储容器结构,每个列存储容器具有固定的记录长度,是一个独立的列存储管理器,独立进行数据压缩管理。对于事实表查询子任务而言,列存储容器提供列数据访问接口,屏蔽列数据的存储状态(压缩/非压缩)。列存储容器采用自管理模式,即根据系统状态和查询处理的需求自主选择是否对列数据进行压缩,列数据压缩时生成独立的压缩数据列,在压缩处理时不影响非压缩数据列上的数据访问。
实施例:
在本实施例中,主要解决数据仓库典型的星形和雪花形模型上的混合OLTP&OLAP并发查询处理问题。星形模型(如图1所示)由一个事实表和若干个维表组成,维表主键与事实表外键构成主-外键参照完整性引用关系。一个典型的OLAP查询需要在相关维表上通过谓词操作选择维表中预定义的层次或维属性成员,并指定维上的分组属性,然后对事实表的度量属性进行分组聚集计算。因此,一个OLAP查询可以分解为查询在各个维表和事实表上的查询子任务序列,维表负责向事实表输出相关维度上投影出的分组序列,由事实表根据照连接属性对度量属性按分组进行聚集计算。维表与事实表之间在查询处理时依赖一种数据交换机制(如共享内存),并不需要维表与事实表采用相同的存储模型和查询处理引擎。在本发明中我们采用异构的双查询处理引擎技术,即为维表和事实表选择不同的查询处理引擎,使其分别适合维表上查询时间短、更新操作多样化(插入、删除、修改)、写优化负载的特点和事实表上查询时间长、insert-only更新模式、读优化负载的特点。
如图2所示,雪花形模型可以看作是星形模型对维表的进一步规范化分解,雪花状分枝构成一个完整的维。维表上的谓词操作和分组操作可以在维表及其维表层次表连接的基础上投影出满足谓词条件的分组属性序列,与星形模型的处理方式相同。
如图3所示,OLAP是一种多维数据集上的查询处理过程。通过查询分解方法将一个OLAP查询分解为若干维表上的操作和事实表上的分组聚集计算。一个执行时间较长的OLAP查询的只读事务被分解为一系列维表上的短事务和事实表上的较长执行时间的只读事务,OLAP查询的时间开销主要体现在事实表上的计算过程,较小的维表上的查询子任务执行时间较短,因此可以采用流水并行策略。如图4所示,Q1分解为3个维表查询子任务和一个事实表查询子任务,分别在异构的维表查询处理引擎和事实表查询处理引擎上执行,在Q1事实表查询子任务执行时,Q2的维表查询子任务可以并行地在维表查询处理引擎上执行,从而使OLAP查询Q1、Q2能够流水并行。
同时,OLTP更新负载也分解到维表查询处理引擎和事实表查询处理引擎上。维表上的OLTP事务包含通用的插入、删除、修改操作,事实表上的OLTP事务只包含事实记录的插入操作,在更新数据量上维表也远远低于事实表。通过对OLTP事务的分解,事实表上的只读事务和读写事务(insert)只需要有效地隔离只读事务执行期间产生的新记录即可,并发控制机制大大简化,事实表上执行时间较长的只读事务不会影响维表上的读写事务。
如图5所示,事实表上的并发OLTP和OLAP事务采用两个事务队列,串行执行OLTP事务,OLTP事务和OLAP事务可以并行执行,OLAP队列中的查询事务也可以并发执行。事实表采用内存列存储结构,保留两个记录指针:Rp和Wp,Rp指示事实表当前的最末记录,Wp指示新插入的记录位置。Rp和Wp将整个事实表划分为更新事务和查询事务访问区,OLAP查询时首先获得当前Rp值作为OLAP查询的记录访问范围;在OLAP查询处理时OLTP事务可以并行地获取Wp指针插入新记录,当事务正确提交后将Rp指向该新记录,Wp指针后移,当采用组提交策略时Wp指针指向插入的新记录位置而Rp指针指向成功提交的最末记录。每一个OLAP查询执行时获得当前的Rp指针确定查询访问的记录范围,在查询执行过程中Rp指针动态变化但查询只保留最初的Rp位置,保证查询执行期间数据的一致性,下一个查询则获得最新的Rp指针和最新的查询记录集。Wp指针相当于一个动态的delta表,存储最新的原始数据,Rp和Wp指针的更新相当于delta表与主存储表的合并过程,本发明通过事实表记录队列的双指针结构构造了一个动态写缓存机制,将 更新事务与只读事务整合在一个表结构中,消除了缓存向主存储表数据迁移的代价。行存储与列存储对于内存更新操作而言其性能差异较小,可以使用统一的内存列存储模型,主要代价取决于写日志机制的性能。
当连续大量数据插入时,可以进一步采用基于cache line的向量更新。假设事实表各列为int型(4字节),cache line宽度为64字节,每个cache line中可以存储16个记录的列值,对插入操作以16个插入记录为一组,依次对各列连续写入16个记录的列值,从而使插入操作中行存储与列存储所产生的cache miss性能相当。
当前分析型列存储数据库更新操作的关键在于新插入记录的非压缩数据结构需要转换为主存储中的压缩数据结构,因此需要通过写缓存或多级delta表实现新增记录的压缩转换。在本实施例中,维表上的更新操作由嵌入式内存数据库引擎内在的数据管理机制负责,本发明主要解决的问题是大事实表上的大量插入数据的压缩处理。
本发明在事实表存储上采用列存储容器,N个事实表记录为一个存储单元,存储单元内采用列存储,每个属性存储为独立的列。N可以取值为64K、128K、256K…等,当事实表更新负载较高时,N可以取较大的值以提高数据存储效率。在事实表插入大量数据时,列存储容器直接存储原始数据,实现数据的快速插入。列存储容器作为独立的列数据容器可以自主地选择何时、采用何种方法进行数据压缩,数据压缩由后台程序访问原始数据,不影响其他查询任务对原始列数据的访问,当生成压缩数据时可以释放原始数据并用压缩数据替代。列存储容器提供列数据访问接口,屏蔽内部数据列的压缩技术差异,包括是否使用压缩数据、不同压缩算法的差异,以及相同算法不同压缩元数据的差异(如字典表压缩在不同的列存储容器使用独立的字典表及压缩编码长度)。列存储OLAP算法通常采用后物化策略,即首先执行事实表外键列与各维表主键列的连接操作,生成join index(如MonetDB)或位图(如invisible join等),指示事实表中满足星形连接条件的记录位置,列上的顺序访问较少(通常第一个外键列为顺序访问,其他外键和度量属性列采用按位置随机访问方式)。由于OLAP查询的最终选择率非常低,因此对事实表度量列的访问通常是极稀疏的随机访问,假设原始数据宽度为M字节,压缩后的数据宽度为m字节,只要选择率低于m/64,压缩数据列上的随机访问与非压缩数据列上的随机访问所产生的cache miss几乎相同。因此,事实表列数据上的压缩在低选择率查询中对数据访问性能产生的影响较小,压缩主要解决的问题是通过压缩提高内存存储效率。列存储容器中数据的压缩采用lazy模式,按存储 空间和查询负载需求采用自适应压缩机制,并不需要专门的delta表存储未压缩的新插入记录,各列存储容器独立的压缩管理机制也不需要复杂的压缩数据合并技术。
如图6所示,事实表以N为单位为每个列分配内存存储空间,最后一个列存储容器中的空记录作为事实表插入记录的预分配存储空间。每个列存储容器独立对各列进行压缩,可以根据列存储容器内数据的特点采用不同的压缩方法。在压缩方法选择、压缩时机等方面由列存储容器通过自适应算法根据CPU负载、列存储容器填充度、内存使用率、数据访问频度等参数进行自主管理。
上述各实施例仅用于说明本发明,其中各个步骤等都是可以有所变化的,凡是在本发明技术方案的基础上对本发明的个别步骤进行的等同变换和改进,均不应排除在本发明的保护范围之外。
Claims (3)
1.一种内存数据库OLTP&OLAP并发查询优化方法,其包括以下步骤:
1)采用双查询处理引擎结构,对维表和事实表采用独立的存储引擎,分别面向更新密集型和查询密集型负载特点而选择不同的存储模型或不同的嵌入式数据库引擎;
2)维表上的更新采用嵌入式存储引擎独立的并发控制机制进行更新;事实表在逻辑上相当于若干个连续的数组,系统维护两个动态数据结构:读记录指针和写记录指针,读记录指针记录当前OLAP查询的最后一条记录位置,写记录指针记录新记录的插入位置;事实表上的OLTP事务采用串行执行方式,每一个insert事务获取当前写记录指针并在完成事务后对写指针和读指针加1;
3)事实表上的OLTP事务队列与OLAP事务队列以写指针和读指针为分界各自独立执行;事实表采用基于固定行数的列存储水平分片模型,N行列存储记录作为一个独立的列存储容器,每个列存储容器采用独立的数据压缩机制,插入记录首先以原始形式存储在列存储容器中,在查询负载较轻或存储空间不足时启动列压缩进程完成对列数据的压缩处理,在数据压缩时原始数据列仍然能提供数据访问,当完成列数据压缩时,用压缩的列数据替代原始的非压缩数据列,释放存储空间;
4)OLAP查询在访问列存储容器时由列存储容器访问接口提供对压缩或非压缩数据上的访问功能,屏蔽列存储容器内部数据压缩与非压缩结构的差异。
2.如权利要求1所述的一种内存数据库OLTP&OLAP并发查询优化方法,其特征在于:所述步骤1)中,所述存储模型采用面向模式和负载特征的异构存储模型,分别采用行存储事务型内存数据库引擎管理维表,采用列存储内存数据引擎管理事实表。
3.如权利要求1或2所述的一种内存数据库OLTP&OLAP并发查询优化方法,其特征在于:所述步骤3)中,所述事实表列存储采用列存储容器结构,每个列存储容器具有固定的记录长度,是一个独立的列存储管理器,独立进行数据压缩管理;所述列存储容器采用自管理模式,根据系统状态和查询处理的需求自主选择是否对列数据进行压缩,列数据压缩时生成独立的压缩数据列,在压缩处理时不影响非压缩数据列上的数据访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410198279.9A CN103942342B (zh) | 2014-05-12 | 2014-05-12 | 一种内存数据库oltp&olap并发查询优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410198279.9A CN103942342B (zh) | 2014-05-12 | 2014-05-12 | 一种内存数据库oltp&olap并发查询优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942342A CN103942342A (zh) | 2014-07-23 |
CN103942342B true CN103942342B (zh) | 2017-02-01 |
Family
ID=51190010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410198279.9A Active CN103942342B (zh) | 2014-05-12 | 2014-05-12 | 一种内存数据库oltp&olap并发查询优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942342B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574027B (zh) * | 2014-10-15 | 2020-04-24 | 中兴通讯股份有限公司 | 基于oltp/olap混合应用下多维度性能数据存储方法、装置及系统 |
US10127260B2 (en) * | 2014-11-25 | 2018-11-13 | Sap Se | In-memory database system providing lockless read and write operations for OLAP and OLTP transactions |
US9891831B2 (en) * | 2014-11-25 | 2018-02-13 | Sap Se | Dual data storage using an in-memory array and an on-disk page structure |
CN104537030B (zh) * | 2014-12-22 | 2018-03-02 | 华为技术有限公司 | 一种业务数据查询方法及装置、数据库系统 |
US20160283390A1 (en) * | 2015-03-27 | 2016-09-29 | Intel Corporation | Storage cache performance by using compressibility of the data as a criteria for cache insertion |
CN106716400B (zh) * | 2015-06-26 | 2019-09-27 | 华为技术有限公司 | 一种数据表的分区管理方法及装置 |
CN105868388B (zh) * | 2016-04-14 | 2019-03-19 | 中国人民大学 | 一种基于fpga的内存olap查询优化方法 |
CN108628540A (zh) * | 2017-03-22 | 2018-10-09 | 深圳市优朋普乐传媒发展有限公司 | 数据存储装置及方法 |
CN108121789B (zh) * | 2017-12-19 | 2020-06-30 | 苏州精濑光电有限公司 | 一种日志管理方法及系统 |
CN108959587B (zh) * | 2018-07-10 | 2021-03-02 | 上海达梦数据库有限公司 | 基于列存储的数据更新方法、装置、服务器及存储介质 |
CN109033301B (zh) * | 2018-07-16 | 2021-07-06 | 中国科学技术大学 | 一种基于图形处理器的数据库事务执行方法 |
CN110929478A (zh) * | 2018-09-03 | 2020-03-27 | 珠海全志科技股份有限公司 | 一种匿名网页压缩的方法、装置及系统 |
CN109635042B (zh) * | 2018-12-07 | 2022-06-14 | 厦门铅笔头信息科技有限公司 | Oltp与olap一体化的汽车金融大数据系统 |
CN110019251A (zh) * | 2019-03-22 | 2019-07-16 | 深圳市腾讯计算机系统有限公司 | 一种数据处理系统、方法及设备 |
CN110019375A (zh) * | 2019-04-18 | 2019-07-16 | 哈尔滨汇拓投资中心(有限合伙) | 一种基于在线聚合的多版本并行混合处理方法 |
CN110263105B (zh) | 2019-05-21 | 2021-09-10 | 北京百度网讯科技有限公司 | 查询处理方法、查询处理系统、服务器和计算机可读介质 |
CN110442627A (zh) * | 2019-07-05 | 2019-11-12 | 威讯柏睿数据科技(北京)有限公司 | 一种内存数据库系统和数据仓库系统之间的数据传输方法及系统 |
CN111143397B (zh) * | 2019-12-10 | 2021-04-13 | 跬云(上海)信息科技有限公司 | 混合数据查询方法及装置、存储介质 |
CN111597149B (zh) * | 2020-04-27 | 2023-03-31 | 五八有限公司 | 一种数据库的数据清理方法及装置 |
CN112269832A (zh) * | 2020-10-30 | 2021-01-26 | 浪潮云信息技术股份公司 | 一种基于cdc实现数据库数据同步并读写分离的方法 |
CN115114359B (zh) * | 2022-05-27 | 2023-11-14 | 马上消费金融股份有限公司 | 用户数据处理方法及装置 |
CN115829615A (zh) * | 2023-01-05 | 2023-03-21 | 瓴创(北京)科技有限公司 | 一种基于多数据库的用户分群方法、系统和存储介质 |
CN116028584B (zh) * | 2023-03-28 | 2023-06-27 | 华腾数云(北京)科技有限公司 | 混合事务分析处理的数据仓库 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663114A (zh) * | 2012-04-17 | 2012-09-12 | 中国人民大学 | 面向并发olap的数据库查询处理方法 |
CN102663116A (zh) * | 2012-04-11 | 2012-09-12 | 中国人民大学 | 面向列存储数据仓库的多维olap查询处理方法 |
CN103294831A (zh) * | 2013-06-27 | 2013-09-11 | 中国人民大学 | 列存储数据库中基于多维数组的分组聚集计算方法 |
-
2014
- 2014-05-12 CN CN201410198279.9A patent/CN103942342B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663116A (zh) * | 2012-04-11 | 2012-09-12 | 中国人民大学 | 面向列存储数据仓库的多维olap查询处理方法 |
CN102663114A (zh) * | 2012-04-17 | 2012-09-12 | 中国人民大学 | 面向并发olap的数据库查询处理方法 |
CN103294831A (zh) * | 2013-06-27 | 2013-09-11 | 中国人民大学 | 列存储数据库中基于多维数组的分组聚集计算方法 |
Non-Patent Citations (2)
Title |
---|
"基于内存数据库的OLAP并行查询技术研究";张延松等;《第26届中国数据库学术会议论文集(A辑)》;20091018;全文 * |
"数据库与mapreduce融合的大数据管理技术探索";张延松;《科研信息化技术与应用》;20131231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103942342A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942342B (zh) | 一种内存数据库oltp&olap并发查询优化方法 | |
CN104866608B (zh) | 一种数据仓库中基于连接索引的查询优化方法 | |
US10853351B2 (en) | Logless atomic data movement | |
US11169981B2 (en) | Managing data with flexible schema | |
US8762407B2 (en) | Concurrent OLAP-oriented database query processing method | |
US5943677A (en) | Sparsity management system for multi-dimensional databases | |
EP2660732B1 (en) | Unified table query processing | |
EP2660736B1 (en) | Partial merge in a multi-level storage architecture | |
CN102663116B (zh) | 面向列存储数据仓库的多维olap查询处理方法 | |
US11520760B2 (en) | System and method for providing bottom-up aggregation in a multidimensional database environment | |
US10162766B2 (en) | Deleting records in a multi-level storage architecture without record locks | |
CN102737033B (zh) | 数据处理设备及其数据处理方法 | |
US20170083573A1 (en) | Multi-query optimization | |
Mahajan et al. | Improving the energy efficiency of relational and NoSQL databases via query optimizations | |
WO2020248604A1 (zh) | 一种基于分组向量的哈希多表连接实现方法 | |
CN110362566B (zh) | 分层htap数据库的混合数据布局中的数据布置 | |
CN108536692B (zh) | 一种执行计划的生成方法、装置及数据库服务器 | |
Jermaine et al. | The partitioned exponential file for database storage management | |
Vilaça et al. | An effective scalable SQL engine for NoSQL databases | |
CN113032427B (zh) | 一种用于cpu和gpu平台的向量化查询处理方法 | |
US7774304B2 (en) | Method, apparatus and program storage device for managing buffers during online reorganization | |
Krueger et al. | Enterprise application-specific data management | |
Lu et al. | TridentKV: A read-Optimized LSM-tree based KV store via adaptive indexing and space-efficient partitioning | |
Azez et al. | JOUM: an indexing methodology for improving join in hive star schema | |
Shen et al. | Bridging the Gap between Relational {OLTP} and Graph-based {OLAP} |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |