2010-04-03 58 views
4

大多數項目現在需要某種形式的數據庫。當有人說數據庫時,我通常會考慮關係數據庫,但我仍然聽說過平面文件XML數據庫。XML平面文件與關係數據庫後端

在確定「真實」數據庫和平面文件XML數據庫之間,您考慮了哪些參數。什麼時候應該使用另一個,在什麼情況下我不應該考慮使用平面文件(反之亦然是關係數據庫)?

+0

我會說大小和併發性。對於像只有1個更新程序的CMS這樣的東西,XML存儲可能非常棒。我正在使用這種方式構建的GetSimple,我對此非常滿意。 – 2015-12-28 16:56:39

回答

4

沒有這樣的事情作爲一個XML平面文件數據庫。 Flat xml文件是非數據庫,因爲它們沒有像索引這樣的更高級功能 - 可以使用更大的數據集以及沒有任何索引的搜索或分析查詢。

XML數據庫是另一個主題,可能有他們的需求(內容管理,一般文檔存儲 - 從數據庫的角度來看,您不太關心複雜的模式)。

平面文件適用於像設置8小文件等),但真正的數據庫是一個真正的數據庫。 ACID條件很難保證平面文件。

+6

我不同意。一個XML平面文件可以是一個數據庫。平面文件可以是數據庫。他們不是DBMS(數據庫管理系統)。 – Oded 2010-04-03 19:14:32

1

幾個參數要考慮的是數據的

  1. 金額
  2. 複雜數據

之間的數據

  • 關係如果我們有數據的低複雜度,沒有跨量少關係將比平面文件更適合平面文件,但在實際應用中,這種情況很少出現,因此您總是會經常使用關係數據庫。

  • 3

    添加到雷切爾的答案。

    • 併發
    • 讀與寫

    如果你有一些簡單的將是經常被讀出並不會發生太大的變化可能是更理想的使用平面文件並保存開銷。

    另一方面,如果您必須支持將要添加和更新數據的多個連接,則需要使用數據庫。

    +0

    對於寫作,讓我們說不頻繁的寫作,只有一個管理員。對於讀取,像MySQL這樣的關係數據庫會在多個連接上讀取嗎? – donpal 2010-04-03 19:35:14

    +1

    不,並且即使對於小數據量,它也會比XML更快地處理它們(更少的資源密集)。 – TomTom 2010-04-03 20:12:27

    0

    XML文件不是數據庫。閱讀喬爾的「迴歸基礎」文章,看看有何不同。

    +0

    超鏈接會很好;-) – 2015-12-28 16:57:32