濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Oracle與SQL Server在企業(yè)應(yīng)用的比較

Oracle與SQL Server在企業(yè)應(yīng)用的比較

熱門(mén)標(biāo)簽:語(yǔ)音電話機(jī)器人營(yíng)銷(xiāo)方案 淮安自動(dòng)外呼系統(tǒng)開(kāi)發(fā) 宜賓外呼系統(tǒng)廠家 地圖標(biāo)注原件 百變地圖標(biāo)注 修改高德地圖標(biāo)注 南通防封外呼系統(tǒng)運(yùn)營(yíng)商 語(yǔ)音電話機(jī)器人缺點(diǎn) 廣州市400電話辦理
正在看的ORACLE教程是:Oracle與SQL Server在企業(yè)應(yīng)用的比較。在我供職的公司不僅僅擁有Oracle數(shù)據(jù)庫(kù),同時(shí)還擁有SQL Server數(shù)據(jù)庫(kù),所以我經(jīng)常遇見(jiàn)人們向我提兩種問(wèn)題。

  第一種通常都是以"你能教我使用Oracle嗎?"開(kāi)始的,對(duì)此我比較禮貌的回答一般是"當(dāng)然可以,實(shí)際上我正準(zhǔn)備辦個(gè)Oracle學(xué)習(xí)班;準(zhǔn)備好之后我就叫你"。這是做好人的辦法,我沒(méi)有告訴詢(xún)問(wèn)者這可能花費(fèi)我數(shù)周的精力。有時(shí)候我進(jìn)一步告訴他們可以在哪兒去下載Oracle的完整版本,以供他們安裝和熟悉。但是有時(shí)候這樣做給我?guī)?lái)了麻煩,因?yàn)樗赡苷衼?lái)過(guò)多的追隨者。

  第二種一般是這樣開(kāi)頭的"我們遇到了SQL Server的一些問(wèn)題,我想看看Oracle是如何處理這個(gè)問(wèn)題的"。好的,我們終于有了一些進(jìn)展了。我可以為他們提供幫助,但是這不會(huì)占用我數(shù)小時(shí)時(shí)間。它應(yīng)該是對(duì)某個(gè)特定問(wèn)題進(jìn)行了慎重地考慮之后的敘述,Oracle對(duì)這個(gè)問(wèn)題的答案將為詢(xún)問(wèn)者指出一條道路,可能引導(dǎo)它們解決SQL Server的問(wèn)題。詢(xún)問(wèn)者接者問(wèn)"我們的SQL Server數(shù)據(jù)庫(kù)變得太大了--Oracle如何處理這個(gè)問(wèn)題呢"?唉...看來(lái)我說(shuō)錯(cuò)了。 

  我想提供幫助,但是...

  我的方法也許一直都是錯(cuò)的。也許我應(yīng)該寫(xiě)一個(gè)總結(jié)材料,歸納可能涉及到的一些問(wèn)題。當(dāng)其他人向我尋求幫助的時(shí)候,我就可以把這個(gè)問(wèn)題列表給他了。如果那個(gè)人正在接受普通的Oracle啟蒙教育,這個(gè)列表也許稍微廣泛了一些。另一方面,如果詢(xún)問(wèn)者在搜索特定的和可以量化的問(wèn)題的解決方案,這個(gè)手冊(cè)也可以幫助他們沿著正確的方面前進(jìn),這樣他們就可以在自己的桌面上找到答案。

  但我沒(méi)有這樣做,因?yàn)檫@樣做花的時(shí)間太多了。盡管我盡可能地幫助這些"寄居者",但是我真的擔(dān)心為他們花費(fèi)了太多的時(shí)間,偏離了自己的航向。這樣做將是個(gè)不好的先例。它會(huì)鼓勵(lì)他們?cè)谀硞€(gè)時(shí)刻遇到某些苦惱的時(shí)候再次回來(lái)向我求助。作為代替,我僅僅花幾分鐘時(shí)間談一下SQL Server中的設(shè)計(jì)瑕疵。體系結(jié)構(gòu)所涉及到的內(nèi)容是不能改變的。如果你鉆研數(shù)據(jù)庫(kù)平臺(tái)對(duì)比判斷的技術(shù)細(xì)節(jié),一般都無(wú)法得到那些不言自明的原理。相反地,如果你決定使用微軟的數(shù)據(jù)庫(kù)平臺(tái),這些問(wèn)題就一定存在。它的特性或缺陷可能被我們處理得較好,但是產(chǎn)品基本的機(jī)制不容易改變--當(dāng)然也不容易被封閉源代碼軟件的最終用戶(hù)所改變。當(dāng)然,有些辦法可以減輕痛苦,但是卻無(wú)法克服這些問(wèn)題。兩個(gè)平臺(tái)之間有很大的差異,更不用說(shuō)很多問(wèn)題的起源之間的差異了。

  請(qǐng)記住,我不是維護(hù)街上花店的系統(tǒng)。微軟正在盡自己最大的力量進(jìn)入企業(yè)中,進(jìn)入Oracle的領(lǐng)地。因此我要討論的是:企業(yè)級(jí)系統(tǒng)管理員所關(guān)心的問(wèn)題。 我所關(guān)心的是...

  由于公司需要使用管理企業(yè)級(jí)系統(tǒng)(我們公司是SAP),我更喜歡使用多用戶(hù)(multiuser)數(shù)據(jù)庫(kù)?,F(xiàn)在你可能認(rèn)為我使用這個(gè)術(shù)語(yǔ)太輕率了。實(shí)際上有大量的用戶(hù)在多用戶(hù)環(huán)境中使用SQL Server,不是嗎?但是他們處理大量的并發(fā)用戶(hù)是受到平臺(tái)的影響,還是不管并發(fā)用戶(hù)的?例如,我們來(lái)看看鎖(locking)的問(wèn)題。開(kāi)始,微軟告訴你"讀取者-阻塞-寫(xiě)入者"的機(jī)制很好,很安全。它會(huì)告訴你這個(gè)機(jī)制防止了用戶(hù)執(zhí)行"錯(cuò)讀(dirty read)"。不要相信這種鬼話;它只是性能低下的一個(gè)借口。這使我想起了Sun長(zhǎng)期堅(jiān)持認(rèn)為64位系統(tǒng)不必要的立場(chǎng)。不必要是指他們銷(xiāo)售這種產(chǎn)品之前沒(méi)有必要存在。接下來(lái),某一天Scott McNealy在你面前高談不斷增長(zhǎng)的物理內(nèi)存尋址的優(yōu)點(diǎn)。

  那么什么是"錯(cuò)讀"?微軟會(huì)告訴你,如果某個(gè)人正在更新一個(gè)數(shù)據(jù)行,而你準(zhǔn)備讀取這個(gè)處于更新之中的數(shù)據(jù)行,就會(huì)出現(xiàn)錯(cuò)讀。錯(cuò)讀=壞數(shù)據(jù)--這是微軟希望你相信的內(nèi)容。但是如果某個(gè)更新操作很長(zhǎng)時(shí)間沒(méi)有提交會(huì)出現(xiàn)什么情況?數(shù)據(jù)實(shí)際上沒(méi)有真的被改變。如果那個(gè)更新操作在事務(wù)的末尾回滾了又會(huì)出現(xiàn)什么情況呢?這些讀取者的等待得到了什么東西?什么也沒(méi)有。

  這就好像我在一家超市里,站在果汁面前,試圖決定買(mǎi)哪一種。我知道自己會(huì)選擇一種,我知道我的小孩明天早餐需要喝果汁。我已經(jīng)伸出了手,但是還沒(méi)有決定拿哪一種。上周我買(mǎi)的是蘋(píng)果汁,上上周買(mǎi)的是什么呢?白葡萄汁。我想現(xiàn)在是不是該買(mǎi)酸葡萄汁了。另一方面,我在思考的時(shí)候你正好站在我后面,你可能在想"這個(gè)白癡什么時(shí)候才能拿一瓶,并且不要擋住我呢?我可知道自己想要什么"!

  你會(huì)發(fā)現(xiàn),我們都站在微軟的雜貨店前面,在你能夠看見(jiàn)有哪些東西可以使用之前,你不得不等待,直到我做出決定為止。你看到了誘人的酸葡萄汁正擺放在貨架上,而我也許會(huì)買(mǎi)下它,這對(duì)于你來(lái)說(shuō)根本是沒(méi)有意義的。因?yàn)槲铱赡苤皇强纯?,但是微軟知道你希望?gòu)買(mǎi)水果汁,因此你必須等待我停止閑逛或者選中某樣?xùn)|西,而這個(gè)過(guò)程都發(fā)生在你得到任何東西之前。

  Oracle會(huì)使你更渺小、更容易的查看數(shù)據(jù)嗎?

  在街上的Oracle店里,你可以整天查看哪些東西可以使用,即使我已經(jīng)查看了,或者我正處在挑選東西的過(guò)程中??赡芄姆N類(lèi)更多,可能我更渺小了,誰(shuí)知道呢?無(wú)論是哪種情況,我都沒(méi)有真正做出決定,因此為什么不讓你看看有些什么東西呢?也許我會(huì)拿走最后一瓶酸葡萄汁,也許不會(huì)。但是你看到有些什么東西會(huì)有什么壞處嗎?你可以打電話給妻子,告訴她"我忘了你要什么東西了,但是這兒有些什么..."

  你會(huì)發(fā)現(xiàn),在Oracle中,讀取者所關(guān)心的是,里面不存在長(zhǎng)時(shí)間的、持續(xù)很久的數(shù)據(jù)行更新。我可能在內(nèi)存中修改某個(gè)數(shù)據(jù)行,盡管與其它的人有關(guān),但是該數(shù)據(jù)行不會(huì)被更新,直到我真正地發(fā)出提交命令。實(shí)際上,我可能不是一個(gè)很好的程序員,可能在提交之前,把數(shù)據(jù)行保持很長(zhǎng)時(shí)間。或者我可能決定根本不修改記錄,只是進(jìn)行回滾操作。因此,根本就沒(méi)有數(shù)據(jù)發(fā)生改變,但是同時(shí),你也可以繼續(xù)自己的業(yè)務(wù),不管我是否登錄進(jìn)系統(tǒng)中,更不用管我是否正在進(jìn)行更新操作。但是,一旦我修改了數(shù)據(jù)行,并發(fā)出了提交命令,數(shù)據(jù)行才會(huì)改變,并且直到那個(gè)時(shí)候你才讀取到新的值。因?yàn)橹钡侥莻€(gè)時(shí)候新的值才正式存在。 

  你可能認(rèn)為這是很小的差異。但是我可以告訴你,它是至關(guān)緊要的一個(gè)。當(dāng)你必須支持對(duì)相同范圍的相同數(shù)據(jù)表進(jìn)行幾個(gè)并發(fā)的更新的某個(gè)系統(tǒng)的時(shí)候,如果同時(shí)始終有幾個(gè)用戶(hù)在查詢(xún)你正在操作的數(shù)據(jù),你會(huì)發(fā)現(xiàn)"讀取者-阻塞-寫(xiě)入者"機(jī)制將使產(chǎn)品停止運(yùn)作。這種情況在企業(yè)系統(tǒng)中根本就是不可接受的。

  也許我們以后還可能討論其它的一些架構(gòu)方面的問(wèn)題。例如:

  · 由于內(nèi)存不足造成鎖逐步增加

  · 由于SQL Server無(wú)法支持讀操作的一致性,從而返回錯(cuò)誤的數(shù)據(jù) 

  · 類(lèi)似DBCC的時(shí)間密集型維護(hù)事務(wù)來(lái)檢測(cè)/防止性能惡化

  · 微軟的"自我調(diào)節(jié)"數(shù)據(jù)庫(kù),在很多情況下會(huì)妨礙數(shù)據(jù)庫(kù)管理(DBA)

  · 無(wú)論TPC結(jié)果如何,SQL Server都缺少伸縮性

  當(dāng)然,還有更多的問(wèn)題需要解決,不過(guò)今天就到這里。

標(biāo)簽:通化 嘉峪關(guān) 聊城 襄陽(yáng) 池州 南平 南平 股票投資

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle與SQL Server在企業(yè)應(yīng)用的比較》,本文關(guān)鍵詞  Oracle,與,SQL,Server,在,企業(yè),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle與SQL Server在企業(yè)應(yīng)用的比較》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Oracle與SQL Server在企業(yè)應(yīng)用的比較的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    佛坪县| 花垣县| 庆云县| 姚安县| 璧山县| 婺源县| 琼中| 乌鲁木齐市| 甘孜县| 姚安县| 桑植县| 浑源县| 美姑县| 迁西县| 木兰县| 嘉峪关市| 漳浦县| 松潘县| 南江县| 教育| 南宫市| 东光县| 顺平县| 呼伦贝尔市| 南乐县| 会昌县| 泗洪县| 泽州县| 泾川县| 旺苍县| 蓝田县| 夏津县| 梅河口市| 康保县| 丰台区| 安龙县| 尚志市| 绥阳县| 离岛区| 孟村| 体育|