「分散式技術專題」獨立儲存的優勢與劣勢

Hubble資料庫發表於2023-02-14

資料庫的獨立性包括邏輯獨立性(資料庫中資料庫的邏輯結構和應用程式相互獨立)和物理獨立性(資料物理結構的變化不影響資料的邏輯結構)。

分散式數資料庫獨立儲存採用獨點空間的策略機制。

獨站空間是資料空間的一種,可以透過資料空間中的一個屬性來描述,通常這個空間會在磁碟上有獨佔的儲存目錄,與其他空間是物理隔離的,獨佔空間包含多個 shard,所有的shard屬於同一個資料空間,屬於同一張表。用於滿足特定的業務應用場景。

原理

分散式資料庫與其他關係型資料庫一樣,有具體的儲存結構、資料和後設資料的,作為分散式資料庫系統,首先要決定資料的儲存模型,即資料是以何種形式儲存下來。一個表對應一個表空間,一個表空間裡可以有多個 shard,在表建立時指定好表的空間及目錄結構。即單獨佔用了一個磁碟目錄。其它的表不能再用這個磁碟目錄。1個磁碟儲存指的就是一個磁碟目錄,也就是一個儲存的例項。用分散式資料庫獨立儲存機制,實現獨立儲存中基本的檔案讀寫操作,將資料寫入獨立儲存檔案中,並讀取出來。

實現方式

後設資料儲存( ”/”分隔符,實際不存在) 如下DB名稱”DB1”,TABLE名稱為” TABLE1”。* KV後設資料與Range之間的對映,如:儲存空間對映Range資訊。* 資料儲存方式(如果“索引ID”設計時本身就定義了一個“特殊的字首”,那就不再需要索引字首),如:KEY為 儲存記錄資料。

優勢與劣勢

優勢

•每個表都有自已獨立的表空間,每個表的資料和索引都會存在自已的表空間中,可以實現單表在不同的資料庫中移動。
•空間可以回收(除drop table操作處,表空不能自已回收)
•Drop table操作自動回收表空間,如果對於統計分析或是日值表,刪除大量資料後可以透過,回縮不用的空間。
•對於使用獨立表空間的表,不管怎麼刪除,表空間的碎片不會太嚴重的影響效能,而且還有機會處理。

劣勢

•單表增加過大,當單表佔用空間過大時,儲存空間不足,只能從作業系統層面思考解決方法;
•不適用於小表的儲存。

面臨挑戰

•獨佔表空間轉換為非獨佔表空間,涉及技術細節較多,實現技術比較複雜。
•對資料表的規劃及未來的增長量需要相當明確。
•涉及資料均勻分佈演演算法實現比較複雜。

 

以上為獨立儲存的優勢與劣勢, 「分散式技術專題」是國產資料庫 hubble 團隊精心整編,專題會持續更新,歡迎大家保持關注。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026685/viewspace-2935117/,如需轉載,請註明出處,否則將追究法律責任。

相關文章