新聞中心
隨著時間的推移,數(shù)據(jù)庫中的數(shù)據(jù)量不斷地增長。這些數(shù)據(jù)包括已過時的記錄、重復(fù)的信息、錯誤的數(shù)據(jù)等等。這使得數(shù)據(jù)庫變得臃腫和低效,不僅會浪費(fèi)空間和資源,而且也會影響數(shù)據(jù)查詢和處理速度。因此,定期進(jìn)行數(shù)據(jù)庫清理是很有必要的。

創(chuàng)新互聯(lián)是一家專業(yè)提供東安企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為東安眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
然而,制定一項(xiàng)有效的數(shù)據(jù)庫清理策略并不是簡單易行的?!坝行У摹辈呗詰?yīng)該在保證數(shù)據(jù)完整性和一致性的前提下,去除過時和無意義的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)庫的優(yōu)化和更佳使用。在本文中,將討論如何制定一項(xiàng)有效的數(shù)據(jù)庫清理策略,以及應(yīng)該考慮的因素。
之一步:了解業(yè)務(wù)需求
需要了解公司或組織的業(yè)務(wù)需求。在數(shù)據(jù)庫清理策略中,必須明確哪些數(shù)據(jù)需要長期保存,以及哪些數(shù)據(jù)可以被清理。不同業(yè)務(wù)部門或項(xiàng)目可能有不同的需求。例如,銷售部門需要長期保存客戶信息和交易記錄,而人力資源部門則需要推出員工檔案和培訓(xùn)記錄。因此,制定數(shù)據(jù)庫清理策略之前,需要與業(yè)務(wù)相關(guān)方溝通并確認(rèn)需求。
第二步:制定清理規(guī)則和時間表
在了解業(yè)務(wù)需求之后,需要制定規(guī)則和時間表。涉及到數(shù)據(jù)庫清理的主要因素包括以下幾個方面:
1. 數(shù)據(jù)庫備份和還原:需要了解數(shù)據(jù)庫備份周期和數(shù)據(jù)恢復(fù)的時間。數(shù)據(jù)庫清理的規(guī)則必須兼容備份和恢復(fù)的過程,同時確保數(shù)據(jù)完整性。
2. 數(shù)據(jù)庫大小限制:考慮數(shù)據(jù)庫大小的限制。如果數(shù)據(jù)庫已經(jīng)接近存儲上限,那么清理策略必須更加嚴(yán)格。
3. 保存時間:清理規(guī)則也應(yīng)該指定數(shù)據(jù)的保存時間。例如,可以規(guī)定記錄只保存6個月或一年。
4. 更改日期:清理策略應(yīng)該跟蹤每條記錄的更改日期。基于更改的時間,可以判斷哪些記錄可以被清理。
5. 數(shù)據(jù)庫區(qū)域:可以將數(shù)據(jù)庫分為多個區(qū)域,并制定區(qū)域特定的清理規(guī)則。例如,可以針對客戶信息和交易記錄設(shè)置不同的清理策略。
第三步:識別需要清理的數(shù)據(jù)類型
清理規(guī)則應(yīng)該包括需要清理哪些類型的數(shù)據(jù)。以下是可能需要清理的數(shù)據(jù)類型:
1. 過時信息:過時的信息對數(shù)據(jù)庫沒有好處。過時的信息可能會導(dǎo)致數(shù)據(jù)庫變得占用空間,并且可能引起慢查詢等問題。
2. 重復(fù)信息:重復(fù)的信息可能會導(dǎo)致數(shù)據(jù)錯誤。這可能影響處理速度和數(shù)據(jù)精度。
3. 錯誤的信息:錯誤的信息可能會影響數(shù)據(jù)精度和分析結(jié)果。在識別和清理錯誤信息時,需要詳細(xì)了解業(yè)務(wù)需求和數(shù)據(jù)源。
第四步:指定清理策略
清理策略應(yīng)該根據(jù)數(shù)據(jù)類型和業(yè)務(wù)需求指定。以下是幾種可能的清理策略:
1. 刪除過時信息:定期清理超過保存時間限制的信息。此外,還應(yīng)該將不再需要的信息刪除。
2. 合并重復(fù)信息:合并完全一致的重復(fù)信息,或者保留最新的信息。
3. 修正錯誤信息:修正出現(xiàn)在記錄中的任何語法、格式或邏輯錯誤。
第五步:執(zhí)行和監(jiān)測
執(zhí)行清理策略之前,需要先備份數(shù)據(jù)庫。在執(zhí)行期間,需要監(jiān)測數(shù)據(jù)的完整性,并確保不會發(fā)生任何損失。完成清理后,需要驗(yàn)證數(shù)據(jù)庫的完整性和數(shù)據(jù)的一致性。如果數(shù)據(jù)處理或查詢方面發(fā)生任何問題,應(yīng)該立即處理和修復(fù)。
結(jié)論:
為了制定一個有效的數(shù)據(jù)庫清理策略,需要了解業(yè)務(wù)需求、確立清理規(guī)則和制定時間表、識別需要清理的數(shù)據(jù)類型以及指定相應(yīng)的清理策略。在執(zhí)行清理策略之前,請務(wù)必備份數(shù)據(jù)庫,并在處理期間對數(shù)據(jù)進(jìn)行監(jiān)控和驗(yàn)證。只有確保數(shù)據(jù)完整性和一致性,才能實(shí)現(xiàn)更佳數(shù)據(jù)庫使用體驗(yàn)。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
誰知道數(shù)據(jù)庫優(yōu)化設(shè)計(jì)方案有哪些?
●數(shù)據(jù)庫性能的優(yōu)化
一個數(shù)據(jù)庫系統(tǒng)的生命周期可以分成:設(shè)計(jì)、開發(fā)和成品三個階段。在設(shè)計(jì)階段進(jìn)行數(shù)據(jù)庫性能優(yōu)化的成本更低,收益更大。在成品階段進(jìn)行數(shù)據(jù)庫性能優(yōu)化的成本更高,收益最小。
數(shù)據(jù)庫的優(yōu)化通??梢酝ㄐ蜎]過對網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫參數(shù)和應(yīng)用程序的優(yōu)化來進(jìn)行。最常見的優(yōu)化手段就是對硬件的歲友升級。根據(jù)統(tǒng)計(jì),對網(wǎng)絡(luò)、硬件、操作系統(tǒng)、數(shù)據(jù)庫參數(shù)進(jìn)行優(yōu)化所獲得的性能提升,全部加起來只占數(shù)據(jù)庫系統(tǒng)性能提升的40%左右,其余的60%系統(tǒng)性能乎租槐提升來自對應(yīng)用程序的優(yōu)化。許多優(yōu)化專家認(rèn)為,對應(yīng)用程序的優(yōu)化可以得到80%的系統(tǒng)性能的提升。
●應(yīng)用程序的優(yōu)化
應(yīng)用程序的優(yōu)化通常可分為兩個方面:源代碼和SQL語句。由于涉及到對程序邏輯的改變,源代碼的優(yōu)化在時間成本和風(fēng)險(xiǎn)上代價很高,而對數(shù)據(jù)庫系統(tǒng)性能的提升收效有限。
本文首先討論了基于第三范式的數(shù)據(jù)庫表的基本設(shè)計(jì),著重論述了建立主鍵和索引的策略和方案,然后從數(shù)據(jù)庫表的擴(kuò)展設(shè)計(jì)和庫表對象的放置等角度概述了數(shù)據(jù)庫管理系統(tǒng)的優(yōu)化方案。
關(guān)鍵詞: 優(yōu)化(Optimizing) 第三范式(3NF) 冗余數(shù)據(jù)(Redundant Data) 索引(Index) 數(shù)據(jù)分割(Data Partitioning) 對象放置(Object Placement)
1 引言
數(shù)據(jù)庫優(yōu)化的目標(biāo)無非是避免磁盤I/O瓶頸、減少CPU利用率和減少資源競爭。為了便于讀者閱讀和理解,筆者參閱了Sybase、Informix和Oracle等大型數(shù)據(jù)庫系統(tǒng)參考資料,基于多年的工程實(shí)踐經(jīng)驗(yàn),從基本表設(shè)計(jì)、擴(kuò)展設(shè)計(jì)和數(shù)據(jù)庫表對象放置等角度進(jìn)行討論,著重討論了如何避免磁盤I/O瓶頸和減少資源競爭,相信讀者會一目了然。
2 基于第三范式的基本表設(shè)計(jì)
在基于表驅(qū)動的信息管理系統(tǒng)(MIS)中,基本表的設(shè)計(jì)規(guī)范是第三范式(3NF)。第三范式的基本特征是非主鍵屬性只依賴于主鍵屬性。基于第三范式的數(shù)據(jù)庫表設(shè)計(jì)具有很多優(yōu)點(diǎn):一是消除了冗余數(shù)據(jù),節(jié)省了磁盤存儲空間;二是有良好的數(shù)據(jù)完整性限制,即基于主外鍵的參照完整限制和基于主鍵的實(shí)體完整性限制,這使得數(shù)據(jù)容易維護(hù),也容易移植和更新;三是數(shù)據(jù)的可逆性好,在做連接(Join)查詢或者合并表時不遺漏、也不重復(fù);四是因消除了冗余數(shù)據(jù)(冗余列),在查詢(Select)時每個數(shù)據(jù)頁存的數(shù)據(jù)行就多,這樣就有效地減少了邏輯I/O,每個Cash存的頁面就多,也減少物理I/O;五是對大多數(shù)事務(wù)(Transaction)而言,運(yùn)行性能好;六是物理設(shè)計(jì)(Physical Design)的機(jī)動性較大,能滿足日益增長的用戶需求。
在基本表設(shè)計(jì)中,表的主鍵、外鍵、索引設(shè)計(jì)占有非常重要的地位,但系統(tǒng)設(shè)計(jì)人員往往只注重于滿足用戶要求,而沒有從系統(tǒng)優(yōu)化的高度來認(rèn)識和重視它們。實(shí)際上,它們與系統(tǒng)的運(yùn)行性能密切相關(guān)。現(xiàn)在從系統(tǒng)數(shù)據(jù)庫優(yōu)化角度討論這些基本概念及其重早跡純要意義:
(1)主鍵(Primary Key):主鍵被用于復(fù)雜的SQL語句時,頻繁地在數(shù)據(jù)訪問中被用到。一個表只有一個主鍵。主鍵應(yīng)該有固定值(不能為Null或缺省值,要有相對穩(wěn)定性),不含代碼信息,易訪問。把常用(眾所周知)的列作為主鍵才有意義。短主鍵更佳(小于25bytes),主鍵的長短影響索引的大小,索引的大小影響索引頁的大小,從而影響磁盤I/O。主鍵分為自然主鍵和人為主鍵。自然主鍵由實(shí)體的屬性構(gòu)成,自然主鍵可以是復(fù)合性的,在形成復(fù)合主鍵時,主鍵列不能太多,復(fù)合主鍵使得Join*作復(fù)雜化、也增加了外鍵表的大小。人為主鍵是,在沒有合適的自然屬性鍵、或自然屬性復(fù)雜或靈敏度高時,人為形成的。人為主鍵一般是整型值(滿足最小化要求),沒有實(shí)際意義,也略微增加了表的大??;但減少了把它作為外鍵的表的大小。
(2)外鍵(Foreign Key):外鍵的作用是建立關(guān)系型數(shù)據(jù)庫中表之間的關(guān)系(參照完整性),主鍵只能從獨(dú)立的實(shí)體遷移到非獨(dú)立的實(shí)體,成為后者的一個屬性,被稱為外鍵。
(3)索引(Index):利用索引優(yōu)化系統(tǒng)性能是顯而易見的,對所有常用于查詢中的Where子句的列和所有用于排序的列創(chuàng)建索引,可以避免整表掃描或訪問,在不改變表的物理結(jié)構(gòu)的情況下,直接訪問特定的數(shù)據(jù)列,這樣減少數(shù)據(jù)存取時間;利用索引可以優(yōu)化或排除耗時的分類*作;把數(shù)據(jù)分散到不同的頁面上,就分散了插入的數(shù)據(jù);主鍵自動建立了唯一索引,因此唯一索引也能確保數(shù)據(jù)的唯一性(即實(shí)體完整性);索引碼越小,定位就越直接;新建的索引效能更好,因此定期更新索引非常必要。索引也有代價:有空間開銷,建立它也要花費(fèi)時間,在進(jìn)行Insert、Delete和Update*作時,也有維護(hù)代價。索引有兩種:聚陸咐族索引和非聚族索引。一個表只能有一個聚族索引,可有多個非聚族索引。使用聚族索引查詢數(shù)據(jù)要比使用非聚族索引快。在建索引前,應(yīng)利用數(shù)據(jù)庫系統(tǒng)函數(shù)估算索引的大小。
① 聚族索引(Clustered Index):聚族索引的數(shù)據(jù)頁按物理有序儲存,占用空間小。選擇策略是,被用于Where子句的列:包括范圍查詢、模糊查詢或高度重復(fù)的列(連續(xù)磁盤掃描);被用于連接Join*作的列;被用于Order by和Group by子句的列。聚族索引不利于插入*作,另外沒有必要用主鍵建聚族索州洞引。
② 非聚族索引(Nonclustered Index):與聚族索引相比,占用空間大,而且效率低。選擇策略是,被用于Where子句的列:包括范圍查詢、模糊查詢(在沒有聚族索引時)、主鍵或外鍵列、點(diǎn)(指針類)或小范圍(返回的結(jié)果域小于整表數(shù)據(jù)的20%)查詢;被用于連接Join*作的列、主鍵列(范圍查詢);被用于Order by和Group by子句的列;需要被覆蓋的列。對只讀表建多個非聚族索引有利。索引也有其弊端,一是創(chuàng)建索引要耗費(fèi)時間,二是索引要占有大量磁盤空間,三是增加了維護(hù)代價(在修改帶索引的數(shù)據(jù)列時索引會減緩修改速度)。那么,在哪種情況下不建索引呢?對于小表(數(shù)據(jù)小于5頁)、小到中表(不直接訪問單行數(shù)據(jù)或結(jié)果集不用排序)、單值域(返回值密集)、索引列值太長(大于20bitys)、容易變化的列、高度重復(fù)的列、Null值列,對沒有被用于Where子語句和Join查詢的列都不能建索引。另外,對主要用于數(shù)據(jù)錄入的,盡可能少建索引。當(dāng)然,也要防止建立無效索引,當(dāng)Where語句中多于5個條件時,維護(hù)索引的開銷大于索引的效益,這時,建立臨時表存儲有關(guān)數(shù)據(jù)更有效。
批量導(dǎo)入數(shù)據(jù)時的注意事項(xiàng):在實(shí)際應(yīng)用中,大批量的計(jì)算(如電信話單計(jì)費(fèi))用C語言程序做,這種基于主外鍵關(guān)系數(shù)據(jù)計(jì)算而得的批量數(shù)據(jù)(文本文件),可利用系統(tǒng)的自身功能函數(shù)(如Sybase的BCP命令)快速批量導(dǎo)入,在導(dǎo)入數(shù)據(jù)庫表時,可先刪除相應(yīng)庫表的索引,這有利于加快導(dǎo)入速度,減少導(dǎo)入時間。在導(dǎo)入后再重建索引以便優(yōu)化查詢。
(4)鎖:鎖是并行處理的重要機(jī)制,能保持?jǐn)?shù)據(jù)并發(fā)的一致性,即按事務(wù)進(jìn)行處理;系統(tǒng)利用鎖,保證數(shù)據(jù)完整性。因此,我們避免不了死鎖,但在設(shè)計(jì)時可以充分考慮如何避免長事務(wù),減少排它鎖時間,減少在事務(wù)中與用戶的交互,杜絕讓用戶控制事務(wù)的長短;要避免批量數(shù)據(jù)同時執(zhí)行,尤其是耗時并用到相同的數(shù)據(jù)表。鎖的征用:一個表同時只能有一個排它鎖,一個用戶用時,其它用戶在等待。若用戶數(shù)增加,則Server的性能下降,出現(xiàn)“假死”現(xiàn)象。如何避免死鎖呢?從頁級鎖到行級鎖,減少了鎖征用;給小表增加無效記錄,從頁級鎖到行級鎖沒有影響,若在同一頁內(nèi)競爭有影響,可選擇合適的聚族索引把數(shù)據(jù)分配到不同的頁面;創(chuàng)建冗余表;保持事務(wù)簡短;同一批處理應(yīng)該沒有網(wǎng)絡(luò)交互。
(5)查詢優(yōu)化規(guī)則:在訪問數(shù)據(jù)庫表的數(shù)據(jù)(Access Data)時,要盡可能避免排序(Sort)、連接(Join)和相關(guān)子查詢*作。經(jīng)驗(yàn)告訴我們,在優(yōu)化查詢時,必須做到:
① 盡可能少的行;
② 避免排序或?yàn)楸M可能少的行排序,若要做大量數(shù)據(jù)排序,更好將相關(guān)數(shù)據(jù)放在臨時表中*作;用簡單的鍵(列)排序,如整型或短字符串排序;
③ 避免表內(nèi)的相關(guān)子查詢;
④ 避免在Where子句中使用復(fù)雜的表達(dá)式或非起始的子字符串、用長字符串連接;
⑤ 在Where子句中多使用“與”(And)連接,少使用“或”(Or)連接;
⑥ 利用臨時數(shù)據(jù)庫。在查詢多表、有多個連接、查詢復(fù)雜、數(shù)據(jù)要過濾時,可以建臨時表(索引)以減少I/O。但缺點(diǎn)是增加了空間開銷。
除非每個列都有索引支持,否則在有連接的查詢時分別找出兩個動態(tài)索引,放在工作表中重新排序。
3 基本表擴(kuò)展設(shè)計(jì)
基于第三范式設(shè)計(jì)的庫表雖然有其優(yōu)越性(見本文之一部分),然而在實(shí)際應(yīng)用中有時不利于系統(tǒng)運(yùn)行性能的優(yōu)化:如需要部分?jǐn)?shù)據(jù)時而要掃描整表,許多過程同時競爭同一數(shù)據(jù),反復(fù)用相同行計(jì)算相同的結(jié)果,過程從多表獲取數(shù)據(jù)時引發(fā)大量的連接*作,當(dāng)數(shù)據(jù)來源于多表時的連接*作;這都消耗了磁盤I/O和CPU時間。
尤其在遇到下列情形時,我們要對基本表進(jìn)行擴(kuò)展設(shè)計(jì):許多過程要頻繁訪問一個表、子集數(shù)據(jù)訪問、重復(fù)計(jì)算和冗余數(shù)據(jù),有時用戶要求一些過程優(yōu)先或低的響應(yīng)時間。
如何避免這些不利因素呢?根據(jù)訪問的頻繁程度對相關(guān)表進(jìn)行分割處理、存儲冗余數(shù)據(jù)、存儲衍生列、合并相關(guān)表處理,這些都是克服這些不利因素和優(yōu)化系統(tǒng)運(yùn)行的有效途徑。
3.1 分割表或儲存冗余數(shù)據(jù)
分割表分為水平分割表和垂直分割表兩種。分割表增加了維護(hù)數(shù)據(jù)完整性的代價。
水平分割表:一種是當(dāng)多個過程頻繁訪問數(shù)據(jù)表的不同行時,水平分割表,并消除新表中的冗余數(shù)據(jù)列;若個別過程要訪問整個數(shù)據(jù),則要用連接*作,這也無妨分割表;典型案例是電信話單按月分割存放。另一種是當(dāng)主要過程要重復(fù)訪問部分行時,更好將被重復(fù)訪問的這些行單獨(dú)形成子集表(冗余儲存),這在不考慮磁盤空間開銷時顯得十分重要;但在分割表以后,增加了維護(hù)難度,要用觸發(fā)器立即更新、或存儲過程或應(yīng)用代碼批量更新,這也會增加額外的磁盤I/O開銷。
垂直分割表(不破壞第三范式),一種是當(dāng)多個過程頻繁訪問表的不同列時,可將表垂直分成幾個表,減少磁盤I/O(每行的數(shù)據(jù)列少,每頁存的數(shù)據(jù)行就多,相應(yīng)占用的頁就少),更新時不必考慮鎖,沒有冗余數(shù)據(jù)。缺點(diǎn)是要在插入或刪除數(shù)據(jù)時要考慮數(shù)據(jù)的完整性,用存儲過程維護(hù)。另一種是當(dāng)主要過程反復(fù)訪問部分列時,更好將這部分被頻繁訪問的列數(shù)據(jù)單獨(dú)存為一個子集表(冗余儲存),這在不考慮磁盤空間開銷時顯得十分重要;但這增加了重疊列的維護(hù)難度,要用觸發(fā)器立即更新、或存儲過程或應(yīng)用代碼批量更新,這也會增加額外的磁盤I/O開銷。垂直分割表可以達(dá)到更大化利用Cache的目的。
總之,為主要過程分割表的方法適用于:各個過程需要表的不聯(lián)結(jié)的子集,各個過程需要表的子集,訪問頻率高的主要過程不需要整表。在主要的、頻繁訪問的主表需要表的子集而其它主要頻繁訪問的過程需要整表時則產(chǎn)生冗余子集表。
注意,在分割表以后,要考慮重新建立索引。
3.2 存儲衍生數(shù)據(jù)
對一些要做大量重復(fù)性計(jì)算的過程而言,若重復(fù)計(jì)算過程得到的結(jié)果相同(源列數(shù)據(jù)穩(wěn)定,因此計(jì)算結(jié)果也不變),或計(jì)算牽扯多行數(shù)據(jù)需額外的磁盤I/O開銷,或計(jì)算復(fù)雜需要大量的CPU時間,就考慮存儲計(jì)算結(jié)果(冗余儲存)?,F(xiàn)予以分類說明:
若在一行內(nèi)重復(fù)計(jì)算,就在表內(nèi)增加列存儲結(jié)果。但若參與計(jì)算的列被更新時,必須要用觸發(fā)器更新這個新列。
若對表按類進(jìn)行重復(fù)計(jì)算,就增加新表(一般而言,存放類和結(jié)果兩列就可以了)存儲相關(guān)結(jié)果。但若參與計(jì)算的列被更新時,就必須要用觸發(fā)器立即更新、或存儲過程或應(yīng)用代碼批量更新這個新表。
若對多行進(jìn)行重復(fù)性計(jì)算(如排名次),就在表內(nèi)增加列存儲結(jié)果。但若參與計(jì)算的列被更新時,必須要用觸發(fā)器或存儲過程更新這個新列。
總之,存儲冗余數(shù)據(jù)有利于加快訪問速度;但違反了第三范式,這會增加維護(hù)數(shù)據(jù)完整性的代價,必須用觸發(fā)器立即更新、或存儲過程或應(yīng)用代碼批量更新,以維護(hù)數(shù)據(jù)的完整性。
3.3 消除昂貴結(jié)合
對于頻繁同時訪問多表的一些主要過程,考慮在主表內(nèi)存儲冗余數(shù)據(jù),即存儲冗余列或衍生列(它不依賴于主鍵),但破壞了第三范式,也增加了維護(hù)難度。在源表的相關(guān)列發(fā)生變化時,必須要用觸發(fā)器或存儲過程更新這個冗余列。當(dāng)主要過程總同時訪問兩個表時可以合并表,這樣可以減少磁盤I/O*作,但破壞了第三范式,也增加了維護(hù)難度。對父子表和1:1關(guān)系表合并方法不同:合并父子表后,產(chǎn)生冗余表;合并1:1關(guān)系表后,在表內(nèi)產(chǎn)生冗余數(shù)據(jù)。
4 數(shù)據(jù)庫對象的放置策略
數(shù)據(jù)庫對象的放置策略是均勻地把數(shù)據(jù)分布在系統(tǒng)的磁盤中,平衡I/O訪問,避免I/O瓶頸。
⑴ 訪問分散到不同的磁盤,即使用戶數(shù)據(jù)盡可能跨越多個設(shè)備,多個I/O運(yùn)轉(zhuǎn),避免I/O競爭,克服訪問瓶頸;分別放置隨機(jī)訪問和連續(xù)訪問數(shù)據(jù)。
⑵ 分離系統(tǒng)數(shù)據(jù)庫I/O和應(yīng)用數(shù)據(jù)庫I/O。把系統(tǒng)審計(jì)表和臨時庫表放在不忙的磁盤上。
⑶ 把事務(wù)日志放在單獨(dú)的磁盤上,減少磁盤I/O開銷,這還有利于在障礙后恢復(fù),提高了系統(tǒng)的安全性。
⑷ 把頻繁訪問的“活性”表放在不同的磁盤上;把頻繁用的表、頻繁做Join*作的表分別放在單獨(dú)的磁盤上,甚至把把頻繁訪問的表的字段放在不同的磁盤上,把訪問分散到不同的磁盤上,避免I/O爭奪;
⑸ 利用段分離頻繁訪問的表及其索引(非聚族的)、分離文本和圖像數(shù)據(jù)。段的目的是平衡I/O,避免瓶頸,增加吞吐量,實(shí)現(xiàn)并行掃描,提高并發(fā)度,更大化磁盤的吞吐量。利用邏輯段功能,分別放置“活性”表及其非聚族索引以平衡I/O。當(dāng)然更好利用系統(tǒng)的默認(rèn)段。另外,利用段可以使備份和恢復(fù)數(shù)據(jù)更加靈活,使系統(tǒng)授權(quán)更加靈活。
利用合理建表、索引、存儲過程。
系統(tǒng)優(yōu)化,加內(nèi)存
我陪你等,關(guān)注ing
四步教你如何完善企業(yè)數(shù)據(jù)庫安全政策
隨著日益復(fù)雜的攻擊和不斷上升的內(nèi)部數(shù)據(jù)盜竊,數(shù)據(jù)庫安全成為企業(yè)信息安全團(tuán)隊(duì)重點(diǎn)關(guān)注的焦點(diǎn),超越了傳統(tǒng)的認(rèn)證、授權(quán)和訪問控制。一個私人數(shù)據(jù)入侵,如信用卡號或財(cái)務(wù)數(shù)據(jù),可以給機(jī)構(gòu)造成巨大的損失,更不用說訴訟和違規(guī)罰款等可能會帶來的持久影響。Forrester研究公司建議機(jī)構(gòu)重新制定它們的數(shù)據(jù)庫安全策略,在新安全特性的應(yīng)用和功能上尋找差距,這有助于幫助數(shù)據(jù)庫應(yīng)對新的威脅。
1、建立一個集身份驗(yàn)證、授權(quán)、訪問控制、發(fā)現(xiàn)、分類,以及補(bǔ)丁管理于一體的堅(jiān)實(shí)基礎(chǔ)
了解哪些數(shù)據(jù)庫包含敏感數(shù)據(jù)是數(shù)據(jù)庫安全戰(zhàn)略的基本要求。企業(yè)應(yīng)對所有的數(shù)據(jù)庫采取一個全面的庫存管理,包括生產(chǎn)和非生產(chǎn)的,并且遵循相同的安全政策給它們劃分類別。所有的數(shù)據(jù)庫,尤其是那些存有私人數(shù)據(jù)的數(shù)據(jù)庫,應(yīng)該有強(qiáng)的認(rèn)證、授權(quán)和訪問控制,即使應(yīng)用層已經(jīng)完成了認(rèn)證和授權(quán)。缺乏這些堅(jiān)實(shí)基礎(chǔ)會削弱審計(jì)、監(jiān)察和加密等其他的安全措施。
此外,如果不能每季度給所有的關(guān)鍵數(shù)據(jù)庫打補(bǔ)丁,那么至少半年一次租輪,以消除已知的漏洞。使用滾動補(bǔ)丁或從數(shù)據(jù)庫管理系統(tǒng)(DBMS)的供應(yīng)商和其他廠商那里收集信息,以盡量減少應(yīng)用補(bǔ)丁的停機(jī)時間。始終在測試環(huán)境下測試安全補(bǔ)丁,定期運(yùn)行測試腳本,以確保修補(bǔ)程序不影響應(yīng)用程序的功能或性能。
2、使用具有數(shù)據(jù)屏蔽、加密和變更管理等功能的預(yù)防措施
在建立了一個堅(jiān)實(shí)和基本的數(shù)據(jù)庫安全策略后,就應(yīng)該開始采取預(yù)防措施,以保護(hù)重要的數(shù)據(jù)庫。這樣就為生產(chǎn)和非生產(chǎn)數(shù)據(jù)庫提供了一個保護(hù)層。數(shù)據(jù)隱私不隨著生產(chǎn)系統(tǒng)而停止,它也需要擴(kuò)展到非生產(chǎn)環(huán)境,包括測試、開發(fā)、質(zhì)量保證(QA)、分階段和訓(xùn)練,基本上所有的私有數(shù)據(jù)都可以駐留。數(shù)據(jù)庫安全專業(yè)人士應(yīng)該評估在測試環(huán)境中或外虧咐包應(yīng)用開發(fā)中用數(shù)據(jù)屏蔽和測試數(shù)據(jù)生成來保護(hù)私有數(shù)據(jù)的效果。
使用網(wǎng)絡(luò)加密以防止數(shù)據(jù)暴露給在監(jiān)聽網(wǎng)絡(luò)流量或數(shù)據(jù)靜止加密的窺視者(他們關(guān)注存儲在數(shù)據(jù)庫中的數(shù)據(jù))。當(dāng)數(shù)據(jù)針對不同的威脅,這些加密方法可以實(shí)現(xiàn)相互獨(dú)立。通常情況下,也不會對應(yīng)用程序的功能有影響。
保護(hù)關(guān)鍵數(shù)據(jù)庫的結(jié)構(gòu)要按照標(biāo)準(zhǔn)化的變更管理程序來進(jìn)行。在弊空信過去,對生產(chǎn)環(huán)境中的計(jì)劃或其它數(shù)據(jù)庫進(jìn)行變更時需要關(guān)閉數(shù)據(jù)庫,但新版本的數(shù)據(jù)庫管理系統(tǒng)允許在聯(lián)機(jī)時進(jìn)行這些更改,這就帶來了新的安全風(fēng)險(xiǎn)。一個標(biāo)準(zhǔn)化的變更管理程序能確保只有管理員在得到管理部門批準(zhǔn)后才能改變生產(chǎn)數(shù)據(jù)庫并且跟蹤所有數(shù)據(jù)庫的變更。機(jī)構(gòu)還應(yīng)該更新自己的備份和可行性計(jì)劃,以處理數(shù)據(jù)或元數(shù)據(jù)因這些變更而發(fā)生的改變。
3、建立具有審計(jì)、監(jiān)測和漏洞評估功能的數(shù)據(jù)庫入侵檢測系統(tǒng)
當(dāng)重要數(shù)據(jù)發(fā)生意外變化或者檢測到可疑數(shù)據(jù)時,有必要進(jìn)行一個快速的調(diào)查來查看發(fā)生了什么事情。數(shù)據(jù)庫里的數(shù)據(jù)和元數(shù)據(jù)可以被訪問、更改甚至是刪除,而且這些都可以在幾秒鐘的時間內(nèi)完成。通過數(shù)據(jù)庫審計(jì),我們能夠發(fā)現(xiàn)是誰改變了數(shù)據(jù)和這些數(shù)據(jù)是什么時候被改變的等問題。為了支持之前提到的管理?xiàng)l例標(biāo)準(zhǔn),安全和風(fēng)險(xiǎn)管理的專業(yè)人士應(yīng)該追蹤私人數(shù)據(jù)的所有訪問途徑和變化情況,這些私人數(shù)據(jù)包括:信用卡卡號、社會安全卡卡號以及重要的數(shù)據(jù)庫的名稱和地址等信息。如果私人數(shù)據(jù)在沒有授權(quán)的情況下被更改或者被訪問,機(jī)構(gòu)應(yīng)該追究負(fù)責(zé)人的責(zé)任。最后,可以使用漏洞評估報(bào)告來確定數(shù)據(jù)庫的安全空白地帶,諸如弱效密碼、過多的優(yōu)先訪問權(quán)、增加數(shù)據(jù)庫管理員以及安全群組監(jiān)測。
4、牢記安全政策、安全標(biāo)準(zhǔn)、角色分離和可用性
數(shù)據(jù)庫安全策略不僅關(guān)注審計(jì)和監(jiān)測,它也是一個端到端的過程,致力于減少風(fēng)險(xiǎn)、達(dá)到管理?xiàng)l例的要求以及防御來自內(nèi)部和外部的各種攻擊。數(shù)據(jù)庫安全需要把注意力更多地放在填補(bǔ)安全空白、與其他安全政策協(xié)作以及使安全方式正式化上。在草擬你的安全策略時,要使你的數(shù)據(jù)庫安全政策與信息安全政策一致;要注意行業(yè)安全標(biāo)準(zhǔn);要強(qiáng)調(diào)角色分離;要清楚描述出數(shù)據(jù)恢復(fù)和數(shù)據(jù)使用的步驟。
關(guān)于數(shù)據(jù)庫清理策略的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機(jī)被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡稱香港主機(jī)/香港空間。香港虛擬主機(jī)特點(diǎn)是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機(jī)精選cn2+bgp線路訪問快、穩(wěn)定!
分享名稱:數(shù)據(jù)庫清理:如何制定有效的策略?(數(shù)據(jù)庫清理策略)
文章鏈接:http://fisionsoft.com.cn/article/djggsdo.html


咨詢
建站咨詢
