中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用數據庫分區的原因及好處是什么

發布時間:2021-07-19 10:30:45 來源:億速云 閱讀:706 作者:chen 欄目:數據庫

這篇文章主要介紹“使用數據庫分區的原因及好處是什么”,在日常操作中,相信很多人在使用數據庫分區的原因及好處是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”使用數據庫分區的原因及好處是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

什么是數據庫分區?

分區是將表和索引分成較小的部分,甚至將其細分為較小的部分。可以將它想象成在一個大倉庫(一張大桌子)中存放著數百萬本不同主題和年份(例如2000–2019年)的不同雜志。分區意味著您將把它們組織在那個大倉庫內的不同房間中。它們仍然屬于一個倉庫,但是現在您根據數據庫分區策略在邏輯級別上對它們進行分組。

使用數據庫分區有什么好處?

一個好的分區策略是可行的,原因有很多,例如更好的性能,更好的可管理性,更高的可用性或負載平衡。

(1) 更好的性能

如果以上面的雜志倉庫為例,您正在尋找2009年10月發行的“體育畫報”,并且在發行年份對倉庫進行了分區,則只需查看房間或找到您想要的2009年分區。現在,想象一下,在倉庫的一個“  2009”房間內,您放了幾個大盒子,然后按照主題或出版物將雜志放在這些盒子里(“體育畫報”,“專業攝影師”,“釣魚”英雄”,…)。這將創建一個子分區,這將使查找所需的雜志變得更加容易,因為您將不再需要瀏覽所有《  2009年》雜志,但是您可以直接進入2009年會議室,然后直接轉到“  “體育畫報”框。這就是性能的劃分。現在,如果您將不同的雜志放在柜子里,而雜志的所有背面(標題和月份/年份)都在外面,那將與添加索引相同。這樣一來,您就可以快速找到正確的雜志并挑選出來,而不必挑選每本雜志并閱讀整本雜志,直到找到所需的雜志為止。而且,如果您需要來自兩個或多個不同分區(房間,盒子)的數據(雜志),則可以讓兩個或多個進程(人員)在尋找它,同時您仍可以確保他們不會兩次查看同一部分。

(2) 更好的可管理性和負載平衡

您可以將不同的邏輯分區存儲在不同的物理磁盤上,甚至在某些情況下甚至可以存儲在服務器上。這樣,在一個分區/磁盤/服務器上工作并不一定意味著其他分區必須脫機。維護也是如此,如果僅保留最近10年的數據,并且按年范圍對表進行分區,則可以輕松地刪除(或備份和刪除)最早的分區。回到倉庫比較,如果您每年將倉庫劃分為多個房間,并且在2011年房間中完成工作,那么其他所有房間仍然可以使用。如果要刪除2000年的所有雜志,則只需從一個房間中取出所有東西,而不必每年瀏覽每本雜志。

(3) 更高的可用性

由于故障或其他原因造成的停機時間不一定會對其他分區產生影響。備份和恢復也是如此,您可以對每個分區進行獨立于其他分區的操作,從而減少了停機時間。

什么時候應該對我的表進行分區?

分區策略中需要考慮以下幾件事:

  • 大表始終是一個很好的分區候選對象,超過2Gb的一切都是一個開始。

  • 如果您的表中包含歷史數據,并且數據將按時間順序添加。例如,如果您按月或天為基礎按批次加載數據,則更是如此。在這種類型的分區中,一個分區只能保留最新的分區可更新,而其他分區(舊)則是只讀的。

  • 如果您需要在不同類型的存儲(在某些情況下甚至是服務器)之間分配表。例如,大多數查詢都在最近三年的分區上運行,但是您需要在表中保留10年的數據。最古老的7年很少被查詢。這樣,您可以將最新的三個分區放置在高性能SSD驅動器上,而將最舊的7個分區放置在較舊和較便宜但速度較慢的HD驅動器上。

為什么不使用索引而是分區?

好吧,索引很好。他們甚至很棒!在您的數據庫性能工具箱中,它們絕對是必不可少的工具。但是索引非常擅長檢索一小部分數據,尤其是散布在整個表中的數據。如果索引可以為您提供超過20%的數據,則可以認為它們最終表現最佳,而真正的轉折點大概是數據的1%-5%。但是,當然,這很大程度上取決于許多不同的因素,例如服務器,設置,數據,天氣(不,不是天氣!),……最重要的是:不要考慮分區或索引。

在一個好的分區策略中,仍然有很多空間和機會可以很好地使用索引。例如,我上面的雜志倉庫示例,在倉庫內部每年進行分區,在房間內部按出版物進行分區。通過使標題/月份在櫥柜而不是框內(這將創建索引)更加可見,從而留下了更多提高性能的機會。

我可以基于什么數據庫分區策略?

