偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

NoSQL真的能終結(jié)關(guān)系數(shù)據(jù)庫?

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

一、NoSQL項(xiàng)目提出的背景。

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

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

二、NoSQL革命仍然需等待

根據(jù)目前的情況來看,筆者對于NoSQL項(xiàng)目的前景并不是很看好?;蛘哒f,對其前途感到很悲觀。NoSQL項(xiàng)目很難跟傳統(tǒng)的關(guān)系型數(shù)據(jù)庫相抗衡。甚至其想達(dá)到MySQL這個(gè)開源數(shù)據(jù)庫的高度都很難。

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

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

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

2、 缺乏強(qiáng)有力的技術(shù)支持。

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

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

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

4、 關(guān)系型數(shù)據(jù)庫在設(shè)計(jì)時(shí)更能夠體現(xiàn)實(shí)際

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

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

 

【編輯推薦】

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

2011-03-15 14:54:08

NoSQL

2010-03-23 09:16:34

NoSQL

2010-03-16 13:47:23

DiggMySQL

2017-11-08 09:50:58

數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫Oracle

2014-12-24 09:48:13

NoSQL關(guān)系數(shù)據(jù)庫

2014-12-24 09:51:22

WebNoSQL

2011-10-11 17:07:12

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

2009-10-23 10:45:21

NoSQLMemcached關(guān)系數(shù)據(jù)庫

2023-10-10 11:18:42

Spring數(shù)據(jù)庫

2023-10-16 13:26:00

RDBMS關(guān)系數(shù)據(jù)庫

2020-03-14 16:37:09

數(shù)據(jù)庫IT技術(shù)

2017-01-04 16:18:05

非數(shù)據(jù)庫NoSql關(guān)系型數(shù)據(jù)庫

2023-05-22 11:20:27

數(shù)據(jù)庫MySQL關(guān)系數(shù)據(jù)

2011-07-18 09:54:47

云計(jì)算分片關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫

2010-09-15 14:09:01

GraphDataba

2009-03-26 11:10:13

關(guān)系數(shù)據(jù)庫關(guān)系型數(shù)據(jù)庫數(shù)據(jù)庫

2024-02-02 10:51:53

2011-09-27 13:41:09

數(shù)據(jù)庫

2009-10-29 11:01:52

Amazon RDSMySQL關(guān)系數(shù)據(jù)庫

2009-03-03 09:54:41

云計(jì)算關(guān)系數(shù)據(jù)庫數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)