CN116881282A - 一种基于计算任务拆分的lsm存储引擎性能优化方法 - Google Patents
一种基于计算任务拆分的lsm存储引擎性能优化方法 Download PDFInfo
- Publication number
- CN116881282A CN116881282A CN202310819052.0A CN202310819052A CN116881282A CN 116881282 A CN116881282 A CN 116881282A CN 202310819052 A CN202310819052 A CN 202310819052A CN 116881282 A CN116881282 A CN 116881282A
- Authority
- CN
- China
- Prior art keywords
- background
- foreground
- lsm
- optimization method
- engine
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000005457 optimization Methods 0.000 title claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 description 15
- 238000007906 compression Methods 0.000 description 13
- 230000006835 compression Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008602 contraction Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000007794 visualization technique Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- 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/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于计算任务拆分的LSM存储引擎性能优化方法。所述基于计算任务拆分的LSM存储引擎性能优化方法包括:将LSM中的后台运算工作从数据库引擎中拆分出来并通过多个外部引擎执行拆分出来的任务。本申请的基于计算任务拆分的LSM存储引擎性能优化方法将后台运算的执行过程从引擎中剥离,交由外部代理执行,后台运算执行流程所需的必要信息通过进程间通信完成数据交换。由于后台运算执行过程本身不需要数据库引擎介入,此时可以作为无服务计算配置成多数据库引擎共享。因此,后台运算执行具备无状态的特征,这可以让后台执行计算的服务集群以负载为基准进行弹性伸缩,提高算力利用率。
Description
技术领域
本申请涉及系统优化技术领域,具体涉及一种基于计算任务拆分的LSM存储引擎性能优化方法。
背景技术
现有通用数据库存储引擎的事实标准为RocksDB,其工作模型为Log-structuredmerge-tree(以下简称为LSM-Tree)。基于LSM-Tree的数据库存储引擎除了提供读写功能时消耗计算资源外,写入数据后伴随着额外的后台整理(Compact)工作。
对于数据库存储引擎,前台运算(读写负载等)响应延迟需求一般为在毫秒级,后台运算(Compact)工作则对响应延迟相对不敏感,执行过程可以延长到秒级至分钟级。后台运算的运算量占比在基于LSM-Tree数据库引擎的写负载中很大——以RocksDB为例,后台运算占用了写负载中80%以上的CPU运算量。
现有技术的缺点在于:
(1)数据库引擎同时执行前台计算与后台计算,必须为后台运算行为预留算力,计算资源浪费严重
(2)数据库存储引擎的计算力无法根据算力需求动态伸缩
基于LSM-Tree的数据库引擎,在引擎无法负担写负载时,为了保证数据库正常工作,会主动降低写性能。这就产生了一个问题:写负载是动态的,若保证高峰负载性能,数据库配置就必须按照峰值负载进行准备,这造成了大量的计算资源浪费。
因此,希望有一种技术方案来克服或至少减轻现有技术的至少一个上述缺陷。
发明内容
本发明的目的在于提供一种基于计算任务拆分的LSM存储引擎性能优化方法来克服或至少减轻现有技术的至少一个上述缺陷。
本发明的一个方面,提供一种基于计算任务拆分的LSM存储引擎性能优化方法,所述基于计算任务拆分的LSM存储引擎性能优化方法包括:
将LSM中的后台运算工作从数据库引擎中拆分出来并通过多个外部引擎执行拆分出来的计算任务。
可选地,所述将LSM中的后台运算工作从数据库引擎中拆分出来并通过多个外部引擎执行拆分出来的任务包括:
建立前台与后台的信息交换方式;
为外部引擎建立后台运算服务执行进程;
通过任务的元信息访问该任务对应的的数据;
将拆分出来的计算任务派发给后台计算进程执行。
可选地,所述建立前台与后台的信息交换方式包括:
将前台和后台运算单元的存储空间共享,从而实现前台与后台的信息交换。
可选地,所述建立前台与后台的信息交换方式包括:
建立第三者共享存储空间;
前台与后台通过所述第三者共享存储空间实现前台与后台的信息交换。
可选地,所述建立前台与后台的信息交换方式包括:
前台后台挂载相同的块存储设备,由块存储设备提供共享存储空间从而实现前台与后台的信息交换。
可选地,前台/后台通过通信的方式实现前台与后台的信息交换。
可选地,所述基于计算任务拆分的LSM存储引擎性能优化方法进一步包括:
将经过外部引擎处理后的数据传递给前台。
可选地,所述后台运算集群新增实例时选择单价最低的实例进行扩容。
有益效果:
本申请的基于计算任务拆分的LSM存储引擎性能优化方法将后台运算的执行过程从引擎中剥离,交由外部代理执行,后台运算执行流程所需的必要信息通过进程间通信完成数据交换。
由于后台运算执行过程本身不需要数据库引擎介入,此时可以作为无服务计算(Serverless computing)配置成多数据库引擎共享。因此,后台运算具备无状态的特征,这让后台执行服务集群能以负载为基准进行弹性伸缩(可以使用可弹性伸缩的集群执行,根据负载动态调整集群中计算实例的数量),提高算力利用率。
本申请的优点在于:
1.后台运算可以不在数据库所在实例执行,降低了数据库引擎运行的负载
2.由于前台进程需要对外提供稳定的服务,单位算力价格较高,为了保证高负载下的性能,传统的解决方案是预留足够的计算资源,这造成了计算资源的浪费。在本发明中,将后台运算从前台进程转移出去,降低了前台进程的计算资源消耗,提升了前台进程的算力使用率
3.后台运算服务集群可以独立扩缩容,让后台运算集群算力利用率始终维持在接近100%,最大限度利用计算资源,从而使得后台进程的单位算力价格更低。
4.后台运算执行的任务相互独立,因此可以同时并发执行大量后台任务,一个集群可以作为共享的计算资源为多个数据库引擎执行后台计算;并且,单个数据库引擎的后台计算需求存在波动,有高峰有低谷,多个数据库引擎的波动峰谷存在相位差,一起共享算力,可以起到削峰填谷的效果,从而提高计算资源的使用率,使得后台进程的单位算力价格更低。
5.在公有云上,后台运算可以使用竞价实例(云厂商低价售卖的空闲算力),降低算力成本,从而使得后台进程的单位算力价格更低。
6.在私有云上,后台运算可以使用集群管理软件(例如Kubernets)分配的空闲计算资源,降低算力成本,从而使得后台进程的单位算力价格更低。
附图说明
图1为本申请一实施例的基于计算任务拆分的LSM存储引擎性能优化方法的流程示意图。
图2是一种电子设备,用于实现图1所示的基于计算任务拆分的LSM存储引擎性能优化方法。
图3为本申请一实施例的基于计算任务拆分的LSM存储引擎性能优化方法的具体流程示意图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本申请一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本申请的实施例进行详细说明。
需要说明的是,在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
图1为本申请一实施例的基于计算任务拆分的LSM存储引擎性能优化方法的流程示意图。
如图1所示的基于计算任务拆分的LSM存储引擎性能优化方法包括:
将LSM中的后台运算工作从数据库引擎中拆分出来并通过多个外部引擎执行拆分出来的计算任务。
在本实施例中,所述将LSM中的后台运算工作从数据库引擎中拆分出来并通过多个外部引擎执行拆分出来的任务包括:
建立前台与后台的信息交换方式;
为外部引擎建立后台运算服务执行进程;
通过任务的元信息访问该任务对应的的数据;
将拆分出来的计算任务派发给后台计算进程执行。
在本实施例中,所述建立前台与后台的信息交换方式包括:
将前台或后台运算单元的存储空间共享,从而实现前台与后台的信息交换。
在本实施例中,所述建立前台与后台的信息交换方式包括:
建立第三者共享存储空间;
前台与后台通过所述第三者共享存储空间实现前台与后台的信息交换。
在本实施例中,所述建立前台与后台的信息交换方式包括:
前台后台挂载相同的块存储设备,由块存储设备提供共享存储空间从而实现前台与后台的信息交换。
在本实施例中,前台/后台通过通信的方式实现前台与后台的信息交换。
在本实施例中,其特征在于,所述基于计算任务拆分的LSM存储引擎性能优化方法进一步包括:
将经过外部引擎处理后的数据传递给前台。
在本实施例中,所述后台运算集群新增实例时选择单价最低的实例进行扩容。
在本实施例中,所述数据库引擎压缩算法选择能够更加充分利用后台运算充足算力的算法。
在本实施例中,ToplingDB是本发明的一种数据库引擎实现。
ToplingDB是一种兼容RocksDB的数据库引擎,在此基础上,增加了扩展功能,其中包括前后台运算的拆分功能以及执行后台运算的服务组件。
参见图3,基于ToplingDB的数据库是本发明的一种实施方式,其实现方式如下:
[1]基于支持前后台计算拆分的数据库引擎的数据库,比如基于ToplingDB的MyTopling;
[2]前后台需要能够实现数据交换,下面列出几种数据交换的方式:
2.1前台运算单元将本身的存储空间共享给后台进程,存储数据文件包括但不限于网络文件系统(Network File System,NFS)以及分布式文件系统
2.2共享存储空间的服务由前台/后台所在实例之外的第三者提供,前台(数据库结点)/后台均访问此存储空间;
2.3前台后台挂载相同的块存储设备,由共享块存储提供共享存储空间
2.4前台/后台通过显式通信的方式交换数据,不通过共享存储;
[3]在独立的进程上运行后台运算服务执行进程,此进程可以和前台(数据库引擎所在的实例)运行在相同的服务器上,也可以运行在不同的服务器上,前后台进程能够交换必要信息。
[4]数据库运行时,引擎本身发起后台操作(Compact)时,将任务的元信息传递给后台运算进程,后台执行完成后,将执行完成的SST文件写入[2]中提到的存储空间中,或者将执行完成的数据通过通信的方式返回给引擎。
[5]可选地,在前台使用了统一的文件存储时,创建只读从库可以直接利用共享存储中的数据,避免了数据库过多数据副本的问题;
[6]可选地,后台运算进程以集群化服务,根据后台运算压力负载动态增减集群实例数量,减少计算资源的浪费,具体而言,共有云计算平台支持支持集群的弹性伸缩;私有云中可通过kubernets集群编排软件实现集群的弹性伸缩。
[7]可选地,后台运算集群新增实例时选择单价最低的实例进行扩容,可以进一步降低算力成本,具体而言,共有云计算平台支持支持集群的弹性伸缩;私有云中可通过kubernets集群编排软件实现集群的弹性伸缩。
可选地,数据库引擎压缩算法选择能够更加充分利用后台运算充足算力的算法,进一步优化前台结点的性能。
具体而言,数据库引擎压缩算法为“可检索内存压缩算法”,分为索引的压缩和数据的压缩,压缩的索引可以直接在压缩的形态下搜索关键字,压缩的数据可以在压缩的形态下根据从索引中通过关键字搜索出来的ID读取相应的数据。这两种算法搜索关键字/读取数据的CPU和内存消耗比传统压缩算法都低得多,但是执行压缩时的CPU和内存消耗比传统压缩算法更高。通过分离前台计算与后台计算,也将这两个算法的压缩计算从前台进程转移到了后台进程,从而大幅降低了前台进程的CPU和内存消耗。因为前台进程的单位算力价格更高,后台进程的单位算力价格更低,这种结合大幅降低了总体成本。可以理解的是,该数据库引擎压缩算法为现有技术,在此不再赘述,例如,索引的压缩技术可以参照申请号为CN201610118629.5,专利名称为进行数据压缩的方法、装置、系统和计算机程序产品的专利。数据的压缩可以参照申请号为CN202010294639,专利名称为数据处理方法、装置及电子设备(Data/Value内存压缩),和CN201710786051.5,专利名称为一种压缩和解压缩有序整数数组的方法的专利。
本申请还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并能够在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于计算任务拆分的LSM存储引擎性能优化方法。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现如上所述的基于计算任务拆分的LSM存储引擎性能优化方法。
图2是能够实现根据本申请一个实施例提供的基于计算任务拆分的LSM存储引擎性能优化方法的电子设备的示例性结构图。
如图2所示,电子设备包括输入设备501、输入接口502、中央处理器503、存储器504、输出接口505以及输出设备506。其中,输入接口502、中央处理器503、存储器504以及输出接口505通过总线507相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线507连接,进而与电子设备的其他组件连接。具体地,输入设备501接收来自外部的输入信息,并通过输入接口502将输入信息传送到中央处理器503;中央处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到电子设备的外部供用户使用。
也就是说,图2所示的电子设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及一个或多个处理器,该一个或多个处理器在执行计算机可执行指令时可以实现结合图1描述的基于指针弹窗内嵌直方图可视化方法。
在一个实施例中,图2所示的电子设备可以被实现为包括:存储器504,被配置为存储可执行程序代码;一个或多个处理器503,被配置为运行存储器504中存储的可执行程序代码,以执行上述实施例中的基于指针弹窗内嵌直方图可视化方法。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动,媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数据多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
此外,显然“包括”一词不排除其他单元或步骤。装置权利要求中陈述的多个单元、模块或装置也可以由一个单元或总装置通过软件或硬件来实现。第一、第二等词语用来标识名称,而不标识任何特定的顺序。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地标识的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或总流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本实施例中所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现装置/终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在本实施例中,装置/终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。本申请虽然以较佳实施例公开如上,但其实并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此,本申请的保护范围应当以本申请权利要求所界定的范围为准。
虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种基于计算任务拆分的LSM存储引擎性能优化方法,其特征在于,所述基于计算任务拆分的LSM存储引擎性能优化方法包括:
将LSM中的后台运算工作从数据库引擎中拆分出来并通过多个外部引擎执行拆分出来的计算任务。
2.如权利要求1所述的基于计算任务拆分的LSM存储引擎性能优化方法,其特征在于,所述将LSM中的后台运算工作从数据库引擎中拆分出来并通过多个外部引擎执行拆分出来的任务包括:
建立前台与后台的信息交换方式;
为外部引擎建立后台运算服务执行进程;
通过任务的元信息访问该任务对应的的数据;
将拆分出来的计算任务派发给后台计算进程执行。
3.如权利要求2所述的基于计算任务拆分的LSM存储引擎性能优化方法,其特征在于,所述建立前台与后台的信息交换方式包括:
将前台或后台运算单元的存储空间共享,从而实现前台与后台的信息交换。
4.如权利要求2所述的基于计算任务拆分的LSM存储引擎性能优化方法,其特征在于,所述建立前台与后台的信息交换方式包括:
建立第三者共享存储空间;
前台与后台通过所述第三者共享存储空间实现前台与后台的信息交换。
5.如权利要求2所述的基于计算任务拆分的LSM存储引擎性能优化方法,其特征在于,所述建立前台与后台的信息交换方式包括:
前台后台挂载相同的块存储设备,由块存储设备提供共享存储空间从而实现前台与后台的信息交换。
6.如权利要求2所述的基于计算任务拆分的LSM存储引擎性能优化方法,其特征在于,前台/后台通过通信的方式实现前台与后台的信息交换。
7.如权利要求2至6中任意一项所述的基于计算任务拆分的LSM存储引擎性能优化方法,其特征在于,所述基于计算任务拆分的LSM存储引擎性能优化方法进一步包括:
将经过外部引擎处理后的数据传递给前台。
8.如权利要求7所述的基于计算任务拆分的LSM存储引擎性能优化方法,其特征在于,所述后台运算集群新增实例时选择单价最低的实例进行扩容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819052.0A CN116881282A (zh) | 2023-07-05 | 2023-07-05 | 一种基于计算任务拆分的lsm存储引擎性能优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310819052.0A CN116881282A (zh) | 2023-07-05 | 2023-07-05 | 一种基于计算任务拆分的lsm存储引擎性能优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116881282A true CN116881282A (zh) | 2023-10-13 |
Family
ID=88269007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310819052.0A Pending CN116881282A (zh) | 2023-07-05 | 2023-07-05 | 一种基于计算任务拆分的lsm存储引擎性能优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881282A (zh) |
-
2023
- 2023-07-05 CN CN202310819052.0A patent/CN116881282A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649953B2 (en) | Blockchain-based data migration method and apparatus | |
CN104504147B (zh) | 一种数据库集群的资源协调方法、装置及系统 | |
CN109032803B (zh) | 数据处理方法和装置、客户端 | |
CN108900626B (zh) | 一种云环境下数据存储方法、装置及系统 | |
US20150112934A1 (en) | Parallel scanners for log based replication | |
WO2017050064A1 (zh) | 共享内存数据库的内存管理方法及装置 | |
CN112882663B (zh) | 一种随机写的方法、电子设备及存储介质 | |
CN115134373A (zh) | 数据同步方法、装置、存储介质及电子设备 | |
CN113051102A (zh) | 文件备份方法、装置、系统、存储介质和计算机设备 | |
CN111309269B (zh) | 一种压缩数据落盘的方法、系统、设备及可读存储介质 | |
CN116881282A (zh) | 一种基于计算任务拆分的lsm存储引擎性能优化方法 | |
CN113485713B (zh) | 快速编译程序的方法及装置、电子设备和存储介质 | |
CN114327862B (zh) | 一种内存分配方法、装置、电子设备及存储介质 | |
CN116932196A (zh) | 融合系统的数据处理方法、装置、设备和系统 | |
CN114443686A (zh) | 一种基于关系型数据的压缩图构建方法及装置 | |
CN115878308A (zh) | 一种资源调度方法及装置 | |
CN113434489A (zh) | 一种实时数据库在线扩容方法、系统、设备及存储介质 | |
CN111427851A (zh) | 一种hdfs跨外部存储系统多层级存储效率优化的方法和设备 | |
CN111552740A (zh) | 数据处理方法及装置 | |
CN118277344B (zh) | 分布式键值存储系统的存储节点层间合并方法及装置 | |
CN118656020A (zh) | 文件处理方法、装置、设备、存储介质及程序产品 | |
CN111930735B (zh) | 一种数据清理方法、装置及电子设备 | |
CN118509490B (zh) | 一种考虑服务端间关系的热点数据降级方法及装置 | |
CN114201113A (zh) | 多对象存储桶的选择方法、装置及处理器 | |
CN114675784A (zh) | 一种读取缓存数据的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |