如何在高度可擴充套件的系統中管理後設資料
後設資料過去對資料中心架構的影響很小。後設資料是關於資料的資料,這些資料被隱藏在某個地方進行檢索和分析,對操作幾乎沒有影響。隨著大資料、人工智慧、物聯網和5G應用程式的擴充套件,積累了大量後設資料,資料和後設資料之間的傳統關係已經被顛覆。
十年前,資料和後設資料之間的典型比率是1000:1。例如,大小為32K的資料單元(檔案、塊或物件)的後設資料大約為32位元組。現有的資料引擎能夠非常有效地處理這些資料量。今天,當物件很小時,比率通常更接近1:10。許多組織現在發現,他們的後設資料超過了儲存的資料量,而且隨著非結構化資料量的持續爆炸,情況只會變得更糟。
後設資料的激增引發了以下問題:在何處儲存後設資料,如何有效管理後設資料,最重要的是,如何擴充套件底層架構以支援快速增長的後設資料量以及快速擴充套件的系統。除非後設資料擴充套件問題得到充分解決,否則儲存後設資料的系統最終將遇到可能影響業務運營和效能的問題。
縮放後設資料的四個答案
在處理後設資料時,無法有效地應用透過新增更多計算資源和/或實施各種解決方案來監控和最佳化IT堆疊不同層來解決可伸縮性和效能問題的傳統方法。
組織通常使用鍵值儲存(KVS)來管理後設資料,如RocksDB,它依賴於儲存引擎(也稱為資料引擎),資料引擎是軟體堆疊中對資料進行排序和索引的部分。
然而,現有的資料引擎存在著容量有限、CPU利用率高和記憶體消耗大等固有的缺點,這無法透過簡單地增加計算能力來解決。通常,一系列操作任務從這一點開始,其中很少有提出有效的長期解決方案。
切分——此過程將資料集拆分為邏輯塊,並同時執行多個資料集。這是處理高度可伸縮系統生成的後設資料的一種方法(至少在短期內是這樣)。然而,隨著流入系統的資料量的不斷增加,最初的分片計劃經常會中斷,開發人員必須不斷地重新分片,從而成為自己的一項活動。
資料庫最佳化——即使使用靈活高效的NoSQL資料庫,開發人員也常常難以為遇到需要最佳化的效能問題的應用程式建立特殊的配置。然而,如果工作負載或底層系統發生變化,這些例項就會遇到更多更大的效能問題。隨著應用程式的規模和複雜性的增長,這可能會建立一個似乎無休止的進一步重新調整迴圈,從而消耗開發人員的時間。
資料引擎最佳化——儲存管理的基本操作通常由資料引擎(又名儲存引擎)執行。資料引擎作為應用程式層和儲存層之間的軟體層安裝,是一個嵌入式鍵值儲存(KVS),用於對資料進行排序和索引。此外,KVS越來越多地被實現為應用程式中的軟體層,以便在傳輸過程中對實時資料執行不同的動態活動。這種型別的部署通常旨在管理後設資料密集型工作負載,並防止可能導致效能問題的後設資料訪問瓶頸。
資料引擎是一種複雜的結構,組織通常會發現,在根據特定的效能和可伸縮性要求在應用程式的引擎罩下調整和配置資料引擎時,存在技能差距。即使是熟練的開發人員也可能難以實現這一點。
新增資源——解決任何效能問題的由來已久的答案就是為問題投入額外的儲存資源。這通常被證明是一個暫時的解決方案,其成本無法長期維持。
新選項
意識到當前的資料架構不再能夠支援現代企業的需求,這促使人們需要從頭開始設計新的資料引擎,以跟上後設資料的增長。但是,隨著開發人員開始深入研究資料引擎,他們面臨的挑戰是實現更大的規模,同時又不會影響儲存效能、靈活性和成本效益。這就需要一種新的架構來支撐新一代的資料引擎,該引擎可以有效地處理後設資料海嘯,同時確保應用程式能夠快速訪問後設資料。
新一代資料引擎可能是以資料密集型工作負載為特徵的新興用例的關鍵推動者,這些資料密集型工作負載需要前所未有的規模和效能。例如,實施適當的資料基礎設施來儲存和管理物聯網資料對於智慧城市計劃的成功至關重要。此基礎設施必須具有足夠的可擴充套件性,以在不犧牲效能的情況下處理來自交通管理、安全、智慧照明、廢物管理和許多其他系統的不斷增加的後設資料。這對於對響應時間和延遲高度敏感的應用程式尤其重要,例如交通最佳化和智慧停車。
後設資料增長將繼續加速,成為資料中心關注的問題,它跨越了越來越多的資料密集型用例。最近開放資料引擎進行創新的舉措為專注於使應用程式能夠擴充套件和增長的團隊提供了選擇。
來自 “ 開源雲中文社群 ”, 原文作者:開源雲中文社群;原文連結:https://mp.weixin.qq.com/s/O_NgBmIiJdg6g3DcEUeYLA,如有侵權,請聯絡管理員刪除。
相關文章
- 可擴充套件的資料庫系統,請求批評套件資料庫
- 讀構建可擴充套件分散式系統:方法與實踐09可擴充套件資料庫基礎套件分散式資料庫
- 管理系統中風險是系統可用性和可擴充套件性的關鍵套件
- 可動態擴充套件的資料庫模型設計套件資料庫模型
- 讀構建可擴充套件分散式系統:方法與實踐15可擴充套件系統的基本要素套件分散式
- 擴充套件.Django-許可權系統套件Django
- 荷蘭銀行構建可擴充套件的後設資料驅動的資料攝取框架套件框架
- 使用 .NET Core 構建可擴充套件的實時資料處理系統套件
- [外掛擴充套件]系統主題管理套件
- 可擴充套件性對物聯網管理系統有哪些影響?套件
- ?用Chrome擴充套件管理器, 管理你的擴充套件Chrome套件
- 如何為可擴充套件系統進行Java Socket程式設計套件Java程式設計
- MemQ:可替代Kafka的高效、可擴充套件的雲原生PubSub系統MQKafka套件
- 可擴充套件性套件
- 可擴充套件Web架構與分散式系統套件Web架構分散式
- 高度可擴充套件,EMQX 5.0 達成 1 億 MQTT 連線套件MQQT
- 聊聊如何基於eureka後設資料擴充套件namespace功能套件namespace
- 一個可擴充套件的報警系統Quick-Alarm套件UI
- windows系統磁碟擴容/擴充套件Windows套件
- 可擴充套件的使用者表設計套件
- 擴充套件系統的磁碟空間套件
- 資料系統的基石:可靠性、可擴充套件性和可維護性+資料儲存與檢索的模型套件模型
- INFORMIX表的預設初始擴充套件、下一個擴充套件資料塊以及一個表允許的最大擴充套件數。ORM套件
- MySQL Sharding可擴充套件設計YMMySql套件
- 設定maxsize的自動擴充套件資料檔案在達到maxsize後是否會繼續擴充套件套件
- 可擴充套件的搜尋元件套件元件
- 基於中臺思想的物流系統設計(五):設計可擴充套件的產品服務平臺套件
- aix擴充套件檔案系統AI套件
- aix 擴充套件檔案系統AI套件
- 設計師對可擴充套件設計工具的探索套件
- 大資料——Scala擴充套件大資料套件
- SAP CRM和Cloud for Customer的擴充套件欄位後設資料Cloud套件
- 資料塊、資料擴充套件、段套件
- mobx-簡單可擴充套件的狀態管理庫套件
- MySQL 8.0:無鎖可擴充套件的 WAL 設計MySql套件
- Sentinel 原理-如何為系統設定擴充套件點套件
- 編寫可擴充套件程式套件
- IE CSS Bug系列:高度額外擴充套件的BugCSS套件