TWI484358B - 資料庫之移轉系統、方法及其電腦可讀取之媒體 - Google Patents
資料庫之移轉系統、方法及其電腦可讀取之媒體 Download PDFInfo
- Publication number
- TWI484358B TWI484358B TW101131702A TW101131702A TWI484358B TW I484358 B TWI484358 B TW I484358B TW 101131702 A TW101131702 A TW 101131702A TW 101131702 A TW101131702 A TW 101131702A TW I484358 B TWI484358 B TW I484358B
- Authority
- TW
- Taiwan
- Prior art keywords
- database
- query language
- storage system
- data storage
- structured query
- Prior art date
Links
Description
本發明是有關一種資料庫之移轉系統以及方法,特別是一種將關聯式資料庫移轉至分散式資料儲存系統之移轉系統以及方法。
關聯式資料庫(relational database)是將資料間的關聯性以資料表的形式加以表達,並將資料存儲在資料表中,以便於查詢。結構化查詢語言(Structured Query Language,SQL)則是一種基於關聯式資料庫的查詢語言,用以執行對關聯式資料庫中資料的檢索和操作。關聯式資料庫具有節省儲存空間、減少輸入錯誤、方便資料修改等優點,因此,管理者過去大量使用關聯式資料庫以及SQL指令來儲存以及管理資料。
當資料表以及資料量越來越多時,將會使關聯式資料庫執行效率降低。因此,近年來興起的雲端資料庫則是採用分散式資料儲存(distributed data storage)系統。分散式資料儲存系統泛指應用分散式運算技術的檔案和資料庫等提供資料儲存服務的系統,其中亦包含分散式檔案系統(distributed file system,DFS)。然而,目前分散式資料儲存系統的查詢以及管理大多不支援SQL語法,因此,將關聯式資料庫移轉至分散式資料儲存系統成為一龐大且複雜的工程。
綜上所述,如何以SQL指令為基礎將關聯式資料庫移轉至分散式資料儲存系統便是目前極需努力的目標。
本發明提供一種資料庫之移轉系統以及方法,其是比較關聯式資料庫以及分散式資料儲存系統之差異,以產生相對應之SQL指令。再利用存取模組解析SQL指令即可讀取關聯式資料庫中之中介資料以及
儲存資料,並移轉至分散式資料儲存系統,以減化將關聯式資料庫移轉至分散式資料儲存系統之程序。
本發明一實施例之資料庫之移轉系統是用以將一關聯式資料庫移轉至一分散式資料儲存系統。本發明之資料庫之移轉系統包含一比較模組以及一存取模組。比較模組包含一比較單元以及一指令產生單元。比較單元用以比較關聯式資料庫之一中介資料以及一儲存資料對應於分散式資料儲存系統之一差異。指令產生單元依據比較所獲得之差異產生一第一結構化查詢語言指令。存取模組解析比較模組所產生之第一結構化查詢語言指令,並存取關聯式資料庫之中介資料以及儲存資料,以將儲存資料寫入分散式資料儲存系統。存取模組包含一連接介面、一語法解析單元、一第一存取單元、一第二存取單元以及一資料處理單元。連接介面用以與比較模組連接,以接收第一結構化查詢語言指令。語法解析單元用以將連接介面所接收之第一結構化查詢語言指令解析成至少一代符。第一存取單元用以存取關聯式資料庫。第二存取單元用以存取分散式資料儲存系統。資料處理單元依據代符經由第一存取單元存取關聯式資料庫之中介資料以及儲存資料,以及經由第二存取單元將儲存資料寫入分散式資料儲存系統。
本發明另一實施例之資料庫之移轉方法是用以將一關聯式資料庫移轉至一分散式資料儲存系統。資料庫之移轉方法包含:比較關聯式資料庫之一中介資料以及一儲存資料對應於分散式資料儲存系統之一差異;依據比較所獲得之差異產生一第一結構化查詢語言指令;將第一結構化查詢語言指令解析成至少一代符;依據代符存取關聯式資料庫之中介資料以及儲存資料;依據代符將儲存資料寫入分散式資料儲存系統;接收自一應用程式輸出之一第二結構化查詢語言指令;以及依據由該第二結構化查詢語言指令所解析之該代符,分別存取該關聯式資料庫以及該分散式資料儲存系統,並整合以及回傳一存取結果至該應用程式。
本發明又一實施例之電腦可讀取之媒體儲存一電腦程式。此電腦
程式可供一電子裝置載入以執行一資料庫之移轉方法,其用以將一關聯式資料庫移轉至一分散式資料儲存系統。資料庫之移轉方法包含:比較關聯式資料庫之一中介資料以及一儲存資料對應於分散式資料儲存系統之一差異;依據比較所獲得之差異產生一第一結構化查詢語言指令;將第一結構化查詢語言指令解析成至少一代符;依據代符存取關聯式資料庫之中介資料以及儲存資料;依據代符將儲存資料寫入分散式資料儲存系統;接收自一應用程式輸出之一第二結構化查詢語言指令;以及依據由該第二結構化查詢語言指令所解析之該代符,分別存取該關聯式資料庫以及該分散式資料儲存系統,並整合以及回傳一存取結果至該應用程式。
以下藉由具體實施例配合所附的圖式詳加說明,當更容易瞭解本發明之目的、技術內容、特點及其所達成之功效。
請參照圖1,本發明之資料庫之移轉系統10是用以將一關聯式資料庫20移轉至一分散式資料儲存系統30。於一實施例中,分散式資料儲存系統30可建立於一雲端平台。本發明之一實施例之資料庫之移轉系統10包含一比較模組11以及一存取模組12。比較模組11包含一比較單元111以及一指令產生單元112。比較單元111是用以比較關聯式資料庫20以及分散式資料儲存系統30之間的差異。指令產生單元112是依據比較單元111所比較得到的差異來產生一第一結構化查詢語言指令SQL1。
存取模組12則解析比較模組11所產生之第一結構化查詢語言指令SQL1,來存取關聯式資料庫20之一中介資料(MetaData)以及一儲存資料。舉例而言,中介資料包含一關聯式資料庫20之資料結構,例如資料表、欄位名稱、欄位之資料型態、欄位之資料限制等。存取模組12
並將關聯式資料庫20之儲存資料寫入分散式資料儲存系統30。存取模組12如何以第一結構化查詢語言指令SQL1存取分散式資料儲存系統30容後詳述。
請參照圖4以及圖5,舉例而言,比較單元111比較關聯式資料庫20以及分散式資料儲存系統30之後,發現關聯式資料庫20中有3個資料表Employee、Department、Customer要移轉至分散式資料儲存系統30。3個資料表Employee、Department、Customer之資料結構如圖4所示,而3個資料表Employee、Department、Customer所儲存之儲存資料則如圖5所示。於一實施例中,比較模組11可由一使用者依據是否有移轉資料的需要而隨意觸發啟動,以進行比較關聯式資料庫20以及分散式資料儲存系統30的工作。或者,比較模組11亦可週期性觸發啟動以進行比較工作。舉例而言,可藉由一計時器來週期性觸發啟動比較模組11進行比較工作。
為了將關聯式資料庫20移轉至分散式資料儲存系統30,指令產生單元112依據比較單元111之比較結果產生以下之第一結構化查詢語言指令SQL1,用以在分散式資料儲存系統30中產生如圖6所示之資料結構:Create Table Employee(ID varchar(10)Primary Key,Name varchar(10),Phone varchar(10),Department_ID varchar(10)NOT NULL)
Create Table Department(ID varchar(10)Primary Key,Name varchar(10))
Create Table Customer(ID varchar(10)Primary Key,Name varchar(10))
Create Table Employee_Department_Mapping(value varchar(25)Primary Key)
接著,再產生以下之第一結構化查詢語言指令SQL1,用以將3個資料表Employee、Department、Customer所儲存之儲存資料移轉至分散式資料儲存系統30:Insert into Employee values(‘1’,‘Tester1’,‘09xxxxxxxx’,‘1’)
Insert into Employee values(‘2’,‘Tester2’,‘09xxxxxxxx’,‘1’)
Insert into Employee values(‘3’,‘Tester3’,‘09xxxxxxxx’,‘2’)
Insert into Department values(‘1’,‘7-11’)
Insert into Department values(‘2’,‘Family’)
Insert into Customer values(‘1’,‘Customer1’)
Insert into Customer values(‘2’,‘Customer2’)
Insert into Employee_Department_Mapping values(‘1&1’)
Insert into Employee_Department_Mapping values(‘2&1’)
Insert into Employee_Department_Mapping values(‘3&2’)
存取模組12即依據上述第一結構化查詢語言指令SQL1將關聯式資料庫20中之儲存資料移轉至分散式資料儲存系統30中。可以理解的是,在分散式資料儲存系統30中缺少與關聯式資料庫20相對應之資料表時,必須先在分散式資料儲存系統30建立相對應之資料結構。需注意者,與圖4所示之關聯式資料庫20之資料結構相對應之資料結構,亦可在分散式資料儲存系統30中以不同於圖6所示之資料結構加以實現。舉例而言,指令產生單元112可產生以下之第一結構化查詢語言指令SQL1,在分散式資料儲存系統30中建立圖7所示之資料結構,並將將關聯式資料庫20中之儲存資料移轉至分散式資料儲存系統30:Create Table Employee_Department(Employee_ID varchar(10)Primary Key,Employee_Name varchar(10),Employee_Phone varchar(10),Department_ID varchar(10),Department_Name varchar(10))
Create Table Customer(ID varchar(10)Primary Key,Name varchar(10))
Insert into Employee_Department values(‘1’,‘Tester1’,‘09xxxxxxxx’,‘1’,‘7-11’)
Insert into Employee_Department values(‘2’,‘Tester2’,‘09xxxxxxxx’,‘1’,‘7-11’)
Insert into Employee_Department values(‘3’,‘Tester3’,‘09xxxxxxxx’,‘2’,‘Family’)
Insert into Customer values(‘1’,‘Customer1’)
Insert into Customer values(‘2’,‘Customer2’)
以下說明存取模組12如何以上述第一結構化查詢語言指令SQL1存取分散式資料儲存系統30。請參照圖2,存取模組12包含一連接介面121、一語法解析單元122、一第一存取單元123、一第二存取單元124以及一資料處理單元125。連接介面121用以與比較模組11連接,以接收第一結構化查詢語言指令SQL1。換言之,連接介面121可視為一應用程式介面(Application Program Interface,API)。語法解析單元122用以將連接介面121所接收之第一結構化查詢語言指令SQL1解析成至少一代符(token)。資料處理單元125即依據語法解析單元122所輸出之代符要求第一存取單元123存取關聯式資料庫20所儲存之中介資料以及儲存資料,並以第二存取單元124存取一分散式資料儲存系統30。
舉例而言,第二存取單元124可呼叫一非關聯式(Not only SQL,NoSQL)資料庫之應用程式介面以對分散式資料儲存系統30進行存取。或者,第二存取單元124亦可不經由非關聯式資料庫之應用程式介面而直接對分散式資料儲存系統30進行存取。需注意者,資料處理單元125可在接收到一個或多個代符時進行後續處理。第二存取單元124可依據第一存取單元123所存取之中介資料轉換所接收到的第一結構化查詢語言指令SQL1,以呼叫非關聯式資料庫之應用程式介面,並將關聯式資料庫20之儲存資料寫入分散式資料儲存系統30。
藉由以下之第一結構化查詢語言指令SQL1,說明資料處理單元125如何在分散式資料儲存系統30建立相關資料結構。
Create Table Department(ID varchar(10)Primary Key,Name varchar(10))
連接介面121接收到上述第一結構化查詢語言指令SQL1,經語法解析單元122解析成一串代符,再交由資料處理單元125處理。資料處理單元125會去判斷如何處理語法解析單元122所傳來之代符。依據上述第一結構化查詢語言指令SQL1,資料處理單元125要求第一存取單元123存取關聯式資料庫20之資料表Department之中介資料,亦即其資料結構。接著,資料處理單元125即可要求第二存取單元124呼叫非關聯式資料庫之應用程式介面或直接存取分散式資料儲存系統30,以於分散式資料儲存系統30建立資料表Department以及其欄位家族(Column Family)。以HBase資料庫為例,其語法如下:接著,指令產生單元112存取關聯式資料庫20中資料表Department之儲存資料,並產生以下之第一結構化查詢語言指令SQL1,以將關聯式資料庫20中之儲存資料移轉至分散式資料儲存系統30。
Insert into Department values(‘1’,‘7-11’)
連接介面121接收到上述第一結構化查詢語言指令SQL1,經語法解析單元122解析成一串代符,再交由資料處理單元125處理。資料處理單元125同樣去判斷如何處理語法解析單元122所傳來之代符。依據上述第一結構化查詢語言指令SQL1,資料處理單元125要求第二存取單元124呼叫非關聯式資料庫之應用程式介面或直接存取分散式
資料儲存系統30,以將上述儲存資料移轉至分散式資料儲存系統30。以HBase資料庫為例,其語法如下:請參照圖1,於一實施例中,比較模組11可包含一範本單元113。範本單元113可依據使用者的要求(request)輸出一資料庫模型至指令產生單元112。舉例而言,範本單元113可提供多種內建之資料庫模型以供使用者選擇,並輸出使用者所選擇之資料庫模型至指令產生單元112。或者,範本單元113可供使用者直接匯入一關聯式資料庫作為一資料庫模型,並輸出使用者所輸入之資料庫模型至指令產生單元112。指令產生單元112即可依據範本單元113所輸出之資料庫模型產生第一結構化查詢語言指令SQL1。依據此架構,使用者可選取或匯入資料庫模型以快速於分散式資料儲存系統30建立相對應的資料表。
請參照圖1以及圖2,於一實施例中,連接介面121亦可與一應用程式40連接,以接收一第二結構化查詢語言指令SQL2。第二結構化查詢語言指令SQL2經語法解析單元122解析成至少一代符後,資料處理單元125即可依據由第二結構化查詢語言指令SQL2所解析之代符,分別經由第一存取單元123以及第二存取單元124存取關聯式資料庫20以及分散式資料儲存系統30,並整合成一存取結果。存取結果可再經由連接介面121回傳至應用程式40。
舉例而言,使用者於應用程式40輸入以下第二結構化查詢語言指令SQL2以查詢一筆資料:SELECT Name FROM Customer WHERE ID=‘1’
經語法解析單元122解析成三串代符,分別是:
代符A:SELECT Name
代符B:FROM Customer
代符C:WHERE ID=‘1’
資料處理單元125由代符B得知欲處理之資料表為Customer,因此,資料處理單元125即要求第一存取單元123從關聯式資料庫20取得資料表Customer之相關中介資料之資訊,並儲存至一物件(Object)。
由代符C可知欲進行條件判斷的欄位是欄位ID,由代符A可知欲取得欄位Name之資料,因此,資料處理單元125即要求第二存取單元124由第一存取單元323所建立之物件取得欄位ID、Name之資訊,並呼叫非關聯式資料庫之應用程式介面或直接存取分散式資料儲存系統30來取得所需之資料。以HBase資料庫為例,其語法如下:
最後,資料處理單元125將第一存取單元123以及第二存取單元
124所取得之資料整合成一存取結果,並經由連接介面121回傳至應用程式40。由上述可知,管理者能夠使用以SQL語法為基礎之應用程式直接存取分散式資料儲存系統,例如雲端資料庫。此外,在移轉資料庫的過渡階段,可以暫時保留關聯式資料庫20,而關聯式資料庫20中任何儲存資料的異動皆可被比較模組11偵測到,並將異動的資料寫入分散式資料儲存系統30。
由於現有之用戶端應用程式大多是以一開放式資料庫聯結(Open Database Connectivity,ODBC)或一爪哇資料庫聯結(Java Database Connectivity,JDBC)與關聯式資料庫20建立一資料庫聯結。可以理解的,連接介面121可包含ODBC或JDBC加以實現。而依據上述架構,管理者只需要修改現有應用程式之ODBC或JDBC,即可由關聯式資料庫轉換為非關聯式資料庫,例如雲端資料庫。且管理者仍能夠以SQL指令管理非關聯式資料庫。
於一實施例中,在存取模組12將關聯式資料庫20之儲存資料移轉至分散式資料儲存系統30後,關聯式資料庫20中之儲存資料即可加以清除,而僅保留關聯式資料庫20之中介資料,讓管理者能夠以上述架構以SQL指令管理分散式資料儲存系統30。然而,部分儲存資料亦可保留於關聯式資料庫20中以作為後續快取之用。
舉例而言,關聯式資料庫20可以儲存經常被存取之儲存資料,如此一來,管理者或使用者欲存取這些資料時,存取模組12可直接從關聯式資料庫20存取以縮短處理時間。或者,存取模組12處理一SQL指令存取分散式資料儲存系統30後,存取模組12除了回傳一存取結果外,另將此存取結果儲存於關聯式資料庫20。如此一來,當下次處理相同或相似之SQL指令時,存取模組12可先至關聯式資料庫20是否有相對應之資料。若有,則直接存取關聯式資料庫20並回傳存取結果。若否,存取模組12才去存取分散式資料儲存系統30以取得所需之資料。
於一實施例中,在資料庫移轉的過渡期間,甚至可保持關聯式資
料庫20以及分散式資料儲存系統30資料同步。舉例而言,比較單元111偵測到分散式資料儲存系統30具有較新之儲存資料時,指令產生單元112可依據比較單元111所比較得到的差異來產生第一結構化查詢語言指令SQL1。存取模組12即可依據指令產生單元112所輸出之第一結構化查詢語言指令SQL1更新關聯式資料庫20。如此,在資料庫移轉的過渡期間,使用者可同時操作關聯式資料庫20以及分散式資料儲存系統30。本發明一實施例之資料庫之移轉方法是用以將一關聯式資料庫移轉至一分散式資料儲存系統。請參照圖3,以說明本發明之資料庫之移轉方法。首先,比較關聯式資料庫以及分散式資料儲存系統之一差異(S31),並依據關聯式資料庫以及分散式資料儲存系統之間的差異,產生一第一結構化查詢語言指令(S32)。接著,將步驟S32所產生之第一結構化查詢語言指令解析成至少一代符(S33)。最後,依據步驟S33所產生之代符存取關聯式資料庫之一中介資料以及一儲存資料(S34),以及將步驟S34所獲得之儲存資料寫入分散式資料儲存系統(S35),以完成資料庫移轉的程序。此外,本發明之資料庫之移轉方法可包含依據一使用者所要求之一資料庫模型產生相對應之第一結構化查詢語言指令,以簡化在分散式資料儲存系統中建立資料表之步驟。本發明之資料庫之移轉方法亦可包含依據第一結構化查詢語言指令更新關聯式資料庫,以保持關聯式資料庫以及分散式資料儲存系統之儲存資料一致。本發明之資料庫之移轉方法之詳細說明已如前所述,在此不再贅述。
可以理解的是,於一實施例中,本發明之資料庫之移轉方法更包含接收自一應用程式輸出之一第二結構化查詢語言指令,以及依據第二結構化查詢語言指令分別存取關聯式資料庫以及分散式資料儲存系統,以整合以及回傳一存取結果至應用程式。
本發明另一實施例之電腦可讀取之媒體儲存一電腦程式。此電腦程式可供一電子裝置載入以執行上述之資料庫之移轉方法,其步驟之詳細說明已如前所述,在此不再贅述。
綜合上述,本發明之資料庫之移轉系統以及方法是比較關聯式資料庫以及分散式資料儲存系統之差異,以產生相對應之SQL指令。再利用存取模組解析SQL指令即可讀取關聯式資料庫中之中介資料以及儲存資料,並移轉至分散式資料儲存系統,以大幅減化將關聯式資料庫移轉至分散式資料儲存系統之程序,且管理者能夠以SQL指令存取分散式資料儲存系統。此外,關聯式資料庫亦可保留部分儲存資料作為快取之用,以縮短後續回應SQL指令的時間。
以上所述之實施例僅是為說明本發明之技術思想及特點,其目的在使熟習此項技藝之人士能夠瞭解本發明之內容並據以實施,當不能以之限定本發明之專利範圍,即大凡依本發明所揭示之精神所作之均等變化或修飾,仍應涵蓋在本發明之專利範圍內。
10‧‧‧資料庫之移轉系統
11‧‧‧比較模組
111‧‧‧比較單元
112‧‧‧指令產生單元
113‧‧‧範本單元
12‧‧‧存取模組
121‧‧‧連接介面
122‧‧‧語法解析單元
123‧‧‧第一存取單元
124‧‧‧第二存取單元
125‧‧‧資料處理單元
20‧‧‧關聯式資料庫
30‧‧‧分散式資料儲存系統
40‧‧‧應用程式
SQL1‧‧‧第一結構化查詢語言指令
SQL2‧‧‧第二結構化查詢語言指令
S31~S35‧‧‧資料庫之移轉方法
圖1為一方塊圖,顯示本發明一實施例之資料庫之移轉系統。
圖2為一方塊圖,顯示本發明一實施例之資料庫之移轉系統中之存取模組。
圖3為一流程圖,顯示本發明一實施例之資料庫之移轉方法。
圖4為一示意圖,顯示一關聯式資料庫之資料結構。
圖5為一示意圖,顯示一關聯式資料庫之儲存資料。
圖6為一示意圖,顯示與圖4之資料結構相對應之一分散式資料儲存系統之資料結構。
圖7為一示意圖,顯示與圖4之資料結構相對應之另一分散式資料儲存系統之資料結構。
10‧‧‧資料庫之移轉系統
11‧‧‧比較模組
111‧‧‧比較單元
112‧‧‧指令產生單元
12‧‧‧存取模組
20‧‧‧關聯式資料庫
30‧‧‧分散式資料儲存系統
SQL1‧‧‧第一結構化查詢語言指令
SQL2‧‧‧第二結構化查詢語言指令
Claims (16)
- 一種資料庫之移轉系統,其是用以將一關聯式資料庫移轉至一分散式資料儲存系統,該資料庫之移轉系統包含:一比較模組,其包含:一比較單元,其用以比較該關聯式資料庫之一中介資料以及一儲存資料對應於該分散式資料儲存系統之一差異;以及一指令產生單元,其依據該差異產生一第一結構化查詢語言指令;以及一存取模組,其解析該比較模組所產生之該第一結構化查詢語言指令,並存取該關聯式資料庫之該中介資料以及該儲存資料,以將該儲存資料寫入該分散式資料儲存系統,其中該存取模組包含:一連接介面,其用以與該比較模組連接,以接收該第一結構化查詢語言指令;一語法解析單元,其用以將該連接介面所接收之該第一結構化查詢語言指令解析成至少一代符(token);一第一存取單元,其用以存取該關聯式資料庫;一第二存取單元,其用以存取該分散式資料儲存系統;以及一資料處理單元,其依據該代符經由該第一存取單元存取該關聯式資料庫之該中介資料以及該儲存資料,以及經由該第二存取單元將該儲存資料寫入該分散式資料儲存系統。
- 如請求項1所述之資料庫之移轉系統,其中該比較模組是由一使用者或週期性觸發啟動,以比較該關聯式資料庫以及該分散式資料儲存系統。
- 如請求項1所述之資料庫之移轉系統,其中該比較模組更包含一範本單元,其依據一使用者之要求輸出一資料庫模型,以該指令產生單元依據該資料庫模型產生該第一結構化查詢語言指令。
- 如請求項1所述之資料庫之移轉系統,其中該存取模組更依據該第一結構化查詢語言指令更新該關聯式資料庫。
- 如請求項1所述之資料庫之移轉系統,其中該連接介面更與一應用程式連接,以接收一第二結構化查詢語言指令,且該資料處理單元依據由該第二結構化查詢語言指令所解析之該代符,分別經由該第一存取單元以及該第二存取單元存取該關聯式資料庫以及該分散式資料儲存系統,並整合成一存取結果,以該連接介面回傳至該應用程式。
- 如請求項1所述之資料庫之移轉系統,其中該存取模組將該關聯式資料庫之該儲存資料移轉至該分散式資料儲存系統後,保留部分該儲存資料於該關聯式資料庫中作為快取之用。
- 一種資料庫之移轉方法,其是用以將一關聯式資料庫移轉至一分散式資料儲存系統,該方法包含:比較該關聯式資料庫之一中介資料以及一儲存資料對應於該分散式資料儲存系統之一差異;依據該差異產生一第一結構化查詢語言指令;將該第一結構化查詢語言指令解析成至少一代符;依據該代符存取該關聯式資料庫之該中介資料以及該儲存資料;依據該代符將該儲存資料寫入該分散式資料儲存系統;接收自一應用程式輸出之一第二結構化查詢語言指令;以及依據由該第二結構化查詢語言指令所解析之該代符,分別存取該關聯式資料庫以及該分散式資料儲存系統,並整合以及回傳一存取結果至該應用程式。
- 如請求項7所述之資料庫之移轉方法,其中該比較步驟是由一使用者或週期性觸發啟動。
- 如請求項7所述之資料庫之移轉方法,更包含:依據一使用者所要求之一資料庫模型產生該第一結構化查詢語言指令。
- 如請求項7所述之資料庫之移轉方法,更包含:依據該第一結構化查詢語言指令更新該關聯式資料庫。
- 如請求項7所述之資料庫之移轉方法,其中該關聯式資料庫之該儲存資料移轉至該分散式資料儲存系統後,該關聯式資料庫保留部分該儲存資料作為快取之用。
- 一種電腦可讀取之媒體,其儲存一電腦程式,該電腦程式供一電子裝置載入以執行一資料庫之移轉方法,其用以將一關聯式資料庫移轉至一分散式資料儲存系統,該方法包含:比較該關聯式資料庫之一中介資料以及一儲存資料對應於該分散式資料儲存系統之一差異;依據該差異產生一第一結構化查詢語言指令;將該第一結構化查詢語言指令解析成至少一代符;依據該代符存取該關聯式資料庫之該中介資料以及該儲存資料;依據該代符將該儲存資料寫入該分散式資料儲存系統;接收自一應用程式輸出之一第二結構化查詢語言指令;以及依據由該第二結構化查詢語言指令所解析之該代符,分別存取該關聯式資料庫以及該分散式資料儲存系統,並整合以及回傳一存取結果至該應用程式。
- 如請求項12所述之電腦可讀取之媒體,其中該比較步驟是由一使用者或週期性觸發啟動。
- 如請求項12所述之電腦可讀取之媒體,其中該方法更包含依據一使用者所要求之一資料庫模型產生該第一結構化查詢語言指令。
- 如請求項12所述之電腦可讀取之媒體,其中該方法更包含依據該第一結構化查詢語言指令更新該關聯式資料庫。
- 如請求項12所述之電腦可讀取之媒體,其中該關聯式資料庫之該儲存資料移轉至該分散式資料儲存系統後,該關聯式資料庫保留部分該儲存資料作為快取之用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101131702A TWI484358B (zh) | 2012-08-31 | 2012-08-31 | 資料庫之移轉系統、方法及其電腦可讀取之媒體 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101131702A TWI484358B (zh) | 2012-08-31 | 2012-08-31 | 資料庫之移轉系統、方法及其電腦可讀取之媒體 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201409265A TW201409265A (zh) | 2014-03-01 |
TWI484358B true TWI484358B (zh) | 2015-05-11 |
Family
ID=50820394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101131702A TWI484358B (zh) | 2012-08-31 | 2012-08-31 | 資料庫之移轉系統、方法及其電腦可讀取之媒體 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI484358B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI693526B (zh) * | 2019-03-19 | 2020-05-11 | 彰化商業銀行股份有限公司 | 適用於自動櫃員機的資料庫資料結構異動更新系統及其方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060235899A1 (en) * | 2005-03-25 | 2006-10-19 | Frontline Systems, Inc. | Method of migrating legacy database systems |
US7480643B2 (en) * | 2005-12-22 | 2009-01-20 | International Business Machines Corporation | System and method for migrating databases |
TW200941251A (en) * | 2008-03-19 | 2009-10-01 | Nat Univ Dong Hwa | Data within database migration system |
-
2012
- 2012-08-31 TW TW101131702A patent/TWI484358B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060235899A1 (en) * | 2005-03-25 | 2006-10-19 | Frontline Systems, Inc. | Method of migrating legacy database systems |
US7480643B2 (en) * | 2005-12-22 | 2009-01-20 | International Business Machines Corporation | System and method for migrating databases |
TW200941251A (en) * | 2008-03-19 | 2009-10-01 | Nat Univ Dong Hwa | Data within database migration system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI693526B (zh) * | 2019-03-19 | 2020-05-11 | 彰化商業銀行股份有限公司 | 適用於自動櫃員機的資料庫資料結構異動更新系統及其方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201409265A (zh) | 2014-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10725987B2 (en) | Forced ordering of a dictionary storing row identifier values | |
KR102177190B1 (ko) | 유연한 스키마를 사용한 데이터 관리 | |
US8825604B2 (en) | Archiving data in database management systems | |
US9244914B2 (en) | Schema versioning for cloud hosted databases | |
US8214324B2 (en) | Generating extract, transform, and load (ETL) jobs for loading data incrementally | |
US8065323B2 (en) | Offline validation of data in a database system for foreign key constraints | |
US11354284B2 (en) | System and method for migration of a legacy datastore | |
US9547681B2 (en) | Combining row based and column based tables to form mixed-mode tables | |
US9805137B2 (en) | Virtualizing schema relations over a single database relation | |
US20120158795A1 (en) | Entity triggers for materialized view maintenance | |
GB2519779A (en) | Triplestore replicator | |
US20050234934A1 (en) | System and method for controlling the release of updates to a database configuration | |
CN105009111A (zh) | 使用键值存储系统的分布式sql查询处理 | |
US11526465B2 (en) | Generating hash trees for database schemas | |
US8566294B2 (en) | Database element versioning system and method | |
JP2017534986A (ja) | オンライン・スキームおよびデーター変換 | |
US9390111B2 (en) | Database insert with deferred materialization | |
CN108334620A (zh) | 一种基于orm框架操作集群数据库的方法及装置 | |
US20230259506A1 (en) | Annotating datasets without redundant copying | |
CN115729951B (zh) | 数据查询方法、系统、设备及计算机可读存储介质 | |
TWI484358B (zh) | 資料庫之移轉系統、方法及其電腦可讀取之媒體 | |
CN115113989B (zh) | 事务执行方法、装置、计算设备及存储介质 | |
CN113886505A (zh) | 一种基于搜索引擎和关系型数据库实现动态建模的管理系统 | |
US20110137959A1 (en) | Representing relational schema information using generic meta schemas | |
CA2322603C (en) | Optimizing updatable scrollable cursors in database systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |