Embodiments of the present disclosure may provide systems and methods for processing online transaction processing (OLTP) transactions on a column-based storage unit of a database. The method may include receiving requests for OLTP transactions accessing data on column-based storage units. You can determine whether the cache associated with the database includes column information for OLTP transactions. If the cache includes column information for OLTP transactions, the method may include processing OLTP transactions using columns in the cache. If the cache does not include column information for OLTP transactions, the method may include selecting columns from the column-based storage unit of the database.
【技术实现步骤摘要】
用于基于列的数据库的列智能机制
本公开一般涉及数据库,更具体来说,涉及用于基于列的数据库的列智能机制(columnsmartmechanism)。
技术介绍
数据库界使用OLTP(OnlineTransactionalProcessing,在线事务处理)系统和OLAP(OnlineAnalyticalProcessing,在线分析处理)系统。在面向事务的应用中通常使用OLTP系统,其中应用进行大量的短事务(例如,插入、更新、删除、选择)。在OLTP系统中,元素的列表被存储在盘上,并被高速缓存在数据库服务器的主存储器中。OLTP系统一般被用于面向行的关系数据库一起使用。在面向分析的应用(例如,分析和财务策划应用)中通常使用OLAP系统,其中查询更为复杂。在OLAP系统中,使用字典将属性(attribute)压缩,并且可以进行多维查询。OLTP系统一般被用于面向列的关系数据库。由于每种系统的优点所致,OLTP和OLAP系统传统上是分离的,并且应用被设计成支持一种环境或者另一种环境。但是近些年来,数据库界已经显示出对内存计算(in-memorycomputing)和并行 ...
【技术保护点】
1.一种方法,包含:接收对访问数据库的基于列的存储部中的数据的在线事务处理OLTP事务的请求,OLTP事务包括对访问所述基于列的存储部中的数据的查询;如果高速缓存包括OLTP事务的列信息,则进入已学习模式;响应于进入已学习模式,对OLTP事务的查询进行优化,并基于优化后的查询利用高速缓存中的列信息来处理OLTP事务,对查询的所述优化包括基于先前在学习模式中对OLTP事务的处理来重写查询;并且如果高速缓存不包括用于OLTP事务的列信息,则进入学习模式并从所述数据库的基于列的存储部选择列、与所选择的列相关的每个列的名称或者列的索引、利用所选择的列刷新高速缓存,并且进入已学习模式 ...
【技术特征摘要】
1.一种方法,包含:接收对访问数据库的基于列的存储部中的数据的在线事务处理OLTP事务的请求,OLTP事务包括对访问所述基于列的存储部中的数据的查询;如果高速缓存包括OLTP事务的列信息,则进入已学习模式;响应于进入已学习模式,对OLTP事务的查询进行优化,并基于优化后的查询利用高速缓存中的列信息来处理OLTP事务,对查询的所述优化包括基于先前在学习模式中对OLTP事务的处理来重写查询;并且如果高速缓存不包括用于OLTP事务的列信息,则进入学习模式并从所述数据库的基于列的存储部选择列、与所选择的列相关的每个列的名称或者列的索引、利用所选择的列刷新高速缓存,并且进入已学习模式和利用高速缓存中的列信息来处理OLTP事务。2.如权利要求1所述的方法,其中,高速缓存与数据库相关联,并且所述方法还包含确定高速缓存是否包括用于OLTP事务的列信息。3.如权利要求1所述的方法,还包含接收对访问数据库的基于列的存储部中的数据的在线分析处理OLAP事务的请求。4.如权利要求1所述的方法,其中,从数据库的基于列的存储部选择列包括选择具有与该OLTP事务相关联的列的表的所有列。5.如权利要求4所述的方法,其中,从数据库的基于列的存储部选择的列包括该OLTP事务所需要的至少一列、以及该事务所不需要的至少一列。6.如权利要求1所述的方法,其中,高速缓存包括来自至少一个先前的请求的列信息。7.如权利要求1所述的方法,还包含:高速缓存从数据库的基于列的存储部选择的列的名称或者列的索引;和在把列的名称或者列的索引高速缓存之后,利用高速缓存中的列信息处理该OLTP事务。8.如权利要求1所述的方法,其中,利用高速缓存中的列信息处理OLTP事务包括优化OLTP事务以访问高速缓存中而非数据库中的列信息。9.如权利要求2所述的方法,其中,确定与数据库相关联的高速缓存是否包括用于OLTP事务的列信息包括:将该OLTP事务与先前处理过的OLTP事务进行比较。10.一种存储一个或更多个被配置成由处理器运行的程序的非瞬态计算机可读存储介质,所述一个或更多个程序包含指令,用于:接收对访问数据库的基于列的存储部中的数据的在线事务处理OLTP事务的请求,OLTP事务包括对访问所述基于列的存储部中的数据的查询;确定与数据库相关联的高速缓存是否包括用于该OLTP事务的列信息;如果高速缓存包括OLTP事务的列信息,则进入已学习模式;响应于进入已学习模式,对OLTP事务的查询进行优化,并基于优化后的查询利用高速缓存中的列信息来处理OLTP事务,对查询的所述优化包括基于先前在学习模式中对OLTP事务...
【专利技术属性】
技术研发人员:刘英峭,朱琳,姜华阳,
申请(专利权)人:SAP欧洲公司,
类型:发明
国别省市:德国,DE
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。