您在分區表中輸入的每一行都應明確屬于一個特定分區。分區鍵定義行將存儲在哪個分區中。這個分區鍵可以是一個字段,也可以包含多個字段的組合,只要它是模棱兩可的,那么就很獨特。回到雜志的例子,您可以使用“出版年份”作為分區鍵,但是您不能將“包含汽車品牌的圖片”用作每個品牌的分區鍵和分區,因為這意味著最新的“  Top Gear Magazine”需要同時位于“ Ferrari”和“ Aston Martin”分區中,并且還有更多。

有哪些不同類型的分區?

  • 范圍分區

  • 列表分區

  • 哈希分區

  • 子分區

(1) 范圍分區

按值范圍進行分區。這意味著,如果分區鍵的值在該分區范圍內,則對表進行分區,以使行屬于特定分區。例如,雜志:我們每年將倉庫分成多個房間。這意味著我們有范圍分區,其中每個分區的范圍從01–01-YYYY到31–12-YYYY。因此,如果我有一本雜志的發布日期為2015年5月,則它將進入2015年5月1日至2015年1月31日至2015年12月31日的范圍分區。

間隔分區是范圍分區的一種特殊類型,其中間隔分區中的范圍始終基于時間,并且在將新數據添加到表中應屬于新間隔范圍的新數據時自動創建。

(2) 列表分區

通過列表對數據庫進行分區,可以通過在表和每個分區的定義中定義分區鍵來顯式控制和定義哪個值進入哪個分區:

SQL> Create table magazines (Pub_Title varchar(150), Pub_Date (date)) partition by list(Pub_Title) (partition Pub_Title1 values(“Sports Illustrated”, “Mens Health”), partition Pub_Title2 values(“Vanity”, “Flair”), partition Pub_Title3 values(“Yoga Magazine”, “Zen Magazine”));

或者,以雜志為例,您可能已經可以從SQL中讀取信息:我們將倉庫按每個出版物標題劃分為多個房間,但是對于每個不同的出版物標題,我們沒有足夠的房間,因此我們“列出”了每個房間幾個。在第一會議室中,我們放置“體育畫報”和“精神健康”;在第二會議室中,我們放置“虛榮”和“天才”;在第三會議室中,我們放置“瑜伽雜志”和“禪宗雜志”。有道理吧?

(3) 哈希分區

在哈希分區中,數據行根據分區鍵的哈希值映射到分區。如果要在沒有明確業務或數據邏輯分區的表上使用分區,并且需要均勻分布的分區,則此功能很有用。例如,您有一個裝滿雜志的整個倉庫,但出版物標題和出版日期是隨機的。沒有完整的年份,依此類推。但是,您希望將它們平均分配到倉庫的十個不同房間中,以便以后需要取回一本(或多本)雜志時,可以同時派出十個人去尋找它們。十個不同的房間。比散列分區派上用場。例如,您選擇出版物標題和出版物日期的組合作為分區鍵,然后讓數據庫對該鍵進行哈希處理,然后選擇適當的分區,同時將所有雜志平均分配到所有房間。

(4) 子分區

子分區(也稱為復合分區)是在分區內部創建分區。它是已經分區表的每個分區的進一步劃分。讓我們回到雜志倉庫。我們首先每年將整套雜志放在不同的房間里。這是基于范圍分區的第一個分區。接下來,在每個這些年級房間中,放入盒子,然后在每個盒子中放入所有具有相同出版物名稱的雜志。由于在那個房間里,我們只已經有一個特定年份的出版物,所以在那個盒子里,我們只會有一個特定出版物名稱和一個特定出版年份的雜志。因此,這非常容易且快速地找到“  Yoga Magazine”,“ 2017年11月版”。或者,在代碼中:

SQL> Create table magazines (Pub_Title(varchar(150)), Pub_Date(date) Partition by rage (Pub_Year(Pub_Date)) Subpartition by list(Pub_Title) ( partition Pub_Title1 values(“Sports Illustrated”, “Mens Health”), partition Pub_Title2 values(“Vanity”, “Flair”), partition Pub_Title3 values(“Yoga Magazine”, “Zen Magazine”) );

如您所見,分區是除數據庫工具箱中許多其他工具之外的有價值的工具,對于提高數據庫性能,可用性和可維護性非常有用。選擇哪種分區策略當然取決于您的數據,但也取決于您將要實現的特定數據庫系統的技術可能性。

到此,關于“使用數據庫分區的原因及好處是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙江县| 郓城县| 璧山县| 岳阳市| 宿州市| 宿松县| 陵水| 遂宁市| 莱西市| 樟树市| 北京市| 罗江县| 高碑店市| 石嘴山市| 保康县| 依兰县| 内乡县| 巴青县| 新巴尔虎右旗| 浙江省| 大荔县| 灵寿县| 胶州市| 通江县| 嘉黎县| 绥德县| 石棉县| 荆门市| 禹城市| 建平县| 肥西县| 新沂市| 五寨县| 吐鲁番市| 镇雄县| 嘉禾县| 云霄县| 杨浦区| 伊吾县| 景德镇市| 前郭尔|