Azure超大規模資料庫入門

2021-10-06 09:05:05 字數 2552 閱讀 5841

雲的優勢之一是規模。 我們不會將三大雲平台稱為超大規模。 他們在全球擁有龐大的資料中心,擁有數百萬台伺服器,這些伺服器可以視為計算和儲存池。 現代的分布式應用程式可以執行在許多計算核心上,每個核心都有自己的記憶體,所有定址核心都達到了tb級。 我們從構成雲的所有物理基礎架構中抽象出來,將我們使用的所有內容都視為另一組服務。

將這種方法與一些較新的雲硬體相結合,例如支援可處理多達4tb記憶體的海量128核m系列azure vm的伺服器,已經改變了我們可以構建的應用程式的型別。 不必限制我們的**以適合我們擁有的伺服器,我們可以構建利用雲中可用資源的應用程式。 甚至池化標準vm都為我們提供了乙個平台,在其中我們可以構建能夠處理真正的大資料的大規模系統。

[來自infoworld的專家: 什麼是sql?資料庫的語言解釋了 。|資料庫慢嗎?通過這17條規則來提高sql查詢的速度和可伸縮性,從而提高rdbms的速度和可伸縮性。• 7個基本的sql server安全提示 。]

這種功能也許是大型雲提供商的真正價值。 他們的規模經濟意味著他們可以以比我們自己的資料中心低得多的成本購買儲存。 借助azure的各種資料盒裝置之類的工具,我們可以通過批量轉移檔案或將本地網路連線到雲儲存,將本地資料來源鏈結到雲服務。 將大量資料傳輸到雲的前景很有趣,因為它將現代業務系統的資料生成功能與雲的處理功能混合在一起。

如果我們可以將資料儲存到雲中,我們如何使用它? 直到最近,有關雲規模資料處理的許多任務作都集中在使用bigtable和hadoop等工具來大規模分析非關係資料。 通過使用備用資料結構,我們能夠快速處理大量資料,將我們的分析分布在許多計算節點上。 在用於提供消費者搜尋引擎(例如bing或google)的技術的基礎上,已經很好地解決了許多態別的問題和許多資料集。 但這不是我們需要在業務線應用程式中使用結構化資料的條件。

關聯式資料庫(如sql server及其同級的azure sql)是熟悉且功能強大的工具。 它們處理大型結構化商店,是驅動許多熟悉的業務應用程式的主力軍。 但是它們受到我們伺服器中可用處理器的限制以及我們可以放入資料中心的磁碟數量的限制。 查詢速度變慢,尤其是複雜的跨表聯接。

微軟一直在擴充套件其現有的azure資料庫工具, 以提供適用於postgresql和azure sql的azure資料庫的超大規模版本 。 postgresql版本基於microsoft最近收購的citus及其開源資料庫擴充套件擴充套件。 當前僅在預覽中可用,它可以根據需要在任意數量的節點上水平擴充套件資料庫,並通過單個索引並行處理數百個節點中的查詢。 同樣,azure sql hyperscale分離儲存和計算,並可以通過唯讀副本進行快速擴充套件。

設定超大規模資料庫不僅是單擊azure控制面板上的按鈕的問題,儘管這顯然是microsoft的最終選擇。 一些關鍵的障礙已被消除:例如,如果您使用hyperscale postgresql, 基於 citus 的工具將自動在您配置的節點上分片資料 。 您仍然需要選擇將要承載資料庫的節點數,然後執行配置工具來建立表以設定預設分片。 預設值為32個分片。

通過分片資料庫,集群中的每個節點都可以使用更少的資料,因此查詢可以更快,負載強度更低。 跨集群工作可以使超大規模postgresql例項並行化查詢,並在結果從每個節點到控制器節點的輸入中進一步增強操作,這些結果將組裝結果並將其交付給您的應用程式。 隨著資料庫的擴充套件,可以即時新增更多節點。 microsoft的超大規模資料庫不僅用於查詢,而且還支援分布式事務,因此您可以在生產以及分析中使用它們。

azure sql的超大規模層是最舊的azure平台服務之一的新選項。 它專為具有高達100tb儲存容量的資料庫而設計,它新增了基於azure blob的快照以進行快速備份和恢復。 microsoft報告說,azure sql超大規模恢復過程需要幾分鐘,而不是本地系統可能需要的數小時或數天。 它針對快速擴充套件進行了調整,可以通過新增節點進行橫向擴充套件,也可以使用其他計算資源進行縱向擴充套件。

microsoft 對azure sql體系結構進行了一些根本性的更改 ,使用外部日誌伺服器將查詢處理與儲存管理分開。 唯讀副本中使用相同的儲存管理元件,從而使它們易於快速複製到新節點上。 計算節點使用ssd對資料進行頁面級快取來處理查詢,從而將網路流量降至最低。 每個頁面伺服器最多可管理1tb資料,將資料頁面按需傳遞到計算節點,而資料本身儲存在azure儲存中。

設定新的超大規模azure sql例項只需在azure sql命令列中使用一行t-sql**即可。 您可以使用單向遷移將現有資料庫轉換為超大規模,而此過程最好由資料庫副本完成。

postgresql和azure sql的超大規模服務均按使用量定價 ,並收取單獨的計算和儲存費用。 兩者都不是特別便宜,因此請仔細考慮您將使用它們的方式以及使用方式。 如果將它們用於分析,一種選擇是僅在必要時考慮執行計算節點,因此,您的最大成本將是每月資料儲存費。

超大規模資料庫是雲的邏輯開發,它提供的服務在本地會非常複雜。 通過將其作為命令列呼叫的問題,azure將這些功能交給了任何開發人員,並且對azure sql和postgresql的支援使您可以選擇資料庫。 選擇和簡單性顯然是這裡的口號,看看這些新的azure服務的使用方式以及它們是否證明微軟對citus的投資是合理的將會很有趣。

from:

azure 入門 Azure超大規模資料庫入門

azure 入門 雲的優勢之一是規模。我們不會將三大雲平台稱為超大規模。他們在全球擁有龐大的資料中心,擁有數百萬台伺服器,這些伺服器可以視為計算和儲存池。現代的分布式應用程式可以執行在許多計算核心上,每個核心都有自己的記憶體,所有定址核心都達到了tb級。我們從構成雲的所有物理基礎架構中抽象出來,將我...

SkyWalking為超大規模而生

譯者 董旭 本人 熱心的朝陽群眾 skywalking做為apache的頂級專案,是乙個開源的apm和可觀測性分析平台,它解決了21世紀日益龐大 分布式和異構的系統的問題。它是為應對當前系統管理所面臨的困難而構建的 就像大海撈針,skywalking可以在服務依賴複雜且多語言環境下,獲取服務對應的指...

訪談 阿里超大規模Docker化之路

林昊 畢玄 阿里巴巴研究員,平台架構部負責人,服務框架 hsf 作者,異地多活專案負責人,目前致力於資源統一管理排程系統建設。眾所周知docker技術這幾年大熱,但是過去相當長的一段時間內,阿里內部技術人員只能自己私下玩玩,沒法在阿里內部生產環境使用docker,因為docker要求的os版本和核心...