做一个网站,把数据保存在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的作用。

重要数据或某些行业的特殊性还是要以关系型数据库为根基,毕竟事务、稳定性、安全性和技术恢复支持等方面需要考虑的重点。

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复

    作者信息

    标签TAG

    相关文章