如何在高度可擴充套件的系統中管理後設資料
後設資料過去對資料中心架構的影響很小。後設資料是關於資料的資料,這些資料被隱藏在某個地方進行檢索和分析,對操作幾乎沒有影響。隨著大資料、人工智慧、物聯網和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套件
- 可擴充套件性對物聯網管理系統有哪些影響?套件
- MemQ:可替代Kafka的高效、可擴充套件的雲原生PubSub系統MQKafka套件
- SAP CRM和Cloud for Customer的擴充套件欄位後設資料Cloud套件
- 可擴充套件性套件
- 高度可擴充套件,EMQX 5.0 達成 1 億 MQTT 連線套件MQQT
- 聊聊如何基於eureka後設資料擴充套件namespace功能套件namespace
- 一個可擴充套件的報警系統Quick-Alarm套件UI
- MySQL Sharding可擴充套件設計YMMySql套件
- windows系統磁碟擴容/擴充套件Windows套件
- 可擴充套件的使用者表設計套件
- 資料系統的基石:可靠性、可擴充套件性和可維護性+資料儲存與檢索的模型套件模型
- 基於中臺思想的物流系統設計(五):設計可擴充套件的產品服務平臺套件
- Linux 檔案系統擴充套件Linux套件
- 大資料——Scala擴充套件大資料套件
- 如何在 Linux 中擴充套件 XFS 根分割槽Linux套件
- mobx-簡單可擴充套件的狀態管理庫套件
- MySQL 8.0:無鎖可擴充套件的 WAL 設計MySql套件
- Sentinel 原理-如何為系統設定擴充套件點套件
- LVM : 擴充套件檔案系統的容量LVM套件
- 編寫可擴充套件程式套件
- Spring Boot中的Mongodb多資料來源擴充套件Spring BootMongoDB套件
- PHP 系統樹圖擴充套件元件PHP套件元件
- java資料型別擴充套件Java資料型別套件
- 資料檢索擴充套件包套件
- 如何使用Zebee構建高度可擴充套件的分散式工作流中介軟體?套件分散式
- 雲端CRM系統排名:靈活性與可擴充套件性的較量套件
- PostgreSQL在雲端:部署、管理和擴充套件你的資料庫SQL套件資料庫
- win10系統怎麼在Microsoft Edge中管理/新增/刪除擴充套件Win10ROS套件
- [譯] 論資料流的擴充套件性套件