实话实说,个人接触到使用Xml文件方式来保存数据的场景少之又少。除去求学期间根据课堂要求做静态网站时用于存储一些展示性数据,还有就是在WPF开发中保存一些常用但又不经常变化的离线数据。反而常使用Xml来做配置文件(例如SpringMvc、MyBatis和LogBack)网络数据传输和交互标准(例如WebService)、工作流设计(例如Activiti6)等情况较为常见。
Xml用于单设备数据存储的情况还说得过去,例如离线数据同步可以放在Xml数据文件中。在传统行业电商平台的规格,材质,产区等属性相对固定,Xml文件能很好胜任。再比如做一个内部使用的抽奖程序,将潜在用户群体以Xml方式保存也是不错的选择吧。所以Xml文件充当小型离线数据库还行。
而数据库的范围就比较宽泛,大致可以分为关系型数据库和非关系型数据库两大类。
大家首先要明白,在计算机世界里,所有的“数据”并不是物理存在的。计算机只能理解0和1,而我们日常看见的各类文件、图片等只是数据的一种表现形式而己。
虽说计算机里的数据并不是物理存在的,但如果数据无法保存下来那计算机也就没有存在的价值,所以为了将数据落地,计算机系统可以将数据以某种特定的形式进行落地存储,便于后期查看和操作数据。
对于网站而言,只要不是纯静态网页,基本上都会将一些需要持久化保存的数据进行落地,落地方式有很多,比如说:
将数据写入到文件(txt文档、xml文档、其它自定义格式的文档等)中;
将数据写入到数据库中;
也没有那么玄乎。
简单的来讲xml, 能够存储的数据量很小。而sql存储的数据量会比较大。
从操作上面来说,sql的查询,过滤排序,都要比xml方便的多。
如果网站的数据量很小,确实是不需要使用sql的。
sql使用的数据库管理系统本身就需要安装,占用磁盘空间和计算机资源都比较多。
在网站程序中,文件一般用来存储不需要查询的、不经常变的数据,例如:配置信息。
而数据库是web2.0的标志,是动态网站的灵魂,没有数据库的网站就跟从文明世界退回到原始时代一样。
原理本质上就不班门弄斧了,就从应用开发(比如做网站)上说。
1)数据的类型
你不可能把啥都放 xml 中的,不然各大厂商数据库的存在是为了啥。
都放在 xml 中,数据量庞大时,xml 文件本身读取怎么优化,索引又要怎么实现..
所以一般 xml 都是放一些配置信息,不会真正做数据持久化存储。
业余解读:xml的用法 主要的不是 数据库的对应结构,它可以非对称的,可以将不同的结构整到一个xml文件中, 方便不同程序的 数据交换. 当然这个要提前约定 数据的名称 等.
用xml做数据库 不方便.
xml是文档,创建之后不好修改。
数据库存在的那天就是为了修改和检索的。
xml文档针对微博,文档等这些不要求实时同步的需求还是蛮好的,因为不需要数据库那种复杂笨重的守护进程来保持同步等情况。
而且那些需要关系型的场景,那数据库就是不二之选了!
看你的需求而取舍二者。
主要是看你的网站日流量有多大,小的话还能够解决,大了就够呛。xml文件保存的数据有限,而数据库存储的跟多一些。还有xml不方便数据的维护,而数据库方便一些,还有就是数据库里面,数据能够实时备份等等,好多功能xml都不能够实现。比较如果xml和数据库差别不大,应该还是有人会使用,但是市面上没有那个使用xml来存储数据的。
体积,速度,效率,格局