TWI505111B - Assist systems and methods for decentralized database to achieve automatic load balancing - Google Patents

Assist systems and methods for decentralized database to achieve automatic load balancing Download PDF

Info

Publication number
TWI505111B
TWI505111B TW102134674A TW102134674A TWI505111B TW I505111 B TWI505111 B TW I505111B TW 102134674 A TW102134674 A TW 102134674A TW 102134674 A TW102134674 A TW 102134674A TW I505111 B TWI505111 B TW I505111B
Authority
TW
Taiwan
Prior art keywords
data
database
host
performance
data block
Prior art date
Application number
TW102134674A
Other languages
Chinese (zh)
Other versions
TW201512861A (en
Inventor
Chia Chun Shih
chao wen Huang
Chien Wei Cheng
Original Assignee
Chunghwa Telecom Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chunghwa Telecom Co Ltd filed Critical Chunghwa Telecom Co Ltd
Priority to TW102134674A priority Critical patent/TWI505111B/en
Publication of TW201512861A publication Critical patent/TW201512861A/en
Application granted granted Critical
Publication of TWI505111B publication Critical patent/TWI505111B/en

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

協助分散式資料庫達到自動負載平衡的系統與方法System and method for assisting distributed database to achieve automatic load balancing

本發明係關於資料處理領域,可協助分散式資料庫在負載不均時,找出一有效率的資料搬遷或複製方案,將資料從繁忙的資料庫主機,搬遷或複製至新啟動或不繁忙的資料庫主機上,達到平衡負載的目的,有效降低需搬遷或複製的資料量,減少資料庫因資料搬遷或複製而發生效能震盪的時間。The invention relates to the field of data processing, and can assist the distributed database to find an efficient data relocation or copying scheme when the load is uneven, and relocate or copy the data from the busy database host to the new startup or not busy. On the host of the database, the purpose of balancing the load is achieved, which effectively reduces the amount of data that needs to be relocated or copied, and reduces the time when the database is oscillated due to data relocation or replication.

按,負載平衡是分散式資訊系統的核心問題。當一資訊系統之服務請求(request)由多台主機所共同承擔,即需要一負載平衡機制使各台主機負載盡可能均衡。而分散式資料庫的負載平衡,又比分散式網頁伺服器的負載平衡要來的複雜,因為分散式資料庫的負載平衡,必須額外進行資料搬遷或複製,將大量資料從負載量較大的主機,搬遷或複製到負載量較小的主機或新主機上。但在資料的搬遷或複製過程中,資料庫的效能會大受影響,產生系統效能上下震盪的現象。Press, load balancing is a core issue of distributed information systems. When a service system's service request is shared by multiple hosts, a load balancing mechanism is required to balance the load of each host as much as possible. The load balancing of the distributed database is more complicated than the load balancing of the distributed web server. Because the load balancing of the distributed database requires additional data relocation or replication, a large amount of data is loaded from a large load. Host, relocated or copied to a host or new host with a small load. However, in the process of data relocation or replication, the performance of the database will be greatly affected, resulting in fluctuations in system performance.

先前技術如美國公開第US 20120254175號中即 指出:『由於在執行成本方面複本之交換比連接分配高,因此其可在低負載時槽(諸如,午夜或在維護時)中選擇性地進行』。但若負載平衡之需求來自於無預期的臨時高負載狀況,先前技術所建議之負載平衡作法即顯得不切實際。The prior art is as disclosed in U.S. Patent No. 20,120,254,175. It is pointed out that "the exchange can be selectively performed in a low load time slot (such as midnight or during maintenance) because the exchange of the copy in terms of execution cost is higher than the connection allocation. However, if the load balancing requirement comes from an unexpected temporary high load condition, the load balancing method proposed by the prior art is impractical.

先前技術如美國公開第US 20120254175號為MongoDB的發明人所提出,揭露MongoDB透過資料切割與搬移進行分散式資料庫優化之作法。MongoDB為一分散式資料庫,可由多台資料庫主機所組成,各台資料庫主機有其被指定要管轄的主鍵(Primary Key)範圍,因而可透過水平拆分(Horizontal Partitioning)的方式將整體資料依主鍵拆分後存放在多台主機中,以提升資料庫整體的讀寫效能。但當資料庫中的資料數量漸增後,即可能因資料分佈不均導致少數主機負擔過重。因而此先前技術提出二優化資料庫之作法:監控資料庫中是否有data chunk的大小超過一閥值,若有則切割之,並將切割後的data chunk分散到多台主機上;以及監控資料庫間data chunk數量是否嚴重不均衡,若是,則將data chunk從data chunk數量較多的主機搬遷到data chunk數量較少的主機上。此兩作法皆著眼於「資料量」的均衡,希望藉由平均主機間的資料量達成負載平衡。Prior art, such as U.S. Patent No. 2,120,254,175, issued to the inventor of MongoDB, discloses that MongoDB performs a distributed database optimization through data cutting and moving. MongoDB is a decentralized database, which can be composed of multiple database hosts. Each database host has a primary key range that it is assigned to govern, so it can be integrated through horizontal partitioning. The data is split and stored in multiple hosts according to the primary key to improve the overall read and write performance of the database. However, when the amount of data in the database increases, it may be that a small number of hosts are overburdened due to uneven distribution of data. Therefore, the prior art proposes two methods of optimizing the database: monitoring whether the size of the data chunk exceeds a threshold in the database, cutting if necessary, and distributing the cut data chunk to multiple hosts; and monitoring data Whether the number of data chunks between the libraries is seriously unbalanced, and if so, the data chunks are relocated from hosts with a large number of data chunks to hosts with a small number of data chunks. Both of these approaches focus on the balance of "data volume" and hope to achieve load balancing by averaging the amount of data between hosts.

然而此先前技術的作法,忽略了現實狀況中,資料的熱門程度會有很大的差距:多數的請求可能集中於少數的資料上。資料的均衡分佈在長期維護上有其需求(硬體資 源的妥善運用),但若針對短期而立即的負載平衡需求,若能再考量資料的熱門程度,或可設計出更高效的優化方案,在較短時間及對效能影響較小的狀況下,達成負載平衡。However, this prior art practice ignores the fact that there is a big gap in the popularity of the data: most requests may be concentrated on a small amount of data. The balanced distribution of data has its needs for long-term maintenance (hardware Proper use of the source), but if the load balancing needs for short-term and immediate, if you can consider the popularity of the data, or you can design a more efficient optimization program, in a shorter time and less impact on performance, Achieve load balancing.

另,先前技術亦忽略一重要之事實:資料間存在有特定之存取模式,亦即,某一資料可能常與另一資料被一外部請求同時存取。若兩個有共同存取模式的資料放在單一主機上,可讓外部請求被一次滿足,而不需對多台主機發出多次請求。先前技術的作法在進行資料複製或搬移時,只考量主機間整體資料量的平衡,而未考慮個體資料的存取模式關聯性對於請求數量的影響,而導致某些資料搬遷或複製方案雖可達到資料量的均衡,卻衍生出更多次的請求。In addition, the prior art also ignores the important fact that there is a specific access pattern between data, that is, a certain material may often be accessed simultaneously with another material by an external request. If two materials with a common access pattern are placed on a single host, the external request can be satisfied once, without having to make multiple requests to multiple hosts. In the prior art, when data is copied or moved, only the balance of the total amount of data between the hosts is considered, and the influence of the access pattern association of the individual data on the number of requests is not considered, and some data relocation or copying schemes may be Achieving a balanced amount of data, but derived more requests.

本發明之目的即在於提供一種協助分散式資料庫達到自動負載平衡的系統與方法,考量資料區塊的熱門程度(H)與存取模式相似權重(S),並優先進行效能改善幅度最多的資料搬遷或複製。The object of the present invention is to provide a system and method for assisting a distributed database to achieve automatic load balancing, considering the popularity degree (H) of the data block and the similar weight (S) of the access mode, and giving priority to the most effective performance improvement. Data relocation or copying.

本發明之次一目的係在於提供一種協助分散式資料庫達到自動負載平衡的系統與方法,資料是以資料區塊(data block)為單位進行處理,亦即,一次的資料搬遷與複製會牽涉到整數個資料區塊,以符合現今多數的作業系統及資料庫系統皆以類似的想法來進行資料的搬遷與複製。A second object of the present invention is to provide a system and method for assisting a distributed database to achieve automatic load balancing. The data is processed in units of data blocks, that is, one time data migration and copying are involved. Into an integer number of data blocks, in order to comply with most of today's operating systems and database systems with similar ideas for data relocation and replication.

可達成上述發明目的之協助分散式資料庫達到 自動負載平衡的系統與方法,包括有:步驟1:從資料庫存取記錄與資料區塊配置資料中,計算出數值資料,並建立一個空的資料搬遷或複製方案組合Z=( ),以及一個尚未被指定的最佳資料搬遷或複製方案組合Z* ;步驟2:定義一效能轉化函數與一效能目標值,且效能轉化函數為一函數f,可將一資料區塊集合轉化為一數值,此數值需與該資料區塊集合的存取總次數成正相關,效能目標值P * 為一實數;步驟3:估計需要額外啟動的資料庫主機數量,運用效能轉化函數與效能目標值進行估計;步驟4:決定一資料區塊b、及目前存有資料區塊b複本的一主機m,若將主機m上的資料區塊b移出可帶來最大效能提昇;步驟5:決定一新啟動或不繁忙的資料庫主機m’,將主機m上的資料區塊b移入m’可帶來最小的效能減損;步驟6:決定待加入Z的搬遷或複製方案,根據淨效能提昇量決定,淨效能提昇量由步驟4數值與步驟5數值之公式決定;步驟7:檢查是否達成效能目標,運用效能轉化函數計算各台資料庫主機的效能預估值P i ,若有任何一台的 效能預估值未達成效能目標(P i P * ),則重複進行步驟4,若達成效能目標,則將Z視為目前之最佳解Z* ,即Z* =Z;步驟8:檢查額外啟動的資料庫主機是否未被充分運用,若是則將步驟(2)中估計需要新啟動的資料庫主機數量縮減之,清空Z,重計算C,重新進行步驟4;步驟9:輸出最佳資料搬遷或複製方案,輸出Z* 為最佳資料搬遷或複製方案。若Z* 仍未被指定,則不進行資料搬遷或複製。The system and method for assisting the distributed database to achieve automatic load balancing, including the following steps: Step 1: Calculate the numerical data from the data inventory taking record and the data block configuration data, and establish an empty data. The relocation or replication scheme combination Z=(), and an optimal data relocation or replication scheme combination Z * that has not been specified; Step 2: define a performance conversion function and a performance target value, and the performance conversion function is a function f, A data block set can be converted into a value, which is positively correlated with the total number of accesses of the data block set, and the performance target value P * is a real number; Step 3: Estimating the number of database hosts that need to be additionally activated Estimating the performance conversion function and the performance target value; Step 4: Determining a data block b, and a host m currently storing the data block b replica, if the data block b on the host m is removed, Maximum performance improvement; Step 5: Decide on a newly started or not busy database host m', and move the data block b on the host m into m' to minimize the performance loss; Step 6 Decide on the relocation or copying plan to be added to Z. According to the net performance improvement amount, the net performance improvement amount is determined by the value of step 4 and the value of step 5; Step 7: Check whether the performance target is achieved, and calculate the data by using the performance conversion function. The performance estimate of the library host P i , if any of the performance estimates do not achieve the performance goal ( P i P * ), repeat step 4, if the performance goal is reached, then consider Z as the current best solution Z * , ie Z * = Z; Step 8: Check if the additionally launched database host is not fully utilized, If yes, reduce the number of hosts that need to be newly started in step (2), empty Z, recalculate C, and repeat step 4; Step 9: output the best data relocation or replication scheme, output Z * is the best Data relocation or copying plan. If Z * is still not specified, no data will be relocated or copied.

本發明進一步提供一種協助分散式資料庫達到自動負載平衡的系統,包括有:一分散式資料庫,至少由一組的資料庫主機所組成之單一資料庫通過資料切割(partition)來儲存資料區塊,各台主機僅儲存一部分的資料區塊;一資料庫存取記錄擷取模組,由分散式資料庫中擷取存取記錄;一資料庫區塊配置資料擷取模組,由分散式資料庫中擷取區塊配置資料;一負載平衡規劃模組,尋找最佳之資料搬遷或複製方案;一雲端資源管控模組,提供新增資料庫主機;一資料區塊遷移模組,提供各台資料庫主機間搬遷或複製資料區塊。The present invention further provides a system for assisting a distributed database to achieve automatic load balancing, comprising: a decentralized database, at least a single database consisting of a set of database hosts storing data areas through data partitions; Block, each host only stores a part of the data block; a data store takes the record capture module, and the access record is retrieved from the distributed database; a database block configuration data capture module is distributed The block configuration data is retrieved from the database; a load balancing planning module is used to find the best data relocation or copying plan; a cloud resource management module provides a new database host; and a data block migration module provides Relocate or copy data blocks between hosts of each database.

101~109‧‧‧步驟1~步驟9101~109‧‧‧Step 1~Step 9

210‧‧‧協助分散式資料庫達到負載平衡之系統210‧‧‧Assisting distributed databases to achieve load balancing systems

211‧‧‧資料庫存取技術擷取模組211‧‧‧Data Inventory Technology Capture Module

212‧‧‧資料庫區塊配置資料擷取模組212‧‧‧Database Block Configuration Data Capture Module

213‧‧‧負載平衡規劃模組213‧‧‧Load Balancing Planning Module

214‧‧‧雲端資源管控模組214‧‧‧Cloud Resource Management Module

215‧‧‧資料區塊遷移模組215‧‧‧Data Block Migration Module

220‧‧‧原分散式資料庫主機之叢集220‧‧‧ Cluster of original distributed database hosts

221‧‧‧原分散式資料庫221‧‧‧ original decentralized database

222‧‧‧資料區塊222‧‧‧data block

230‧‧‧虛擬主機群230‧‧‧Virtual Hosting Group

231‧‧‧新分散式資料庫231‧‧‧New Decentralized Database

232‧‧‧新資料區塊232‧‧‧New data block

300‧‧‧分散式資料庫300‧‧‧Distributed database

第1圖為本發明協助分散式資料庫達到自動負載平衡的系統與方法之元件流程圖; 第2圖為該協助分散式資料庫達到自動負載平衡的系統實際運作示意圖;圖3為該分散式資料庫之示意圖。1 is a component flow diagram of a system and method for assisting a distributed database to achieve automatic load balancing according to the present invention; Figure 2 is a schematic diagram of the actual operation of the system for assisting the distributed database to achieve automatic load balancing; Figure 3 is a schematic diagram of the distributed database.

請參閱第1圖,本發明所提供之應用協助分散式資料庫達到自動負載平衡的系統之資料搬遷或複製之方法,其運作步驟包含有:Please refer to FIG. 1 . The method provided by the present invention for assisting a distributed database to achieve data relocation or replication of an automatic load balancing system includes the following steps:

步驟1(101):計算出以下數值資料供後續使用:計算資料區塊的熱門程度向量H:從資料庫存取記錄350中,彙總出各個資料區塊被存取的次數。使用者可依需求自行決定要彙總多長期間的資料庫存取記錄。此計算完成後可得到一熱門程度向量H,H i 為第i個資料區塊被存取的次數,其值為非負之整數。Step 1 (101): Calculate the following numerical data for subsequent use: calculate the popularity degree vector H of the data block: from the data inventory take record 350, summarize the number of times each data block is accessed. Users can decide according to their needs to collect data inventory records for a long period of time. After this calculation is completed, a popularity degree vector H is obtained, and H i is the number of times the i-th data block is accessed, and the value is a non-negative integer.

計算資料區塊的配置矩陣C:從資料庫的資料區塊配置資料340中,計算出資料區塊的配置矩陣。此配置矩陣C為一h * n之二維矩陣,h為資料區塊的數量,n為資料庫主機的數量。C ij 為1,表示第i個資料區塊存在一複本於主機j上,C ij 為0,表示第i個資料區塊不存在複本於主機j上。Calculating the configuration matrix of the data block C: Calculating the configuration matrix of the data block from the data block configuration data 340 of the database. The configuration matrix C is a two-dimensional matrix of h * n, h is the number of data blocks, and n is the number of database hosts. C ij is 1, indicating that there is a copy of the i-th data block on the host j, and C ij is 0, indicating that the i-th data block does not have a copy on the host j.

計算資料區塊的存取關聯矩陣S:從資料庫存取記錄350中,計算出一存取關聯矩陣。使用者可依需求自行決定要取多長期間的資料庫存取記錄來做計算。此存取關聯 矩陣S為一h*h之二維矩陣(h為資料區塊的數量),S ij 為資料區塊i與區料區塊j的存取關聯性,S ij 為0表示資料區塊i與資料區塊j是否存在於同一機器並無影響。S ij 為負表示讓資料區塊i放在與資料區塊j不同的機器上會衍生負面效果。S ij 為正表示讓資料區塊i放在與資料區塊j不同的機器上會衍生正面效果。在較佳的實施例中,存取模式相似權重計算方式為:,若i 與j不相等S ij =1,若i與j相等此外,並需建立一個空的資料搬遷或複製方案步驟Z=(),以及一個尚未被指定的最佳資料搬遷或複製方案步驟Z*The access association matrix S of the data block is calculated: from the data inventory take record 350, an access association matrix is calculated. The user can decide on how long to take the data inventory to take the calculation according to the needs. The access association matrix S is a two-dimensional matrix of h*h (h is the number of data blocks), S ij is the access association between the data block i and the block j, and S ij is 0 indicating data. Whether block i and data block j exist on the same machine has no effect. A negative S ij indicates that having the data block i placed on a different machine than the data block j has a negative effect. S ij is positive means that having the data block i placed on a different machine than the data block j will have a positive effect. In a preferred embodiment, the access mode similar weight calculation method is: If i and j are not equal S ij =1, if i is equal to j, and an empty data relocation or copying scheme step Z=() is required, and an optimal data relocation or copying scheme step has not been specified. Z * .

步驟2(102):需定義效能轉化函數與效能目標值。效能轉化函數為一函數f,可將一資料區塊集合D轉化為一數值,此數值即為一存放資料區塊集合D的資料庫主機的效能估計值,此數值需與資料區塊集合D的存取總次數成正相關。假設目前n台資料庫主機(M1 ,M2 ,M3 ,…,Mn )的效能估計值為(P1 ,P2 ,P3 ,…,Pn ),有一效能轉化函數f可用來衡量Mi之效能估計值P i Step 2 (102): The performance conversion function and the performance target value need to be defined. The performance conversion function is a function f, which can convert a data block set D into a numerical value, which is a performance estimation value of the data library host storing the data block set D, and the value needs to be combined with the data block set D. The total number of accesses is positively correlated. Assuming that the performance estimates of the current n database hosts (M 1 , M 2 , M 3 , . . . , M n ) are (P 1 , P 2 , P 3 , . . . , P n ), a performance conversion function f can be used. Measuring Mi's performance estimate P i

其中B j 表示第j個資料區塊,Access ({B })表示資料區塊集合B的存取總次數。Where B j represents the jth data block, and Access ({ B }) represents the total number of accesses of the data block set B.

而效能目標值為一數值P * ,效能目標為期望所有的P i 皆小於數值P * ,亦即: The performance target value is a value P * , and the performance goal is that all P i are expected to be less than the value P * , that is:

在較佳的實施例中,效能函數f即為一將「資料區塊集合」轉化為「存放此資料區塊集合的資料庫主機在一定時間內承載的外部請求的數量」之函數,亦即,此較佳的實施例希望各台主機在一定時間內,所承載的外部請求的數量不超過一閥值P * ,以維持該主機上資料庫的服務品質。In a preferred embodiment, the performance function f is a function of converting the "data block set" into "the number of external requests carried by the database host storing the data block set for a certain period of time", that is, The preferred embodiment hopes that the number of external requests carried by each host within a certain period of time does not exceed a threshold P * to maintain the service quality of the database on the host.

步驟3(103):估計需要額外啟動的資料庫主機數量。假設目前n台資料庫主機(M1 ,M2 ,M3 ,…,Mn )的效能估計值為(P1 ,P2 ,P3 ,…,Pn ),利用以下公式估計需新啟動的資料庫主機數量△n 為: Step 3 (103): Estimate the number of database hosts that need additional startup. Assume that the current performance estimates of the n database hosts (M 1 , M 2 , M 3 , ..., M n ) are (P 1 , P 2 , P 3 , ..., P n ), and the following formula is used to estimate the need for a new start. The number of database hosts △ n is:

並將C延展為一h *(n +△n )的二維矩陣,並使其擴充的值為0。Extend C to a two-dimensional matrix of h *( nn ) and make it expand to a value of zero.

步驟4(104):運用H,C,S決定一資料區塊b、及目前存有資料區塊b複本的一主機m,若將主機m上的資料區塊b移出可帶來最大的效能提昇。此資料區塊b及主機m由以下算式決定: Step 4 (104): Use H, C, S to determine a data block b, and a host m that currently has a copy of the data block b. If the data block b on the host m is removed, the maximum performance can be achieved. Upgrade. This data block b and host m are determined by the following formula:

限制式P m P * 表示此主機m之效能估計值未達成 效能目標。若無法找出一滿足限制條件的之b及m組合,則跳至第七步。Restricted P m P * indicates that the performance estimate of this host m does not achieve a performance goal. If you cannot find a b and m combination that meets the restrictions, skip to step 7.

步驟5(105):運用C,S決定一新啟動或不繁忙的資料庫主機m’,將主機m上的資料區塊b移入m’可帶來最小的效能減損。此主機m’可由以下算式決定: Step 5 (105): Using C, S to determine a newly started or not busy database host m', and moving the data block b on the host m into m' can bring about minimal performance impairment. This host m' can be determined by the following formula:

其中,D m 表示資料庫主機m’上的資料區塊集合。Where D m ' represents a collection of data blocks on the database host m'.

步驟6(106):計算淨效能提昇量,並決定待加入Z的搬遷或複製方案,決定方法如下:Step 6 (106): Calculate the net performance improvement amount and decide the relocation or replication plan to be added to Z. The decision method is as follows:

(1)且步驟4的效能提昇量為正,則將「將主機m上的資料區塊b搬遷到m’」步驟新增至Z,將C bm 更新為1。由於C bm 值變動,P m 之值亦可能會變動。(1) If the performance improvement amount of step 4 is positive, the step of "Relocating data block b on host m to m'" is added to Z, and C bm ' is updated to 1. The value of P m ' may also vary due to changes in C bm ' values.

(2)但步驟4的效能提昇量為負,則將「將主機m上的資料區塊b複製到m’」步驟新增至Z,將C bm 更新為0,將C bm 更新為1,由於C bm C bm 值變動,P m P m 之值亦可能會變動。(2) However, if the performance improvement amount of step 4 is negative, add the step of "copy data block b on host m to m'" to Z, update C bm to 0, and update C bm ' 1. Since the values of C bm and C bm ' vary, the values of P m and P m ' may also vary.

步驟7(107):若存在P i P * (即未達成效能目標),則重複進行步驟4。若不存在,則將Z視為目前最佳解Z* ,即Z* =Z。Step 7 (107): If there is P i P * (ie, the performance goal is not achieved), then repeat step 4. If not, Z is considered to be the current best solution Z * , ie Z * =Z.

步驟8(108):若△n >0,套用效能轉化函數檢查新啟動的資料庫主機之預測效能指標(P n +1 ,…,P n +△n )之平均值是 否未達一預先設定之閥值(r *P * ),即新啟動主機的平均效能使用率是否達到效能目標值P *r 比率。若是,則將第二步中估計需要新啟動的資料庫主機數量減少一台(△n ←△n -1),清空Z,將C重新延展為一h *(n +△n )的二維矩陣,並使其擴充的值為0,重新進行步驟4。Step 8 (108): If Δ n >0, apply the performance conversion function to check whether the average value of the predicted performance indicators ( P n +1 , . . . , P nn ) of the newly launched database host is less than a preset. The threshold ( r * P * ), that is, whether the average performance usage of the newly activated host reaches the r ratio of the performance target value P * . If yes, reduce the number of hosts that need to be newly started in the second step by one (△ n ←△ n -1), empty Z, and re-extend C to a two-dimensional structure of h *( nn ) Matrix, and make its expanded value 0, repeat step 4.

步驟9:輸出Z* 為最終之資料搬遷或複製方案。Step 9: Output Z * as the final data relocation or copying plan.

而本發明之實際運用則請參考第2圖,一協助分散式資料庫達到負載平衡之系統210,包含五個主要模組。負載平衡規劃模組213實作本專利揭露之技術實施方法(如第1圖),此模組需要資料庫存取技術擷取模組211協助擷取資料庫存取技術,以及資料庫區塊配置資料擷取模組212擷取資料庫區塊配置資料。若213模組所產出負載平衡方案中表示需要額外的資料庫主機(即△n >0),雲端資源管控模組214即在雲端IaaS環境中調派△n 台的虛擬主機群230,並進行適當的軟硬體設定,使其具備分散式資料庫所需之功能,並將此虛擬主機群230新增至原分散式資料庫主機之叢集220中。資料區塊遷移模組215隨後依據213模組所產出之負載平衡方案,進行資料區塊的搬遷與/或複製,如:將原分散式資料庫221上的一資料區塊222複製到新分散式資料庫231上成為一新資料區塊232。For practical application of the present invention, please refer to FIG. 2, a system 210 for assisting a distributed database to achieve load balancing, comprising five main modules. The load balancing planning module 213 implements the technical implementation method disclosed in the patent (such as FIG. 1). The module needs the data inventory acquisition technology module 211 to assist in capturing the data inventory acquisition technology and the database configuration data. The capture module 212 retrieves the repository block configuration data. If the load balancing scheme generated by the 213 module indicates that an additional database host is required (ie, Δ n >0), the cloud resource management module 214 dispatches the Δ n virtual host group 230 in the cloud IaaS environment, and performs Appropriate hardware and software settings, with the functions required for the distributed database, and the virtual host group 230 is added to the cluster 220 of the original distributed database host. The data block migration module 215 then performs the relocation and/or copying of the data block according to the load balancing scheme generated by the 213 module, for example, copying a data block 222 on the original distributed database 221 to the new data block 222. The distributed database 231 becomes a new data block 232.

請參閱第3圖為本發明分散式資料庫300之結構示意圖,其中: 該分散式資料庫300,至少由一組的資料庫主機310、320、330所組成之單一資料庫通過資料切割(partition)來儲存資料區塊,各台主機僅儲存一部分的資料區塊311、312;其中:分散式資料庫是由超過一台的資料庫主機所組成之單一資料庫,分散式資料庫通過資料切割(partition)來儲存資料區塊,各台主機僅儲存一部分的資料區塊,不會有一台主機儲存了所有的資料區塊。請繼續參閱第3圖,進一步說明該分散式資料庫300之特點,該分散式資料庫300包含三台資料庫主機310、320、330。資料庫主機310包含兩資料區塊311、312,分別儲存資料區塊A與資料區塊B;資料庫主機320包含兩資料區塊321、322,分別儲存資料區塊B與資料區塊C;資料庫主機330包含兩資料區塊331、332,分別儲存資料區塊A與資料區塊C。資料區塊A有兩個複本311與331,分別存放在資料庫主機310與330;資料區塊B有兩個複本312與321,分別存放在資料庫主機310與320;資料區塊C有兩個複本322與332,分別存放在資料庫主機320與330。由於進行了資料切割的關係,分散式資料庫需維護一額外之機制,用以記錄或決定資料存在於哪一台主機上。一常見之機制是維護一具一致性的雜湊函數(hash function),用以決定資料存在於哪一台主機上。另一常見的機制是維護一對照表,用以記錄資料存在於哪一台主機上。資料庫亦需記錄資料與資料區塊間的對應關係,以針對資料 請求存取對應的資料區塊。此專利將以上機制及資料統稱為「資料區塊配置資料」,標示於第3圖中的資料區配置資料340。為了維護資料庫的持久性(durability)以及災難復原需求,資料庫會將過去的資料存取記錄存放在一持久之儲存媒體上,此資料存取記錄標示於第3圖中的資料庫存取紀錄350。Please refer to FIG. 3, which is a schematic structural diagram of a distributed database 300 of the present invention, wherein: The distributed database 300 stores at least a group of database hosts 310, 320, 330 a single data repository through a data partition, and each host stores only a portion of the data blocks 311, 312; wherein: the distributed database is a single database composed of more than one database host, the distributed database stores the data blocks through the data partition, and each host only stores a part of the data blocks. There will be no host that stores all the data blocks. Please continue to refer to FIG. 3 to further illustrate the features of the distributed database 300. The distributed database 300 includes three database hosts 310, 320, and 330. The data library host 310 includes two data blocks 311, 312, respectively storing the data block A and the data block B; the database host 320 includes two data blocks 321, 322, respectively storing the data block B and the data block C; The database host 330 includes two data blocks 331, 332 for storing the data block A and the data block C, respectively. The data block A has two duplicates 311 and 331, which are respectively stored in the database hosts 310 and 330; the data block B has two duplicates 312 and 321 which are respectively stored in the database hosts 310 and 320; the data block C has two The replicas 322 and 332 are stored in the database hosts 320 and 330, respectively. Due to the data cutting relationship, the decentralized database needs to maintain an additional mechanism for recording or determining which host the data exists on. A common mechanism is to maintain a consistent hash function that determines which host the data resides on. Another common mechanism is to maintain a look-up table to record which host the data resides on. The database also needs to record the correspondence between the data and the data block to target the data. Request access to the corresponding data block. This patent refers to the above mechanism and data as "data block configuration data" and is indicated in the data area configuration data 340 in FIG. In order to maintain the durability and disaster recovery requirements of the database, the database stores past data access records on a persistent storage medium. The data access records are recorded in the data inventory record in Figure 3. 350.

該資料庫存取記錄擷取模組211,由分散式資料庫300中擷取存取記錄;該資料庫區塊配置資料擷取模組212,由分散式資料庫300中擷取區塊配置資料340;該負載平衡規劃模組213,尋找最佳之資料搬遷或複製方案;該雲端資源管控模組214,提供新增資料庫主機310~330;該資料區塊遷移模組215,提供各台資料庫主機310~330間搬遷或複製資料區塊220。The data inventory is taken from the record capture module 211, and the access record is retrieved from the distributed database 300; the database block configuration data capture module 212 is used to retrieve the block configuration data from the distributed database 300. 340; the load balancing planning module 213 is configured to find an optimal data relocation or replication solution; the cloud resource management module 214 provides a new database host 310-330; and the data block migration module 215 provides each station. The data bases 310 to 330 relocate or copy the data block 220.

以下將本發明之實際運作:假設一分散式資料庫由三台資料庫主機(主機甲、主機乙、主機丙)所組成,儲存七個資料區塊(資料區塊A、資料區塊B、資料區塊C、資料區塊D、資料區塊E、資料區塊F、資料區塊G)。其資料區塊配置如下表:表2:資料區塊配置 The following is the actual operation of the present invention: assuming that a distributed database consists of three database hosts (Host A, Host B, Host C), and stores seven data blocks (data block A, data block B, Data block C, data block D, data block E, data block F, data block G). The data block configuration is as follows: Table 2: Data block configuration

並已從資料庫存取記錄中,統計出各種不同查詢的查詢次數與需存取的資料區塊。And from the data inventory record, the number of queries of different queries and the data blocks to be accessed are counted.

步驟1(101):計算出以下數值資料供後續使用Step 1 (101): Calculate the following numerical data for subsequent use

(1)計算資料區塊的熱門程度向量H:(115000,100500,20000,78000,13000,41000,1000,75000),分別代表資料區塊A,B,C,D,E,F,G,H被存取的次數。(1) Calculate the popularity degree vector H of the data block: (115000, 100500, 20000, 78000, 13000, 41000, 1000, 75000), representing the data blocks A, B, C, D, E, F, G, respectively. The number of times H is accessed.

(2)計算資料區塊的配置矩陣,舉例 來說,第一行(column)的(1,0,0,1,0,0,0,0)表示主機甲上有資料區塊A與資料區塊D。(2) Calculate the configuration matrix of the data block For example, the first (column) of (1,0,0,1,0,0,0,0) indicates that the data block A and the data block D are on the host A.

(3)計算資料區塊的存取關聯矩陣S: (3) Calculate the access association matrix S of the data block:

在此以S1,2 (-0.87)為例,解釋求其數值。首先,資料區塊A在此資料庫存取記錄中共被存取115000次,此數字為分母;在資料區塊A被存取時,有100000次會同時存取資料區塊B,此數字為分子,將兩數字相除後取負數(-100000/115000)即為其值。Here, S 1,2 (-0.87) is taken as an example to explain the value. First, the data block A is accessed 115,000 times in this data inventory record. This number is the denominator; when the data block A is accessed, 100000 times will access the data block B at the same time. This number is a numerator. Dividing the two numbers and taking a negative number (-100000/115000) is its value.

步驟2(102):定義效能轉化函數與效能目標值, 在此將效能函數f定義為「存放此資料區塊集合的資料庫主機在一定時間內承載的外部請求的數量」。以主機甲為例,參照表2可得知,主機甲存放之資料區塊集合為{A,D}。參照表3可得知,牽涉到{A,D}的查詢有Query 1,4,9,10,11,12,13,這些Query的查詢次數總和為:188000(10000+70000+90000+10000+5000+2000+1000),即為主機甲的效能估計值。同算法可算出主機乙的效能估計值為114500、主機丙的效能估計值為136000。並將效能目標值設定在140000,亦即,期望所有的資料庫主機,在一定時間內承載的外部請求的數量小於140000個,以維持該主機上資料庫的服務品質。Step 2 (102): defining a performance conversion function and a performance target value, Here, the performance function f is defined as "the number of external requests hosted by the database host of this data block set for a certain period of time". Taking host A as an example, referring to Table 2, it can be known that the data block set stored by host A is {A, D}. Referring to Table 3, the query involving {A, D} has Query 1, 4, 9, 10, 11, 12, 13, and the total number of queries of these Query is: 188000 (10000+70000+90000+10000+) 5000+2000+1000), which is the estimated performance of the host A. The same algorithm can calculate the performance estimate of host B is 114,500, and the estimated performance of host C is 136000. The performance target value is set at 140,000, that is, all database hosts are expected to have less than 140,000 external requests carried in a certain period of time to maintain the service quality of the database on the host.

步驟3(103):估計需要額外啟動的資料庫主機數量Step 3 (103): Estimate the number of database hosts that need additional startup

依此算式, 可算出According to this formula , can be calculated .

將此需要額外啟動之資料庫主機命名為主機 丁,並將資料區塊的配置矩陣C更新為:Name the database host that needs additional startup as the host and update the configuration matrix C of the data block to: .

步驟4:決定一資料區塊b、及目前存有資料區塊b複本的一主機m,若將主機m上的資料區塊b移出可帶來最大的效能提昇。此資料區塊b及主機m由以下算式決定: Step 4: Determine a data block b, and a host m that currently has a copy of the data block b. If the data block b on the host m is removed, the maximum performance improvement can be achieved. This data block b and host m are determined by the following formula:

由此算式可計算出:當(b=資料區塊A,m=主機甲),其值為115000*(1-0.043)=110000,不違反限制式(188000>=140000,C11=1),且為最大值。This formula can be calculated: when (b = data block A, m = host A), its value is 115000 * (1-0.043) = 110000, does not violate the restriction formula (188000> = 140000, C11 = 1), And is the maximum.

步驟5(105):決定一新啟動或不繁忙的資料庫主機m’,將主機m上的資料區塊b移入m’可帶來最小的效能減損。此主機m’可由以下算式決定: Step 5 (105): Determining a newly started or not busy database host m', and moving the data block b on the host m into m' can bring about minimal performance impairment. This host m' can be determined by the following formula:

由此算式可計算出:當(m’=主機乙),其值為-0.87,不違反限制式(129500<140000,C12 =0),且為最小值。This formula can be calculated: when (m'=Host B), its value is -0.87, does not violate the restriction formula (129500<140000, C 12 =0), and is the minimum value.

步驟6(106):步驟4的效能提昇量(110000)為正,因此將「將主機甲上的資料區塊A搬遷到主機乙」步驟加入Z, 並將C更新為:Step 6 (106): The performance improvement amount (110000) of step 4 is positive, so the step of "relocating data block A on host A to host B" is added to Z, and C is updated to: .

步驟7(107):檢查是否存在有主機的效能估計值P i P * (即未達成效能目標)。皆達成效能目標,因此Z* ={將主機甲上的資料區塊A搬遷到主機乙},為目前最佳解。Step 7 (107): Check if there is a performance estimate P i of the host. P * (ie, no performance goal is achieved). All achieve the performance goal, so Z * = {relocate the data block A on the host A to the host B}, which is the best solution at present.

步驟8(108):r 設定為0,8,即閥值為(0.8*P * )=112000。主機丁之效能估計值為0,小於此閥值,表示此新增之主機沒被充分運用,可縮減新啟動的資料庫主機數量。將資料庫主機數量減少一台(△n ←△n -1)再運算後,其所得結果跟Z* 相同。Step 8 (108): r is set to 0, 8, ie the threshold is (0.8* P * ) = 112000. The estimated performance of the host D is 0, which is less than this threshold, indicating that the newly added host is not fully utilized, which can reduce the number of newly started database hosts. After reducing the number of database hosts by one (△ n ← △ n -1), the result is the same as Z * .

步驟9(109):因此Z* =(將主機甲上的資料區塊A搬遷到主機乙)為最終之資料搬遷或複製方案。Step 9 (109): Therefore, Z * = (relocating the data block A on the host A to the host B) is the final data relocation or copying scheme.

上列詳細說明係針對本發明之一可行實施例之具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。The detailed description of the preferred embodiments of the present invention is intended to be limited to the scope of the invention, and is not intended to limit the scope of the invention. The patent scope of this case.

綜上所述,本案不但在空間型態上確屬創新,並能較習用物品增進上述多項功效,應已充分符合新穎性及進步性之法定發明專利要件,爰依法提出申請,懇請 貴局 核准本件發明專利申請案,以勵發明,至感德便。In summary, this case is not only innovative in terms of space type, but also can enhance the above-mentioned multiple functions compared with conventional articles. It should fully comply with the statutory invention patent requirements of novelty and progressiveness, and apply for it according to law. Approved this invention patent application, in order to invent invention, to the sense of virtue.

101~109‧‧‧步驟1~步驟9101~109‧‧‧Step 1~Step 9

Claims (7)

一種應用協助分散式資料庫達到自動負載平衡的系統之資料搬遷或複製之方法,包含有:步驟1:從資料庫存取記錄與資料區塊配置資料中,計算出數值資料,並建立一個空的資料搬遷或複製方案組合Z=( ),以及一個尚未被指定的最佳資料搬遷或複製方案組合Z* ;步驟2:定義一效能轉化函數與一效能目標值,且效能轉化函數為一函數f ,可將一資料區塊集合轉化為一數值,此數值需與該資料區塊集合的存取總次數成正相關,效能目標值P * 為一實數;步驟3:估計需要額外啟動的資料庫主機數量,運用效能轉化函數與效能目標值進行估計;步驟4:決定一資料區塊b、及目前存有資料區塊b複本的一主機m,若將主機m上的資料區塊b移出可帶來最大效能提昇;步驟5:決定一新啟動或不繁忙的資料庫主機m’,將主機m上的資料區塊b移入m’可帶來最小的效能減損;步驟6:決定待加入Z的搬遷或複製方案,根據淨效能提昇量決定,淨效能提昇量由步驟4數值與步驟5數值之公式決定;步驟7:檢查是否達成效能目標,運用效能轉化函數計算 各台資料庫主機的效能預估值P i ,若有任何一台的效能預估值未達成效能目標(P i P * ),則重複進行步驟4,若達成效能目標,則將Z視為目前之最佳解Z* ,即Z* =Z;步驟8:檢查額外啟動的資料庫主機是否未被充分運用,若是則將步驟(2)中估計需要新啟動的資料庫主機數量縮減之,清空Z,重計算C,重新進行步驟4;步驟9:輸出最佳資料搬遷或複製方案,輸出Z* 為最佳資料搬遷或複製方案。若Z* 仍未被指定,則不進行資料搬遷或複製。A method for relocating or copying data of a system that assists a distributed database to achieve automatic load balancing includes: Step 1: Calculate the numerical data from the data inventory taking record and the data block configuration data, and establish an empty Data relocation or replication scheme combination Z=(), and an optimal data relocation or replication scheme combination Z * that has not been specified; Step 2: Define a performance conversion function and a performance target value, and the performance conversion function is a function f , a data block set can be converted into a value, the value needs to be positively correlated with the total number of accesses of the data block set, and the performance target value P * is a real number; Step 3: estimating the database host that needs additional startup Quantity, using the performance conversion function and the performance target value for estimation; Step 4: Determining a data block b, and a host m that currently has a copy of the data block b, if the data block b on the host m is removed To maximize performance improvement; Step 5: Decide on a newly started or not busy database host m', and move the data block b on the host m into m' to minimize performance loss; Step 6: Decide on the relocation or copying plan to be added to Z. According to the net performance improvement amount, the net performance improvement amount is determined by the value of step 4 and the value of step 5; step 7: check whether the performance target is achieved, and calculate the performance conversion function. The performance estimate P i of each database host, if any one of the performance estimates does not achieve the performance goal ( P i P * ), repeat step 4, if the performance goal is reached, then consider Z as the current best solution Z * , ie Z * = Z; Step 8: Check if the additionally launched database host is not fully utilized, If yes, reduce the number of hosts that need to be newly started in step (2), empty Z, recalculate C, and repeat step 4; Step 9: output the best data relocation or replication scheme, output Z * is the best Data relocation or copying plan. If Z * is still not specified, no data will be relocated or copied. 如申請專利範圍第1項所述之應用協助分散式資料庫達到自動負載平衡的系統之資料搬遷或複製之方法,其中該數值資料需計算出以下三種數值資料:(1)資料區塊的熱門程度向量H、(2)資料區塊的配置矩陣C以及(3)資料區塊的存取關聯矩陣S。For example, the method for assisting the distributed database to achieve the data relocation or replication of the automatic load balancing system as described in the first application of the patent scope, wherein the numerical data needs to calculate the following three types of data: (1) the hotspot of the data block The degree vector H, (2) the configuration matrix C of the data block, and (3) the access association matrix S of the data block. 如申請專利範圍第1項所述之應用協助分散式資料庫達到自動負載平衡的系統之資料搬遷或複製之方法,其中該估計需要額外啟動的資料庫主機數量公式為:假設目前n 台資料庫主機(M1 ,M2 ,M3 ,…,Mn )的效能現況為(P1 ,P2 ,P3 ,…,Pn ),利用以下公式估計需新啟動的資料庫主機數量△n 為:For example, the application for assisting the distributed database to achieve the data relocation or replication of the automatic load balancing system as described in the first application of the patent scope, wherein the estimation requires an additional database host number formula: assume that the current n database The performance of the host (M 1 , M 2 , M 3 , ..., M n ) is (P 1 , P 2 , P 3 , ..., P n ), and the number of database hosts to be newly started is estimated by the following formula Δ n for: . 如申請專利範圍第1項所述之應用協助分散式資料庫達 到自動負載平衡的系統之資料搬遷或複製之方法,其中該資料區塊b及主機m由以下算式決定: 其中P m 為第m台資料庫主機的效能估計值,可透過以下方式求得:P i =f ({B j }),s.t. (C ji =1)^(f ({B }) Access ({B }))其中B j 表示第j個資料區塊,Access ({B })表示資料區塊集合B的存取總次數。For example, the method for assisting a distributed database to achieve data relocation or replication of an automatic load balancing system as described in claim 1 of the patent application scope, wherein the data block b and the host m are determined by the following formula: Where P m is the estimated performance of the mth database host, which can be obtained by: P i = f ({ B j }), st ( C ji =1) ^ ( f ({ B }) Access ({ B })) where B j represents the jth data block and Access ({ B }) represents the total number of accesses of the data block set B. 如申請專利範圍第1項所述之應用協助分散式資料庫達到自動負載平衡的系統之資料搬遷或複製之方法,其中該主機m’可由以下算式決定: 其中,D m 表示資料庫主機m’上的資料區塊集合。The method for assisting a distributed database to achieve data relocation or replication of an automatic load balancing system as described in claim 1 of the patent application scope, wherein the host m' can be determined by the following formula: Where D m ' represents a collection of data blocks on the database host m'. 如申請專利範圍第1項所述之應用協助分散式資料庫達到自動負載平衡的系統之資料搬遷或複製之方法,其中該 計算淨效能提昇量,並決定 待加入Z的搬遷或複製方案,決定方法如下:(a)若淨效能提昇量為正,且步驟4的效能提昇量為正,則將「將主機m上的資料區塊b搬遷到m’」加入Z,並更新C;(b)若淨效能提昇量為正,但步驟4的效能提昇量為負,則將「將主機m上的資料區塊b複製到m’」加入Z,並更新C; (c)否則,跳至步驟(9),輸出Z* 為最佳的資料搬遷或複製方案組合。The method for relocating or copying data of a system that assists a distributed database to achieve automatic load balancing, as described in claim 1, wherein the calculated net performance increase And decide on the relocation or copying plan to be added to Z. The decision method is as follows: (a) If the net performance improvement is positive and the performance improvement of step 4 is positive, then the data block b on the host m will be relocated. Add Z to m' and update C; (b) If the net performance improvement is positive, but the performance improvement of step 4 is negative, then "copy data block b on host m to m'" Z, and update C; (c) Otherwise, skip to step (9) and output Z * as the best data relocation or copying scheme combination. 一種協助分散式資料庫達到自動負載平衡的系統,包括:一分散式資料庫,至少由一組的資料庫主機所組成之單一資料庫通過資料切割(partition)來儲存資料區塊,各台主機僅儲存一部分的資料區塊;一資料庫存取記錄擷取模組,由分散式資料庫中擷取存取記錄;一資料庫區塊配置資料擷取模組,由分散式資料庫中擷取區塊配置資料;一負載平衡規劃模組,尋找最佳之資料搬遷或複製方案;一雲端資源管控模組,提供新增資料庫主機;一資料區塊遷移模組,提供各台資料庫主機間搬遷或複製資料區塊。A system for assisting a distributed database to achieve automatic load balancing, comprising: a decentralized database, at least a single database consisting of a set of database hosts, through a data partition to store data blocks, each host Only a part of the data block is stored; a data inventory is taken from the record capture module, and the access record is retrieved from the distributed database; a database block configuration data capture module is captured by the distributed database Block configuration data; a load balancing planning module to find the best data relocation or replication solution; a cloud resource management module to provide a new database host; a data block migration module to provide each database host Relocate or copy data blocks.
TW102134674A 2013-09-26 2013-09-26 Assist systems and methods for decentralized database to achieve automatic load balancing TWI505111B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW102134674A TWI505111B (en) 2013-09-26 2013-09-26 Assist systems and methods for decentralized database to achieve automatic load balancing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102134674A TWI505111B (en) 2013-09-26 2013-09-26 Assist systems and methods for decentralized database to achieve automatic load balancing

Publications (2)

Publication Number Publication Date
TW201512861A TW201512861A (en) 2015-04-01
TWI505111B true TWI505111B (en) 2015-10-21

Family

ID=53437144

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102134674A TWI505111B (en) 2013-09-26 2013-09-26 Assist systems and methods for decentralized database to achieve automatic load balancing

Country Status (1)

Country Link
TW (1) TWI505111B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201142632A (en) * 2010-01-18 2011-12-01 Microsoft Corp Database engine throttling
US8209696B2 (en) * 2006-02-13 2012-06-26 Teradata Us, Inc. Method and system for load balancing a distributed database
TW201237655A (en) * 2010-11-22 2012-09-16 Ibm Information processing system, information processing apparatus, load balancing method, database deployment planning method, and program for realizing connection distribution for load balancing in distributed database
CN103124274A (en) * 2011-11-18 2013-05-29 中兴通讯股份有限公司 Method and device for virtually scheduling cloud computing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209696B2 (en) * 2006-02-13 2012-06-26 Teradata Us, Inc. Method and system for load balancing a distributed database
TW201142632A (en) * 2010-01-18 2011-12-01 Microsoft Corp Database engine throttling
TW201237655A (en) * 2010-11-22 2012-09-16 Ibm Information processing system, information processing apparatus, load balancing method, database deployment planning method, and program for realizing connection distribution for load balancing in distributed database
CN103124274A (en) * 2011-11-18 2013-05-29 中兴通讯股份有限公司 Method and device for virtually scheduling cloud computing

Also Published As

Publication number Publication date
TW201512861A (en) 2015-04-01

Similar Documents

Publication Publication Date Title
US11620308B2 (en) Adaptive distribution method for hash operations
JP5765416B2 (en) Distributed storage system and method
CN110147407B (en) Data processing method and device and database management server
US8601213B2 (en) System, method, and computer-readable medium for spool cache management
WO2016167999A1 (en) Geo-scale analytics with bandwidth and regulatory constraints
US10356150B1 (en) Automated repartitioning of streaming data
US10642837B2 (en) Relocating derived cache during data rebalance to maintain application performance
CN105027069A (en) Deduplication of volume regions
CN107003814A (en) Effective metadata in storage system
CN103077197A (en) Data storing method and device
CN103631894A (en) Dynamic copy management method based on HDFS
WO2022048356A1 (en) Data processing method and system for cloud platform, and electronic device and storage medium
US11080207B2 (en) Caching framework for big-data engines in the cloud
CN104270412A (en) Three-level caching method based on Hadoop distributed file system
JP2007249468A (en) Cpu allocation method, cpu allocation program, cpu allocation device and database management system
CN107480254B (en) Online load balancing method suitable for distributed memory database
JP6262505B2 (en) Distributed data virtualization system, query processing method, and query processing program
WO2017156855A1 (en) Database systems with re-ordered replicas and methods of accessing and backing up databases
US11625503B2 (en) Data integrity procedure
TWI505111B (en) Assist systems and methods for decentralized database to achieve automatic load balancing
CN106909472B (en) Input/output load adjusting method and device of distributed file system
KR101792189B1 (en) Apparatus and method for processing big data
CN110941396A (en) Copy placement method based on airflow organization and oriented to cloud data center
CN110569310A (en) Management method of relational big data in cloud computing environment
US20240086386A1 (en) Multihost database host removal shortcut

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees