NoSQL數(shù)據(jù)庫安全優(yōu)于RDBMS嗎?
來源:易賢網 閱讀:1264 次 日期:2015-09-24 15:22:32
溫馨提示:易賢網小編為您整理了“NoSQL數(shù)據(jù)庫安全優(yōu)于RDBMS嗎?”,方便廣大網友查閱!

NoSQL或者Not Only SQL(不僅僅是SQL)是一種數(shù)據(jù)存儲和檢索方法,對于開發(fā)交互式Web應用的初創(chuàng)公司和處理大量數(shù)據(jù)的企業(yè)而言,這是非?!皶r髦”的方法。這種方法受歡迎的主要原因是:與傳統(tǒng)關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)相比(包括甲骨文的MySQL和微軟的SQL Server),它提供更好的可擴展性和可用性,以及更快的訪問數(shù)據(jù)。

RDBMS中的數(shù)據(jù)需要是可預測的,因此數(shù)據(jù)可以存儲在有結構的表和行中,通過不同元素之間定義關系。另一方面,NoSQL數(shù)據(jù)庫中的數(shù)據(jù)則不需要如此結構化或者按照固定的模式。當性能和實時訪問比一致性更重要時,例如當索引和檢索大量記錄時,NoSQL比關系型數(shù)據(jù)庫更適合。在NoSQL中,數(shù)據(jù)也可以更容易地跨多個服務器存儲,因而提供更好的容錯性和可擴展性。谷歌和亞馬遜等公司是使用自己的云友好型NoSQL數(shù)據(jù)庫技術,現(xiàn)在有很多商業(yè)和開源NoSQL數(shù)據(jù)庫可供企業(yè)選擇,例如Couchbase、MongoDB、Cassandra和Riak。

盡管數(shù)據(jù)存儲在NoSQL數(shù)據(jù)庫中有諸多優(yōu)點,但快速方便地訪問數(shù)據(jù)的需要嚴重影響了NoSQL安全。為了安全地存儲信息,數(shù)據(jù)庫需要提供保密性、完整性和可用性(CIA)。企業(yè)RDBMS數(shù)據(jù)庫通過集成的安全功能提供CIA功能,例如基于角色的安全、加密通信、支持行和列訪問控制,以及通過預先設定的程序,用戶級權限的訪問控制。RDBMS數(shù)據(jù)庫還具有ACID(原子性、一致、隔離、耐用)功能來保證數(shù)據(jù)庫交易的可靠處理;數(shù)據(jù)復制和日志記錄確保耐用和數(shù)據(jù)完整。由于這些功能增加了檢索大量數(shù)據(jù)所花費的時間,所以它們沒有部署在NoSQL數(shù)據(jù)庫中。

為了保證對數(shù)據(jù)的快速訪問,NoSQL數(shù)據(jù)庫基本沒有內置安全性。它們有BASE(基本可用、軟態(tài)、最終一致)的屬性;不需要每次傳輸后的一致性,該數(shù)據(jù)庫只需要最終達到一致狀態(tài)。例如,當用戶查看數(shù)據(jù)時,比如存儲條目的數(shù)量,用戶會看到數(shù)據(jù)的最后一次快照,而不是當前視圖。因為數(shù)據(jù)交易沒有立即寫入到數(shù)據(jù)庫中,同時進行的交易可能會互相干擾。這種固有的爭用情況(用戶不一定在同一時間看到相同數(shù)據(jù))意味著NoSQL數(shù)據(jù)庫永遠不會用于處理金融交易。

NoSQL數(shù)據(jù)庫還缺乏保密性和安全性。由于NoSQL數(shù)據(jù)庫沒有固定的模式,對表、列或行的權限不能被隔離。這也可能導致相同數(shù)據(jù)出現(xiàn)多個副本。這會讓該數(shù)據(jù)庫很難保持數(shù)據(jù)的一致性,特別是對多個表格的更改不能包裝到一個交易中,因為其插入、升級或刪除操作的邏輯單元是作為整體來執(zhí)行。

現(xiàn)在有超過20種不同的NoSQL部署,缺乏標準也讓保持數(shù)據(jù)安全的更復雜。保密性和完整性必須完全由訪問NoSQL數(shù)據(jù)的應用來提供。對于任何在應用級有價值的數(shù)據(jù),只設置最后一道防線并不是正確的做法。應用開發(fā)人員并不擅長部署安全功能,新代碼通常意味著新漏洞。發(fā)送到NoSQL數(shù)據(jù)庫的任何請求都需要進行轉義、過濾和驗證,而數(shù)據(jù)庫本身需要位于強壯的環(huán)境中。

有趣的是,一些NoSQL項目現(xiàn)在開始添加RDBMS類型的安全功能。例如,甲骨文對寫入到一個節(jié)點的數(shù)據(jù)增加了事務性控制。Cassandra支持交易記錄和自動復制,而MongoDB支持主從復制。

如果可擴展性和可用性是企業(yè)對數(shù)據(jù)庫的主要要求,那么,NoSQL可能是某些大型數(shù)據(jù)集的最佳選擇。然而,系統(tǒng)架構師在選擇NoSQL數(shù)據(jù)庫之前,應該仔細考慮他們對安全、隱私和數(shù)據(jù)完整性的需求。缺乏NoSQL安全功能,即身份驗證或認證支持,意味著敏感數(shù)據(jù)最好保存在傳統(tǒng)RDBMS中。

更多信息請查看IT技術專欄

更多信息請查看數(shù)據(jù)庫

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網