淺析數(shù)據(jù)庫(kù)濫用的現(xiàn)狀
數(shù)據(jù)庫(kù)最嚴(yán)重的問(wèn)題是數(shù)據(jù)庫(kù)的濫用和數(shù)據(jù)的無(wú)規(guī)劃,本文只提出數(shù)據(jù)庫(kù)的濫用問(wèn)題,希望起到拋磚引玉的作用,引起大家重視。
數(shù)據(jù)庫(kù)濫用現(xiàn)象有兩個(gè)層面的意思,一個(gè)是在不該使用數(shù)據(jù)庫(kù)的需求中使用數(shù)據(jù)庫(kù),另一個(gè)是在數(shù)據(jù)庫(kù)的使用上有很大的隨意性和慣性。
數(shù)據(jù)庫(kù)濫用的根源在于國(guó)內(nèi)除了極少數(shù)行業(yè),很少有真正的DB參與項(xiàng)目,在國(guó)內(nèi)的項(xiàng)目,大多都是以完成功能為首要任務(wù)(能做好功能已經(jīng)很優(yōu)秀了),對(duì)數(shù)據(jù)規(guī)劃的漠視甚至無(wú)視越來(lái)越嚴(yán)重,造成的后果在信息化初期是沒(méi)有體現(xiàn)的,但經(jīng)過(guò)了10多年的高速發(fā)展(伴隨互聯(lián)網(wǎng)和網(wǎng)絡(luò)的發(fā)展,從2000年左右開(kāi)始,信息化經(jīng)歷了一個(gè)高速膨脹的發(fā)展階段),惡果必定會(huì)逐漸體現(xiàn)出來(lái)。
現(xiàn)在計(jì)算機(jī)的任務(wù)說(shuō)到根上就是計(jì)算和信息處理。計(jì)算是專(zhuān)指計(jì)算機(jī)完成大規(guī)模的數(shù)學(xué)計(jì)算任務(wù),與本文關(guān)系不大。信息處理指包含數(shù)據(jù)、文本、多媒體等各種類(lèi)型數(shù)據(jù)的創(chuàng)建、保存、流轉(zhuǎn)、共享、維護(hù)?;ヂ?lián)網(wǎng)網(wǎng)站的主要功能是信息共享,財(cái)務(wù)系統(tǒng)除了計(jì)算之外,也是數(shù)據(jù)的共享和流轉(zhuǎn),大到互聯(lián)網(wǎng)、ERP,小到日記本,數(shù)據(jù)都是所有軟件的核心,而數(shù)據(jù)存儲(chǔ)應(yīng)該是核心的核心,其重要程度猶如大廈的基石,而對(duì)數(shù)據(jù)庫(kù)的濫用,很大程度上影響了這個(gè)基石的牢固。
項(xiàng)目的開(kāi)始應(yīng)該對(duì)系統(tǒng)涉及到的數(shù)據(jù)進(jìn)行詳細(xì)規(guī)劃,由數(shù)據(jù)量和數(shù)據(jù)類(lèi)型、數(shù)據(jù)需求確定如何對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),然后再對(duì)數(shù)據(jù)庫(kù)進(jìn)行技術(shù)選型。數(shù)據(jù)庫(kù)的不同對(duì)軟件的實(shí)施成本影響極大,使用Oracle和mySql,甚至Access或文本系統(tǒng)是完全不同的,國(guó)內(nèi)盜版的橫行和版權(quán)意識(shí)的缺失,更助長(zhǎng)了濫用的風(fēng)氣。
另一個(gè)方面,架構(gòu)師或者DB應(yīng)該對(duì)各種持久化技術(shù)有所了解?,F(xiàn)在很多公司的技術(shù)模式是習(xí)慣影響設(shè)計(jì),而不是需求影響設(shè)計(jì),用慣了Oracle就不會(huì)再用sqlServer, 更別說(shuō)mySql了,一個(gè)簡(jiǎn)單的存儲(chǔ),或者一個(gè)小規(guī)模系統(tǒng)也要上Oracle,這種現(xiàn)象還是很普遍的,甚至很多小系統(tǒng)根本不需要數(shù)據(jù)庫(kù)的支撐卻使用企業(yè)級(jí)數(shù)據(jù)庫(kù),有些技術(shù)人員脫離了數(shù)據(jù)庫(kù)就不知道軟件怎么做,增刪改查+UI控件就是一個(gè)技術(shù)人員的全部技能,這種人不在少數(shù),這里并不是批評(píng)程序員,是整個(gè)行業(yè)的浮躁和氛圍影響了每個(gè)人。本人也僅僅是意識(shí)到這個(gè)問(wèn)題,并從自身在改善這種現(xiàn)狀。
精力所限,先簡(jiǎn)單寫(xiě)這么多。
注:相信有技術(shù)優(yōu)秀的公司已經(jīng)做的不錯(cuò)了,但是在國(guó)內(nèi)這種公司一定是鳳毛麟角。
【爭(zhēng)論】
關(guān)于數(shù)據(jù)庫(kù)做多少事適合的問(wèn)題是個(gè)爭(zhēng)論很久的話(huà)題,讓數(shù)據(jù)庫(kù)處理業(yè)務(wù)邏輯是最高效的,缺點(diǎn)是維護(hù)和移植困難。像oracle這樣的數(shù)據(jù)庫(kù)的確提供了非常強(qiáng)大的功能,數(shù)據(jù)存儲(chǔ)只是其最最基礎(chǔ)的功能,但我覺(jué)得對(duì)于常規(guī)應(yīng)用,除非很必要,盡可能的還是要讓數(shù)據(jù)庫(kù)少做事,從設(shè)計(jì)到實(shí)現(xiàn),現(xiàn)在用的面向?qū)ο笳Z(yǔ)言的可塑性遠(yuǎn)比數(shù)據(jù)庫(kù)語(yǔ)言要好很多。
原文鏈接:http://www.cnblogs.com/mexi/archive/2011/07/03/2096724.html
【編輯推薦】