程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 為何不用MySQL?_MySQL教程

為何不用MySQL?_MySQL教程

編輯:關於MYSQL數據庫

注意:這篇文檔寫於2000年5月。因此,它並不能說明MySQL的最新特性。但從中我們仍然可以了解RDBMS的一些基本概念、原理,從而在實踐中更好地應用數據庫,同時也才能對一些不實的炒作保持必要的警惕。

 為何不用MySQL?

作者:Ben Adida  譯者:馬維達

幾乎每周、有時甚至更為頻繁,總有人會問我們為何不采用MySQL作為OpenACS的RDBMS(關系式數據庫管理系統)。ACS Classic team(ArsDigita)也一再地在他們的論壇上遇到同樣的提問。如果MySQL對於Slashdot來說足夠好的話,它也一定能夠用於OpenACS,不是嗎?

不對。 這篇簡短的論文將嘗試解釋為何MySQL不僅對OpenACS來說是錯誤的選擇,它也不應被用於任何處理關鍵數據的系統。

RDBMS的目的

RDBMS的目的是提供一種可靠的永久存儲機制,在ACID測試中具體表述了這種機制的非常嚴格的特性。我將直接引用Philip Greenspun的精彩解釋(以Oracle作為RDBMS的代表):

原子性(Atomicity)

事務的執行結果或者被全部提交、或者被全部回滾(roll back)。要麼所有的變動都生效,要麼就沒有變動生效。假定一個用戶正在編輯一條注釋,Web腳本告訴數據庫“將舊注釋值拷貝到審計表中,並用新文本更新活動表”。如果在拷貝之後、更新之前硬盤變滿的話,審計表插入就將被回滾。

一致性(Consistency)

數據庫從一種有效狀態轉換到另一種有效狀態。僅在服從用戶定義的完整性約束時,一個事務才是合法的。不允許非法的事務,而且,如果不能滿足某完整性約束的話,該事務會被回滾。例如,假定你定義了一條規則:論壇表中的帖子必須與有效的用戶ID相關聯。然後你雇用了Joe Novice來編寫管理頁面。Joe編寫了一個刪除用戶頁面,它不會檢查刪除是否會產生一些無主的論壇帖子。然而像Oracle這樣的RDBMS將會進行檢查,並中止任何事務,如果它產生的論壇帖子為已被刪除的用戶所擁有的話。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved