2009-05-19 21 views
2

我有一個基於JSP和XML的輕量級在線購物網站,我想知道這個系統的特殊弱點與PHP和MySQL相反嗎?輕量級購物網站中數據庫的優點與XML相反嗎?

我知道JSP可以使用Java的API,但我覺得PHP與HTML更多的「自然」的關係,也有被動態類型的好處,而且是更爲廣泛和有需求的。是否有一個原因?

+0

對於大量數據,XML無法很好地擴展 – 2012-12-22 11:03:59

回答

17

我會說在數據庫中的XML解決方案的主要缺點之一將是:

  1. 搜索速度
  2. 更新速度
  3. 可擴展性
  4. 併發(感謝喬納森)
+4

更不用說,一旦站點成功,您就可能遇到DBMS解決的併發問題。 – 2009-05-19 13:26:43

+0

XML非常適合數據傳輸。當用作關係數據存儲庫時,它失去了一些魅力。 – 2010-08-04 16:52:18

0

由於性能問題,使用XML作爲電子商務的數據存儲並不常見,而且,因爲(My)SQ L效果很好。如果您想嘗試新的東西,請將XML與MySQL交換。我沒有看到改變編程語言的任何真正的好處,事實上,如果你改變語言,我認爲你會注意到顯着的生產率下降。

2

PHP一般比較普遍和需求,因爲它有一個非常小的學習曲線,很容易讓一個休閒開發商拿起並開始使用。它也不會因爲它通常捆綁在基於Linux的服務器上的大多數Apache安裝而受到傷害。

由於上述的結果,還有更多的好(和壞的!),可以幫助一個初出茅廬的開發人員PHP不僅僅是關於那裏的任何語言,它創建了一個滾雪球效應的資源。

要回答你原來的問題有關XML,除了極少數項目上的低容量存儲基本的購物車執行可能不會打破使用您所描述的架構,但像搜索項目數據庫,跟蹤行動庫存等最好留給數據庫。

也就是說,換成數據庫並不意味着如果這就是您已經使用過的那樣,您需要離開JSP。

0

相關,但偏離主題:你說「輕量級」?在這種情況下,SQLite的能夠擊敗XML和數據庫..

1

如果你在哪裏,你預計有實體之間的關係的情況下,我發現XML是顯著更困難比的關係數據庫工作。不僅要確定存在哪些關係會導致問題(要求您在內存中維護這些關係的映射或者重複讀取大量文件集),但保持參照完整性對於XML來說是一個很大的麻煩。即使按照某些分類法(X是割草機是一種戶外設備是一種......)對項目進行分類這樣簡單的事情,也會成爲XML的問題,因爲您將不得不開發一些外部工具來確保您使用一致的詞彙。使用RDBMS,您只需擁有一個包含父級和子級ID的術語表。商店中的任何商品都可以引用分類標識。

當我試圖做太多與XML,我發現自己粗暴地重現一些的RDBMS中最有用的功能與外部工具草率集合。

5

輕量級是相對的。去找數據庫解決方案。你永遠不知道什麼時候你的「輕量級」站點變成「關鍵任務」

0

如果你只存儲交易數據,你就沒有任何RDB無法解決的問題。但是如果你的數據更面向文檔(混亂),你可能想看看幾個本地XML數據庫及其XQuery接口中的任何一個。

eXist,Documentum xDB,Oracle Berkeley,MarkLogic(用於大事)只是其中的一小部分。您可能也有興趣http://en.wikibooks.org/wiki/XRX

0

在不同的粘性上,你可以看看在couchdb中的json。

2

我有一個基於JSP和XML的輕量級在線購物網站,我想知道這個系統的特殊弱點與PHP和MySQL相反嗎?

JSP和PHP都是視圖技術。 JSP具有Java(EE)支持的優勢,這是一種強大的語言和平臺。 PHP的優勢在於是有史以來最簡單,最公共的可採用的Web編程語言。缺點說明了一切。

爲了開發一個強大的Web應用程序,遵循OO思想,選擇JSP(只要你沒有在90年代使用scriptlets嵌入原始Java代碼)。如果您急於和/或不關心未來的可維護性,並希望在一天內開發電子商務網站,請選擇PHP。

XML和RDBMS都是存儲數據的方式。然而,RDBMS提供了使用SQL作爲語言來選擇和操縱特定數據的能力,這些數據可以比XML更高效地完成。

將JSP + XML與PHP + MySQL進行比較有點像蘋果與桔子的比較。然而,XML讓你更像是一個數據存儲,所以你會更喜歡MySQL「儘管」它與PHP一致。但是,您可以使用Java訪問數據庫。首先,你有JDBC API。總而言之,我更喜歡JSP + SQL。

我知道JSP可以使用Java API,但是我覺得PHP與HTML有着更「自然」的關係,並且還具有動態類型化的好處,並且更加廣泛和更加需要。是否有一個原因?

這對那些對編程一無所知的人來說是最容易找到的。所有你需要的是一個簡單的網絡服務器和一個文本編輯器。使用PHP進行開發非常快,因爲它具有即時反饋,Web上提供了無數的教程和代碼片段。此外,您還有更多的選擇免費 PHP的網絡託管,而你必須支付更多的一個堅實的JSP/Servlet託管。