天天看點

普通檔案和資料庫存儲的對比

在大多數企業開發或web開發中,都會涉及資料的存儲和檢索。存儲資料有兩種基本的方法:儲存到普通檔案中(file system),或者儲存到資料庫(database)中。

檔案存儲常見,并且簡單,作業系統提供的完善的api,是以在早期項目中都會使用檔案作存儲載體。但是随着企業業務越來越複雜,網站通路量也越來越大時,對資料的并發性和檢索速度有更高的要求。是以慢慢的也就引入使用資料庫作為資料存儲了。

使用普通檔案的遇到的問題:

當檔案變大時,使用普通檔案将會變得非常慢,通路速度制約了應用性能

在一個普通檔案中查找特定的一個或一組記錄将非常困難。

處理并發通路可能遇到問題。雖然可以使用鎖定檔案來操作檔案,但是多個腳本通路檔案時可能導緻競争條件的發生,它可能導緻應用出現性能的瓶頸。

普通檔案在順序通路時具有優勢,但是在随機通路資料時可能非常困難。除非你将整個檔案讀入到記憶體中,在記憶體中修改它,然後将整個檔案寫回去

除了使用檔案通路權限作為限制外,還沒有一個簡單高效的方法區分不同級别的資料通路權限機制。

關系資料庫關系系統如何解決檔案存儲暈倒的問題:

提供了比普通檔案更快的通路速度。

可以很容易查找并檢索滿足特定條件的資料集合

具有内置的處理并發通路機制。作為一個程式設計人員,不需要處理這些内容。

可以随機通路資料

具有内置的權限系統,有靈活的角色和權限管理功能。

如果要建立一個簡單的系統或者應用,而又覺得

不需要一個功能全面的資料庫系統時,我們可以使用sqlite。使用sqlite來作為一個中間人,一方面操作起來像普通檔案一樣友善和快捷,另一方面提

供了資料庫具有基本事務處理能力,和操作檔案提供了一個基本的sql接口。當然sqlite更多是作為應用或産品的嵌入式資料庫,最主要是它開源的。