MDA之路

          MDA,UML,XML,Eclipse及Java相關的Blog
          posts - 53, comments - 494, trackbacks - 0, articles - 2
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          XML和數據庫之比較

          Posted on 2005-01-25 22:20 wxb_nudt 閱讀(2159) 評論(1)  編輯  收藏 所屬分類: 技術雜談

          靈感來自于中國XML論壇,看到某篇文章的隨想。

          XML與數據庫相比,處理能力當然不能比。但是一個小型的Web應用,是不是非要大動干戈的動用數據庫呢?一旦用上了數據庫,就需要建表、配置、寫JDBC代碼。對于小型的數據,例如不大于10M的數據來說,使用XML作為存儲機制不見得就比數據庫差。而且熟悉XML的人可以很快用DOM/SAX存取XML中的數據,這些數據還可以用DTD/Schema來維護其有效性。非數據庫的XML Web應用,應該可以在原型系統中發揮很好的作用。
          這里將XML和數據庫做一下比較:
          1.事務處理:XML沒有,或者需要手動編碼;數據庫有事務處理能力;
          2.主鍵:XML可以用Schema設定,數據庫可以直接設定,相當;
          3.數據有效性:XML可以用Schema設定數據的有效性,還包括數據結構的有效性;數據庫可以對每個數據進行有效性檢測,但是數據庫只能維持表格這一種結構,能力好像還不及XML;
          4.效率:小型數據,XML有優勢,因為只是文件讀寫,數據量少幾乎只剩下打開文件的時間;數據庫要建立連接再讀數據,在處理小型數據時反而效率低。不過數據量越大數據庫越有優勢,對于海量數據,用XML簡直是開玩笑;
          5.開發難易度:單純以存取數據而言,XML程序是非常容易寫的,而數據庫需要的背景知識和代碼就要多很多,不過也可以用SQL語言一招吃遍天。但是數據庫的配置等等也是比較復雜的。總的來說XML要容易;
          6.平臺無關性:這個XML就占了大便宜了,XML是完全徹底的平臺無關,比JAVA靠虛擬機來達到平臺無關不知道高尚了多少倍。而數據庫哪怕是經過ODBC,JDBC一串的轉換,恐怕還是和平臺有很大的關系,一旦需要移植,不可避免的傷筋動骨。

          做個小總結,在數據量不超過一個“臨界值”的時候,還是用XML作為數據存儲方式要合算,但是一旦涉及海量數據,數據庫是唯一的選擇了。
          這個臨界值是多少?我認為一是要看程序對實時性的要求強不強,二是要看具體的XML程序本身,它的Schema,它使用的解析器等等。


          評論

          # re: XML和數據庫之比較  回復  更多評論   

          2007-08-23 15:33 by 天天看海
          好文章,支持一下,如果能想寫SQL語句那樣讀取XML文件內容,就更方便了,似乎有這樣的技術了吧
          主站蜘蛛池模板: 阜平县| 阳泉市| 毕节市| 台东县| 西吉县| 广昌县| 林芝县| 乌兰察布市| 保亭| 襄汾县| 陆川县| 温宿县| 彭水| 澎湖县| 浙江省| 安达市| 读书| 黔东| 马关县| 安仁县| 泰州市| 南皮县| 武胜县| 许昌县| 东丽区| 澎湖县| 万州区| 双鸭山市| 攀枝花市| 安庆市| 阳朔县| 紫云| 泉州市| 贵州省| 昌江| 滁州市| 霞浦县| 芜湖市| 日照市| 广丰县| 玉环县|