xml文件存儲數據
A. 做一個網站,把數據保存在xml文件中,跟把數據保存在資料庫中,區別有多大
實話實說,個人接觸到使用Xml文件方式來保存數據的場景少之又少。除去求學期間根據課堂要求做靜態網站時用於存儲一些展示性數據,還有就是在WPF開發中保存一些常用但又不經常變化的離線數據。反而常使用Xml來做配置文件(例如SpringMvc、MyBatis和LogBack)網路數據傳輸和交互標准(例如WebService)、工作流設計(例如Activiti6)等情況較為常見。
Xml用於單設備數據存儲的情況還說得過去,例如離線數據同步可以放在Xml數據文件中。在傳統行業電商平台的規格,材質,產區等屬性相對固定,Xml文件能很好勝任。再比如做一個內部使用的抽獎程序,將潛在用戶群體以Xml方式保存也是不錯的選擇吧。所以Xml文件充當小型離線資料庫還行。
而資料庫的范圍就比較寬泛,大致可以分為關系型資料庫和非關系型資料庫兩大類。
關系型資料庫以Oracle和MySql最為流困念渣行,學過編程的朋友應該耳熟能詳,也是職場面試經久不衰的考察重點。
而NoSql算是後起之秀。在業務繁多復雜的當下,一些場景下關系型資料庫應付起來相當吃力,有著更為復雜分類的非關系型資料庫孕育而生。NoSql在搜索引擎(ElasticSearch)、鍵值(redis)、面向文檔(Mongodb)和列存儲(Hbase)等方面都能做高拆到得心應手。這些就讓其有著更強的業務針對性,相比傳統關系型資料庫有著質的提升。下面簡單列舉幾個應用場景。
Redis可用於計數、分布式鎖實現、單點登錄、限流和緩存數據等;
在復雜頁面的數據不便以表數據結構保存時,使用Mongodb整頁存儲方便又簡單;
Elasticsearch就是以空間換時間典型代表,在做搜索引擎和日誌記錄(ELK)等方面有很大優勢;
Hbase不必再像關系型資料庫那樣以行為存儲單元,而是以列為基準,非常便於數據結構拓展。
當下流行徽服務和各種解耦,連關系型資料庫都不再設計外鍵關系,非關系型資料庫大行其道,Xml文件用來汪悄保存數據顯然已經不合時宜,當然也不能否認關系型資料庫的地位和Xml的作用。重要數據或某些行業的特殊性還是要以關系型資料庫為根基,畢竟事務、穩定性、安全性和技術恢復支持等方面需要考慮的重點。