文件系統和數據庫系統的主要區別

文件系統和數據庫系統的主要區別

早期的數據庫管理都是採用文件系統。在文件系統中,數據按其內容、結構和用途組成若干命名的文件。文件一般爲某個用戶或用戶組所有,但可供其他用戶共享。用戶可以通過操作系統對文件進行打開、讀、寫和關閉等操作。

文件系統有明顯的缺點:
(1).編寫應用程序很不方便。
應用程序的設計者必須對所用的文件的邏輯及物理結構有清楚的瞭解。操作系統 只能打開、關 閉、讀、寫等幾個低級的文件操作命令,對文件的查詢修改等處理都須在應用程序內解決。應用程序還 不可避免地在功能上有所重複。在文件系統上編寫應用程序的效率不高。
(2).文件的設計很難滿足多種應用程序的不同要求,數據冗餘經常是不可避免的。
爲了兼顧各種應用程序的要求,在設計文件系統時,往往不得不增加冗餘的數據。數據冗餘不僅浪費空間,而且會帶來數據的不一致性(inconsistency).在文件系統中沒有維護數據一致性的監控機制,數據的一致性完全有用戶負責維護。在簡單的系統中勉強能應付,但在大型複雜的系統中幾乎是不可能完成的。
(3).文件結構的修改將導致應用程序的修改,應用程序的維護量將很大。
(4).文件系統不支持對文件的併發訪問(concurrent access)。
(5).數據缺少統一管理,在數據的結構、編碼、表示格式、命名以及輸出格式等方面不容易做到規範化、標準化;數據安全和保密方面,也難以採取有效的辦法。

針對文件系統的缺點,人們發展了以統一管理和共享數據爲主要特徵的數據庫系統。在數據庫系統中,數據不再僅僅服務於某個程序或用戶,而是看成一個單位的共享資源,由一個叫數據庫管理系統(Data Management System,簡稱DBMS)的軟件統一管理。由於有DBMS的統一管理,應用程序不必直接介入諸如打開、關閉、讀寫文件等低級的操作,而由DBMS代辦。用戶也不必關係數據存儲和其他實現的細節,可在更高的抽象級別上觀察和訪問數據。文件結構的一些修改也可以由DBMS屏蔽,使用戶看不到這些修改,從而減少應用程序的維護工作量,提高數據的獨立性。由於數據的統一管理,人們可以從全單位着眼,合理組織數據,減少數據冗餘;還可以更好地貫徹規範化和標準化,從而有利於數據的轉移和更大範圍的共享。由於DBMS不是爲某個應用程序服務,而是爲整個單位服務的,DBMS做得複雜一些也是可以接受的。許多在文件系統中難以實現的動能,在DBMS中都一一實現了。

例如:適合不同類型用戶的多種用戶界面,保證併發訪問時的數據一致性的併發控制(concurrent control),增進數據安全性(security)的訪問控制(access control),在故障的情況下保證數據一致性的恢復(recovery)功能,保證數據在語義上的一致性的完整性約束(integrity constraints)檢查功能等。隨着計算機應用的發展,DBMS的功能愈來愈強,規模愈來愈大,複雜性和開銷也隨之增加。目前,在一些功能非常明確且無數據共享的簡單應用系統中,爲減少開銷,提高性能,有時仍採用文件系統;不過在數據密集型應用系統中,基本上都使用數據庫系統。

現代的數據庫管理系統應該具備的7個功能:
1、提供高級的用戶接口
2、查詢處理和優化
這裏的查詢(query)泛指用戶對數據庫所提的訪問要求,不但包含數據檢索,也包括修改\定義新數據等
3、數據目錄管理
4、併發控制
5、恢復功能
6、完整性約束檢查
7、訪問控制

數據管理和數據處理一樣,都是計算機系統的最基本的支撐技術。儘管計算機科學技術經歷了飛速的發展,但數據管理的這一地位沒有變化。數據管理將作爲計算機科學技術的一個重要分支一直發展下去,社會信息化,對數據管理的要求也愈高。

原資源:http://hi.baidu.com/stanleywise/blog/item/f9c9753d4a67e2ee3c6d9741.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章