自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

NoSQL真的能終結關系數(shù)據庫?

數(shù)據庫
目前,NoSQL項目很難跟傳統(tǒng)的關系型數(shù)據庫相抗衡。甚至其想達到MySQL這個開源數(shù)據庫的高度都很難。NoSQL項目這場數(shù)據庫革命仍然需要等待。在短時間內,無法跟關系型數(shù)據庫相互抗衡,

一、NoSQL項目提出的背景。

NoSQL的支持者喜歡這個NoSQL項目,主要是看其在性能上的優(yōu)勢。NoSQL支持者稱,NoSQL技術可以打破傳統(tǒng)關系型數(shù)據庫的性能瓶頸。如通過NoSQL架構可以省去將Web或者Java 應用和數(shù)據轉換成SQL友好格式的時間,減少SQL語句解析與優(yōu)化的時間,讓應用程序的速度變得更加快捷。更多關于NoSQL的報道請參考《對SQL說不!NoSQL的數(shù)據庫技術革命

確實基于SQL的關系型數(shù)據庫,在性能上確實存在一些瓶頸。但是這大部分并不是這個門SQL技術所造成的。而是因為在設計數(shù)據庫的時候,表與表之間的關系、表的索引或者表空間的部署等等沒有設計好做造成的。所以關系型數(shù)據庫性能不理想,并不能全部怪罪到這么技術上。通常情況下,對原有的數(shù)據庫設計進行優(yōu)化,往往可以在很大程度上提升數(shù)據庫的性能。所以說,NoSQL這個項目的背景是站不住腳的。

二、NoSQL革命仍然需等待

根據目前的情況來看,筆者對于NoSQL項目的前景并不是很看好。或者說,對其前途感到很悲觀。NoSQL項目很難跟傳統(tǒng)的關系型數(shù)據庫相抗衡。甚至其想達到MySQL這個開源數(shù)據庫的高度都很難。

1、 NoSQL很難實現(xiàn)數(shù)據的完整性。

當NoSQL這個項目開始以來,筆者也適當?shù)年P注過。但是筆者了解了這個項目后,對它的印象并不是很好。因為根據筆者的了解,很多關系型數(shù)據庫中優(yōu)秀的、實用的功能,在NoSQL數(shù)據庫卻無法實現(xiàn)。如在任何一個關系型的數(shù)據庫中,都可以很容易的實現(xiàn)數(shù)據的完整性。如在Oracle數(shù)據庫中,可以輕而易舉的實現(xiàn)實體完整性(通過主鍵或者非空約束來實現(xiàn))、參照完整性(通過主鍵、外鍵來實現(xiàn))、用戶定于完整性(通過約束或者觸發(fā)器來實現(xiàn))。通過這些機制,可以實現(xiàn)數(shù)據的完整性。如可以設置某表中某一個列的值是唯一的而且不能夠為空?;蛘哒f在某表中引用外鍵的話,在另一張表中這個值必須存在。無論在刪除或者更新的時候,都必須存在。

NoSQL支持者也承認關系型數(shù)據庫在數(shù)據完整性上的作用是不可替代的。但是他們卻反駁說,企業(yè)可能用不到這么復雜的功能。對于這一點筆者不敢認同?,F(xiàn)在企業(yè)的任何一個應用,基本上都需要用到數(shù)據完整性。如現(xiàn)在大部分應用至少都需要有一個用戶認證的過程。為此在系統(tǒng)實現(xiàn)的過程中,需要在數(shù)據庫中保存用戶名。由于這個用戶名涉及到用戶的認證問題,為此用戶名必須要唯一。此時就需要用到唯一性約束。在關系型數(shù)據庫中,只需要在表格設計過程中,將用戶名設置為唯一即可。而在NoSQL中,還需要通過代碼來實現(xiàn)唯一性。本來很容易就可以實現(xiàn),現(xiàn)在卻要繞個彎取實現(xiàn),這有點不可思議。由于在NoSQL項目中很難實現(xiàn)數(shù)據的完整性,而在企業(yè)應用中這個數(shù)據完整性又是少不了的。為此筆者認為,NoSQL項目很難在企業(yè)中普及開來。至少在短時間內,NoSQL革命仍然需等待。

2、 缺乏強有力的技術支持。

到目前為止,NoSQL項目都是開源的。所以說他們缺乏供應商技術人員提供的正式支持。在這一點,NoSQL項目與大多數(shù)的開源項目一樣,不得不從社區(qū)中尋求支持。但是,NoSQL項目比其他的開源項目要難得的多。首先NoSQL項目是一個數(shù)據庫系統(tǒng)的項目?;蛘哒f,是一些網絡應用的最基層的設備。如果其出錯的話,后果很嚴重。由于缺乏正式的官方支持,萬一數(shù)據庫運行出現(xiàn)了錯誤,后果是很嚴重的。而且到時候用戶也是投訴無門的。所以,現(xiàn)在NoSQL項目基本上還是屬于研究的階段,如果要正式投入到企業(yè)中使用,被數(shù)據庫管理員所接受,至少其穩(wěn)定性上要有所改善?;蛘哒f,當問題出現(xiàn)時,數(shù)據庫管理員要能夠及時修復運行故障。由于缺乏強有力的技術支持,數(shù)據庫管理員擔心故障出現(xiàn)時難以迅速解決,所以很多管理員都拒絕使用NoSQL項目,即使其是開源免費的。如NoSQL項目的組織者Oskarsson也坦言,他們自己的公司現(xiàn)在使用的也不是NoSQL數(shù)據庫,甚至在短期內也沒有這個打算。他們現(xiàn)在使用的雖然是開源的數(shù)據庫系統(tǒng),但是仍然是基于SQL的關系型數(shù)據庫。像NoSQL項目的組織者都不敢輕易在企業(yè)中部署這個NoSQL數(shù)據庫,那么其他數(shù)據庫管理員誰敢做***個吃螃蟹的英雄嗎?這不是拿自己的前途開玩笑。

3、 開源數(shù)據庫從出現(xiàn)到被用戶接受需要一個漫長的過程

假設這個NoSQL技術能夠被企業(yè)用戶所接受,但是從其出現(xiàn)到被用戶最終接受需要一個漫長的過程。如MYSQL這個開源的數(shù)據庫系統(tǒng),其從出現(xiàn)到流行也是花了好多年的時間。而且MYSQL數(shù)據庫是基于比較成熟的關系數(shù)據庫模型的。其在開發(fā)設計的時候,已經有不少完善的產品可以參考。至少SQL語句的語法其可以直接拿來使用,而不用從零開始設計。而現(xiàn)在NoSQL是一個從零開始的產品,所有內容都需要重新設計。在沒有供應商技術人員的支持下,這個過程可能是很漫長的。即使退一萬步來說,最終其可以向MySQL數(shù)據庫那樣受中小企業(yè)的歡迎,但是由于其自身技術的薄弱,在大型的數(shù)據庫應用中就會顯得心有余而力不足。

4、 關系型數(shù)據庫在設計時更能夠體現(xiàn)實際。

其實關系型數(shù)據庫也是從非關系型數(shù)據庫升級過來的。之所以現(xiàn)在大部分數(shù)據庫都是建立在關系型數(shù)據庫模型之上的,就說明了關系型數(shù)據庫存在的價值。筆者認為,關系型數(shù)據庫***的價值就在于其設計方便。因為其數(shù)據庫對象之間的關系模型(如三范式等等)對于數(shù)據庫設計時很有幫助的,其在很大程度上體現(xiàn)了業(yè)務的實際情況。如在設計一個ERP系統(tǒng)時,主鍵與外鍵的關系可以反映出產品信息表與采購訂單之間的關聯(lián)。這種關系是那么發(fā)符合實際。而現(xiàn)在NoSQL項目想把這種關系剝離掉,那么在數(shù)據庫設計的時候,必然會增加很多的麻煩,會增加數(shù)據庫的難度。最重要的是,這些數(shù)據庫對象之間的關系不僅僅是關系而已,其還是一種強有力的準則,對于所有的關系型數(shù)據庫管理員都會產生約束。這就說明,如果必須強制遵守這些規(guī)則。從而讓Oracle數(shù)據庫的管理員經過簡短的學習之后,也能夠很快的掌握SQLServer數(shù)據庫的技術。因為其內部的準則是共同的。數(shù)據庫管理員只要學習其表現(xiàn)形式即可。這就好像學汽車。你只要拿出駕照,那么什么牌子的車都可以開。因為其數(shù)據庫對象的關系、運行模式等等都是固定的。但是NoSQL項目由于缺乏這種關系,所以基于NoSQL技術的不同產品之間,可能會存在很大的差異。這不僅在數(shù)據庫設計的時候會增加不少的難度。而且在維護的時候,也需要花費更多的時間與精力。

總之,照目前的情況來看,筆者對NoSQL項目的思路是反對的。至少在近期很難有像樣的NoSQL產品面世。NoSQL項目的組織者Oskarsson也承認,NoSQL項目這場數(shù)據庫革命仍然需要等待。在短時間內,無法跟關系型數(shù)據庫相互抗衡,也許永遠沒有這個機會。

 

【編輯推薦】

  1. 對SQL說不!NoSQL的數(shù)據庫技術革命
  2. 云計算使關系數(shù)據庫逐漸落伍
  3. 關系數(shù)據庫的末日是否已經來臨
  4. 新興數(shù)據庫打破整個舊規(guī)則
  5. 探尋關系數(shù)據庫和ORM的***替代者
責任編輯:佚名 來源: IT專家網
相關推薦

2011-03-15 14:54:08

NoSQL

2010-03-16 13:47:23

DiggMySQL

2010-03-23 09:16:34

NoSQL

2017-11-08 09:50:58

數(shù)據庫關系數(shù)據庫Oracle

2014-12-24 09:51:22

WebNoSQL

2014-12-24 09:48:13

NoSQL關系數(shù)據庫

2009-10-23 10:45:21

NoSQLMemcached關系數(shù)據庫

2011-10-11 17:07:12

數(shù)據庫Internet文件數(shù)據庫

2023-10-16 13:26:00

RDBMS關系數(shù)據庫

2023-10-10 11:18:42

Spring數(shù)據庫

2020-03-14 16:37:09

數(shù)據庫IT技術

2010-09-15 14:09:01

GraphDataba

2011-07-18 09:54:47

云計算分片關系數(shù)據庫關系數(shù)據庫

2023-05-22 11:20:27

數(shù)據庫MySQL關系數(shù)據

2017-01-04 16:18:05

非數(shù)據庫NoSql關系型數(shù)據庫

2009-03-26 11:10:13

關系數(shù)據庫關系型數(shù)據庫數(shù)據庫

2024-02-02 10:51:53

2009-10-29 11:01:52

Amazon RDSMySQL關系數(shù)據庫

2011-09-27 13:41:09

數(shù)據庫

2009-03-03 09:54:41

云計算關系數(shù)據庫數(shù)據庫
點贊
收藏

51CTO技術棧公眾號