簡體   English   中英

使用XML和MySQL數據庫的差異在哪里? 我應該使用哪個?

[英]Where are the differences using XML and MySQL database? Which should I use?

好吧,我知道它有點愚蠢。 如果我想存儲大量數據。 我應該使用xml還是數據庫(mysql)?

你為什么選擇一個?

使用xml有什么優缺點?

使用mysql有什么優缺點?

Clubpenguin,habbo酒店,那些虛擬世界都在使用xml或mysql?

MySQL(或SQL Server,Oracle,DB2等)是數據庫引擎:它們是為數據存儲和處理而構建的特定應用程序,並且非常擅長這樣做; 它們也可以在與主程序不同的服務器上運行,從而實現負載共享。

XML文件只是存儲在您的計算機或其他文件上的文本文件; 它們需要被讀取,解析和寫入,只有你的程序才能這樣做。 由於它們的文本性質,它們也非常非常低效:讀取和解析文本文件非常慢,修改它更糟糕。

XML文件適用於存儲配置設置和在不同系統之間傳遞數據,但數據存儲和處理絕對應該存在於適當的DBMS中。

此外, 強制性Joel Spolsky參考

考慮一下,如果您的XML文檔包含嵌套的person元素,其中包含有關每個用戶的信息,並且您有3000個用戶。 如果你想為一個人提取信息,那么你將完成解析這個龐大文件的任務,找到那個人的信息。 您可能可以使用一些聰明的搜索來跳轉文件,但最終會有很多順序訪問。

使用數據庫,您通常會有索引,這樣您就可以非常快速地執行上述搜索任務。 在上面的場景中,在索引表中查找個人可能會快100倍。

這很大程度上取決於您要存儲的數據類型。 如果您主要存儲面向文檔的東西,XML可能是一個不錯的選擇。 如果要存儲大量小型層次結構,則XML可能比SQL更好。 讀取和解析XML文件的時間肯定是從數據庫中獲取簡單查詢所需的時間。 但是,如果您的數據不能自然地適應數據庫,那么查詢的成本可能會急劇上升,實際上不僅僅是使用XML文件。

您可以嘗試的另一個選項是使用XML數據庫,例如Xindice( http://xml.apache.org/xindice/ )。 XML數據庫目前使用的並不多,主要是因為我們沒有關於層次數據庫的良好數學理論。 但如果你有正確的問題,它們真的很有用......

Markmail.org可能會給你帶來驚喜 - 它是一個xml商店。

閱讀Ron Burret( http://www.rpbourret.com/xml/XMLAndDatabases.htm )是該主題的重要來源。

這似乎更像是StackOverflow問題,而不是ServerFault問題。 無論如何..

如果需要隨機訪問數據元素,請使用真實數據庫。 如果您只是進行批處理或其他什么,xml將起作用,但數據庫仍然可以。

如果您不需要存儲具有關系屬性的數據,則可以嘗試使用鍵/值存儲或面向文檔的數據庫而不是RDBMS,以獲得更好的性能/可伸縮性,以換取更少的功能。

好吧,我知道它有點愚蠢。 如果我想存儲大量數據。 我應該使用xml還是數據庫(mysql)?

首先, XML本質上是層次結構 ,而MySQL關系型的

如果要將數據存儲為XML文檔:

<customer>
 <address/>
 <address/>
</customer>

,獲取客戶的所有地址非常容易,但獲取給定地址的客戶卻不那么容易。

其次, XML更加面向用戶。 您可以使用自己喜歡的文本編輯器輕松編輯它。 MySQL ,它並不那么容易。

鑒於上述情況,如果您的數據是分層的,尺寸較小,並且您需要在沒有任何前端的情況下輕松編輯它們,請使用XML

如果您的數據是關系型的,並且您需要對大量數據進行快速設置操作,請使用MySQL

大多數大型網站都使用像MySQL這樣的數據庫。

您需要回答的最重要的問題是您希望如何訪問數據。 如果你想讓很多人每秒多次查看(例如一個受歡迎的網站),那么使用像mysql這樣的數據庫。

我相信他們更有可能將完全成熟的DBMS用作后備存儲,並且只生成/解析XML作為接口。

XML非常重,無法用於高數據存儲數據庫。

結構過於嚴重,即使你有某種服務器啟動,解析,然后根據XML數據運行,初始化時間也會很凶,每次寫入時都會有數據重新編譯階段。 。

RDBMS的優勢在於具有更高效的打包數據存儲,可通過記錄和多個數據存儲以及多個指標進行可預測的搜索/搜索。

XML不是數據庫,它是一種文件格式(或者更確切地說,是一種輸入或輸出流格式)。 它允許您使用XML的語法元素定義自己的格式,然后您可以將內存對象轉換為XML流並將其保存到磁盤。

mySQL是一種軟件產品,屬於稱為DBMS(數據庫管理系統)的產品類。 DBMS管理您的數據並提供各種存儲,檢索,索引,查詢和事務功能。

您需要決定的是您是需要文件格式還是管理系統。 根據這一點,您的選擇可能是XML(或其他一些格式,例如JSON或純文本文件)或mySQL(或其他關系DBMS,例如MS SQL Server或Oracle - 或者甚至可能是非關系型DBMS) 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM