哪些方面是云數(shù)據(jù)庫設(shè)計(jì)所要考慮的?
發(fā)布時(shí)間:2019-10-10 點(diǎn)擊數(shù):1693
云數(shù)據(jù)庫這幾年來也頗受廣大云服務(wù)器租用用戶的喜愛,但是云數(shù)據(jù)庫跟普通數(shù)據(jù)庫有所不同,有些方面是需要注意的,那么哪些方面是云數(shù)據(jù)庫設(shè)計(jì)所要考慮的?
在云數(shù)據(jù)庫系統(tǒng)中,設(shè)計(jì)尤為重要。云數(shù)據(jù)庫的設(shè)計(jì),要著重考慮“高可靠性、高可用性、高安全性 以及 良好的兼容性”等四個(gè)方面的因素。
數(shù)據(jù)庫的可靠性,就是當(dāng)數(shù)據(jù)庫系統(tǒng)通知用戶“數(shù)據(jù)讀寫成功”后,不希望出現(xiàn)用戶訪問時(shí),還有“數(shù)據(jù)讀寫未成功”的情況。
已知“主數(shù)據(jù)庫”和“備份數(shù)據(jù)庫”之間的數(shù)據(jù)同步,是通過同步日志的內(nèi)容實(shí)現(xiàn)的。假設(shè)用戶花了5分鐘對“主數(shù)據(jù)庫”進(jìn)行讀寫操作。讀寫成功后,“主數(shù)據(jù)庫”向用戶反饋了“操作完成”的消息。此時(shí)“備份數(shù)據(jù)庫”開始進(jìn)行同步數(shù)據(jù)工作,同樣,這個(gè)過程也需要花費(fèi)5分鐘時(shí)間。
如果在這5分鐘之內(nèi),“主數(shù)據(jù)庫”由于不可預(yù)知的故障出現(xiàn)了錯(cuò)誤,用戶的連接將被切換到“備份數(shù)據(jù)庫”上去。但是,此時(shí)“備份數(shù)據(jù)庫”的同步工作尚未完成。如果此時(shí)用戶對“備份數(shù)據(jù)庫”發(fā)出了查詢請求,就會發(fā)現(xiàn)一部分原以為已經(jīng)成功導(dǎo)入的數(shù)據(jù),并沒有導(dǎo)入成功。
一般而言,通常采用三種同步策略,來解決以上問題:
1、 異步:在備份數(shù)據(jù)庫正在同步數(shù)據(jù)時(shí),不允許將連接切換到備份數(shù)據(jù)庫中去。一個(gè)常見的例子就是,人們用POS機(jī)刷銀行卡時(shí),有時(shí)候會遇到POS機(jī)提示“網(wǎng)絡(luò)異?!钡那闆r,用戶只需要稍等十幾秒再進(jìn)行連接即可。這種等待在一些情形下是允許的。
2、 全同步:在“主數(shù)據(jù)庫”更新結(jié)束后,并不立即向用戶反饋更新成功的消息,而是等待所有“備份數(shù)據(jù)庫”同樣更新成功后,再向用戶反饋提示。這種方式的缺點(diǎn)是,數(shù)據(jù)庫更新的性能會降低很多,在一些大規(guī)模數(shù)據(jù)庫的行業(yè)中無法滿足應(yīng)用需求。
3、 半同步:半同步是一種對全同步和異步的折中方案。當(dāng)“主數(shù)據(jù)庫”進(jìn)行讀寫時(shí),將日志信息傳送給“備份數(shù)據(jù)庫”,“備份數(shù)據(jù)庫”收到日志信息后,給“主數(shù)據(jù)庫”返回一個(gè)確認(rèn)信息。因此,在“主數(shù)據(jù)庫”完成讀寫操作時(shí),“備份數(shù)據(jù)庫”已經(jīng)有了更新日志和部分更新的信息。此時(shí),仍然需要等待“備份數(shù)據(jù)庫”完成讀寫后,才能將連接切換過去。
全網(wǎng)數(shù)據(jù)云服務(wù)器掛載的SSD云盤,具有超高隨機(jī)IOPS性能( 即每秒進(jìn)行讀寫操作的次數(shù) ),適用于“高負(fù)載、對數(shù)據(jù)可靠性要求高”的I/O(輸入/輸出)密集型的核心關(guān)鍵業(yè)務(wù)系統(tǒng),可支持百萬行表級別的大中型“關(guān)系數(shù)據(jù)庫”應(yīng)用。
高可用性,就是讓數(shù)據(jù)庫能夠在盡量長的時(shí)間內(nèi),穩(wěn)定提供服務(wù),避免出現(xiàn)服務(wù)無法正常提供的情況。意外的硬件故障或者計(jì)劃內(nèi)的升級,都是對云數(shù)據(jù)庫可用性的挑戰(zhàn)。
為了提高可用性,可采用“數(shù)據(jù)庫主備同步機(jī)制”。
數(shù)據(jù)庫正常運(yùn)行時(shí),用戶對“主數(shù)據(jù)庫”進(jìn)行訪問,當(dāng)“主數(shù)據(jù)庫”需要進(jìn)行計(jì)劃內(nèi)的升級時(shí),控制系統(tǒng)將高可用模塊從“主數(shù)據(jù)庫”切換到“備份數(shù)據(jù)庫”上。
由于“主數(shù)據(jù)庫”中的緩存,保存了用戶經(jīng)常訪問的信息,突然地切換到“備份數(shù)據(jù)庫”中,可能會引起緩存命中率的降低,用戶感覺到數(shù)據(jù)庫服務(wù)器變慢了。因此,主備數(shù)據(jù)庫計(jì)劃內(nèi)的切換,通常在用戶訪問壓力小的情況下進(jìn)行,從而為用戶提供高質(zhì)量的服務(wù)。
當(dāng)“主數(shù)據(jù)庫”出現(xiàn)計(jì)劃外的錯(cuò)誤,導(dǎo)致訪問請求失敗時(shí),連接保持技術(shù)就會迅速地將請求切換到“備份數(shù)據(jù)庫”上去,從而維護(hù)了云數(shù)據(jù)庫的可用性。
云數(shù)據(jù)庫在給用戶帶來便利、高效的使用體驗(yàn)以外,安全性也同樣重要。很多爆出的云數(shù)據(jù)庫安全問題警示,云數(shù)據(jù)庫還需要進(jìn)一步提升安全性,才能保證用戶的數(shù)據(jù)安全。
首先在云數(shù)據(jù)庫的訪問控制上,針對不同的用戶,需要賦予不同的權(quán)限,進(jìn)行合理授權(quán)。針對云數(shù)據(jù)庫的管理員,也需要進(jìn)行訪問控制。通常情況下,管理員的主要任務(wù)是維護(hù)數(shù)據(jù)庫的正常運(yùn)行,而不是訪問或者修改數(shù)據(jù)庫中的數(shù)據(jù)。
如果黑客攻入了數(shù)據(jù)庫系統(tǒng),對數(shù)據(jù)庫進(jìn)行復(fù)制、刪除或者修改,將對云數(shù)據(jù)庫平臺的提供者和使用者,造成難以估量的負(fù)面影響。因此,針對云數(shù)據(jù)庫中的核心數(shù)據(jù)進(jìn)行加密,是一種非常必要的手段。
第一種方法是,對存儲數(shù)據(jù)庫的磁盤進(jìn)行加密,這能有效防止磁盤被破解。但由于數(shù)據(jù)庫在“網(wǎng)絡(luò)層”和“應(yīng)用層”上,依然是明文傳輸?shù)?;并且對磁盤的加密,也會破壞整體云平臺的性能。
第二種方法是,在數(shù)據(jù)庫管理系統(tǒng)的外層加上“數(shù)據(jù)加密/解密”的代理,從而保證網(wǎng)絡(luò)數(shù)據(jù)通信過程中數(shù)據(jù)的安全性。
第三種方法是,在數(shù)據(jù)庫管理系統(tǒng)的內(nèi)核層進(jìn)行加密,數(shù)據(jù)庫服務(wù)器在向數(shù)據(jù)庫中插入數(shù)據(jù)前,會自動加密數(shù)據(jù),讀取的數(shù)據(jù)先進(jìn)行解密再傳遞給查詢程序。但是這種“加密/解密”的過程,也會加重服務(wù)器的負(fù)擔(dān)。
最后,數(shù)據(jù)庫可以利用審計(jì)技術(shù),準(zhǔn)確完整地記錄數(shù)據(jù)庫的訪問與操作行為。數(shù)據(jù)庫安全事件一旦發(fā)生,就能夠迅速精確地找到責(zé)任人,這也是對進(jìn)行正常訪問的用戶的一種保護(hù)。
在云數(shù)據(jù)庫系統(tǒng)中,設(shè)計(jì)尤為重要。云數(shù)據(jù)庫的設(shè)計(jì),要著重考慮“高可靠性、高可用性、高安全性 以及 良好的兼容性”等四個(gè)方面的因素。

一、 高可靠性
數(shù)據(jù)庫的可靠性,就是當(dāng)數(shù)據(jù)庫系統(tǒng)通知用戶“數(shù)據(jù)讀寫成功”后,不希望出現(xiàn)用戶訪問時(shí),還有“數(shù)據(jù)讀寫未成功”的情況。
已知“主數(shù)據(jù)庫”和“備份數(shù)據(jù)庫”之間的數(shù)據(jù)同步,是通過同步日志的內(nèi)容實(shí)現(xiàn)的。假設(shè)用戶花了5分鐘對“主數(shù)據(jù)庫”進(jìn)行讀寫操作。讀寫成功后,“主數(shù)據(jù)庫”向用戶反饋了“操作完成”的消息。此時(shí)“備份數(shù)據(jù)庫”開始進(jìn)行同步數(shù)據(jù)工作,同樣,這個(gè)過程也需要花費(fèi)5分鐘時(shí)間。
如果在這5分鐘之內(nèi),“主數(shù)據(jù)庫”由于不可預(yù)知的故障出現(xiàn)了錯(cuò)誤,用戶的連接將被切換到“備份數(shù)據(jù)庫”上去。但是,此時(shí)“備份數(shù)據(jù)庫”的同步工作尚未完成。如果此時(shí)用戶對“備份數(shù)據(jù)庫”發(fā)出了查詢請求,就會發(fā)現(xiàn)一部分原以為已經(jīng)成功導(dǎo)入的數(shù)據(jù),并沒有導(dǎo)入成功。
一般而言,通常采用三種同步策略,來解決以上問題:
1、 異步:在備份數(shù)據(jù)庫正在同步數(shù)據(jù)時(shí),不允許將連接切換到備份數(shù)據(jù)庫中去。一個(gè)常見的例子就是,人們用POS機(jī)刷銀行卡時(shí),有時(shí)候會遇到POS機(jī)提示“網(wǎng)絡(luò)異?!钡那闆r,用戶只需要稍等十幾秒再進(jìn)行連接即可。這種等待在一些情形下是允許的。
2、 全同步:在“主數(shù)據(jù)庫”更新結(jié)束后,并不立即向用戶反饋更新成功的消息,而是等待所有“備份數(shù)據(jù)庫”同樣更新成功后,再向用戶反饋提示。這種方式的缺點(diǎn)是,數(shù)據(jù)庫更新的性能會降低很多,在一些大規(guī)模數(shù)據(jù)庫的行業(yè)中無法滿足應(yīng)用需求。
3、 半同步:半同步是一種對全同步和異步的折中方案。當(dāng)“主數(shù)據(jù)庫”進(jìn)行讀寫時(shí),將日志信息傳送給“備份數(shù)據(jù)庫”,“備份數(shù)據(jù)庫”收到日志信息后,給“主數(shù)據(jù)庫”返回一個(gè)確認(rèn)信息。因此,在“主數(shù)據(jù)庫”完成讀寫操作時(shí),“備份數(shù)據(jù)庫”已經(jīng)有了更新日志和部分更新的信息。此時(shí),仍然需要等待“備份數(shù)據(jù)庫”完成讀寫后,才能將連接切換過去。
全網(wǎng)數(shù)據(jù)云服務(wù)器掛載的SSD云盤,具有超高隨機(jī)IOPS性能( 即每秒進(jìn)行讀寫操作的次數(shù) ),適用于“高負(fù)載、對數(shù)據(jù)可靠性要求高”的I/O(輸入/輸出)密集型的核心關(guān)鍵業(yè)務(wù)系統(tǒng),可支持百萬行表級別的大中型“關(guān)系數(shù)據(jù)庫”應(yīng)用。
二、 高可用性
高可用性,就是讓數(shù)據(jù)庫能夠在盡量長的時(shí)間內(nèi),穩(wěn)定提供服務(wù),避免出現(xiàn)服務(wù)無法正常提供的情況。意外的硬件故障或者計(jì)劃內(nèi)的升級,都是對云數(shù)據(jù)庫可用性的挑戰(zhàn)。
為了提高可用性,可采用“數(shù)據(jù)庫主備同步機(jī)制”。
數(shù)據(jù)庫正常運(yùn)行時(shí),用戶對“主數(shù)據(jù)庫”進(jìn)行訪問,當(dāng)“主數(shù)據(jù)庫”需要進(jìn)行計(jì)劃內(nèi)的升級時(shí),控制系統(tǒng)將高可用模塊從“主數(shù)據(jù)庫”切換到“備份數(shù)據(jù)庫”上。
由于“主數(shù)據(jù)庫”中的緩存,保存了用戶經(jīng)常訪問的信息,突然地切換到“備份數(shù)據(jù)庫”中,可能會引起緩存命中率的降低,用戶感覺到數(shù)據(jù)庫服務(wù)器變慢了。因此,主備數(shù)據(jù)庫計(jì)劃內(nèi)的切換,通常在用戶訪問壓力小的情況下進(jìn)行,從而為用戶提供高質(zhì)量的服務(wù)。
當(dāng)“主數(shù)據(jù)庫”出現(xiàn)計(jì)劃外的錯(cuò)誤,導(dǎo)致訪問請求失敗時(shí),連接保持技術(shù)就會迅速地將請求切換到“備份數(shù)據(jù)庫”上去,從而維護(hù)了云數(shù)據(jù)庫的可用性。
三、 高安全性
云數(shù)據(jù)庫在給用戶帶來便利、高效的使用體驗(yàn)以外,安全性也同樣重要。很多爆出的云數(shù)據(jù)庫安全問題警示,云數(shù)據(jù)庫還需要進(jìn)一步提升安全性,才能保證用戶的數(shù)據(jù)安全。
首先在云數(shù)據(jù)庫的訪問控制上,針對不同的用戶,需要賦予不同的權(quán)限,進(jìn)行合理授權(quán)。針對云數(shù)據(jù)庫的管理員,也需要進(jìn)行訪問控制。通常情況下,管理員的主要任務(wù)是維護(hù)數(shù)據(jù)庫的正常運(yùn)行,而不是訪問或者修改數(shù)據(jù)庫中的數(shù)據(jù)。
如果黑客攻入了數(shù)據(jù)庫系統(tǒng),對數(shù)據(jù)庫進(jìn)行復(fù)制、刪除或者修改,將對云數(shù)據(jù)庫平臺的提供者和使用者,造成難以估量的負(fù)面影響。因此,針對云數(shù)據(jù)庫中的核心數(shù)據(jù)進(jìn)行加密,是一種非常必要的手段。
第一種方法是,對存儲數(shù)據(jù)庫的磁盤進(jìn)行加密,這能有效防止磁盤被破解。但由于數(shù)據(jù)庫在“網(wǎng)絡(luò)層”和“應(yīng)用層”上,依然是明文傳輸?shù)?;并且對磁盤的加密,也會破壞整體云平臺的性能。
第二種方法是,在數(shù)據(jù)庫管理系統(tǒng)的外層加上“數(shù)據(jù)加密/解密”的代理,從而保證網(wǎng)絡(luò)數(shù)據(jù)通信過程中數(shù)據(jù)的安全性。
第三種方法是,在數(shù)據(jù)庫管理系統(tǒng)的內(nèi)核層進(jìn)行加密,數(shù)據(jù)庫服務(wù)器在向數(shù)據(jù)庫中插入數(shù)據(jù)前,會自動加密數(shù)據(jù),讀取的數(shù)據(jù)先進(jìn)行解密再傳遞給查詢程序。但是這種“加密/解密”的過程,也會加重服務(wù)器的負(fù)擔(dān)。
最后,數(shù)據(jù)庫可以利用審計(jì)技術(shù),準(zhǔn)確完整地記錄數(shù)據(jù)庫的訪問與操作行為。數(shù)據(jù)庫安全事件一旦發(fā)生,就能夠迅速精確地找到責(zé)任人,這也是對進(jìn)行正常訪問的用戶的一種保護(hù)。
四、 良好的兼容性
一個(gè)好的數(shù)據(jù)庫平臺,必須能夠讓用戶便于進(jìn)行數(shù)據(jù)庫遷移,這時(shí)“兼容性”就顯得至關(guān)重要??紤]到原有本地?cái)?shù)據(jù)庫的復(fù)雜性,以及數(shù)據(jù)庫語言的復(fù)雜性,應(yīng)該讓數(shù)據(jù)庫平臺盡可能地兼容多種數(shù)據(jù)庫版本與數(shù)據(jù)庫結(jié)構(gòu),從而能夠?yàn)橛脩籼峁└咝П憬莸姆?wù)。
以上這些就是我們云數(shù)據(jù)庫設(shè)計(jì)所需要注意的地方,以上信息由全網(wǎng)數(shù)據(jù)小編分享,全網(wǎng)數(shù)據(jù)專業(yè)提供深圳服務(wù)器租用,深圳服務(wù)器托管,深圳主機(jī)租用,云服務(wù)器租用,寬帶租用等服務(wù),歡迎咨詢可了解詳情。