做一个网站,把数据保存在xml文件中,跟把数据保存在数据库中,区别有多大
主要是看你的网站日流量有多大,小的话还能够解决,大了就够呛。xml文件保存的数据有限,而数据库存储的跟多一些。还有xml不方便数据的维护,而数据库方便一些,还有就是数据库里面,数据能够实时备份等等,好多功能xml都不能够实现。比较如果xml和数据库差别不大,应该还是有人会使用,但是市面上没有那个使用xml来存储数据的。
业余解读:xml的用法 主要的不是 数据库的对应结构,它可以非对称的,可以将不同的结构整到一个xml文件中, 方便不同程序的 数据交换. 当然这个要提前约定 数据的名称 等.
用xml做数据库 不方便.
大家首先要明白,在计算机世界里,所有的“数据”并不是物理存在的。计算机只能理解0和1,而我们日常看见的各类文件、图片等只是数据的一种表现形式而己。
虽说计算机里的数据并不是物理存在的,但如果数据无法保存下来那计算机也就没有存在的价值,所以为了将数据落地,计算机系统可以将数据以某种特定的形式进行落地存储,便于后期查看和操作数据。
对于网站而言,只要不是纯静态网页,基本上都会将一些需要持久化保存的数据进行落地,落地方式有很多,比如说:
将数据写入到文件(txt文档、xml文档、其它自定义格式的文档等)中;
将数据写入到数据库中;
将数据写入到内存中等。
XML文件和数据库都可以作为数据落地存储方案
如果网站需要保存的数据量极少,我们可以将数据以XML结构保存到文件中;如果网站后期数据量比较大,那就需要将数据存入到数据库中。
对于网站而言,数据存放在哪里并不重要,只要能保证数据“存得进去、取得出来”即可。
XML文件和数据库的定位>差别/strong>
1、XML文件只适合简单、轻量的数据存储
尽管XML文件中包含了数据,但XML文件不是数据库!
XML文件它具有结构性、自我描述性,它极其简单,只适合存储小量的简单数据。
2、数据库是专业的数据存储和查询>技能/span>
数据库不单单提供了数据存储能力,还提供了丰富的数据查询分析能力,这点是XML比不上的。
将XML文件当数据库使用会存在很多>题目/strong>
如果硬将XML文件当数据库来使用会存在很多问题,主要有以下几点:
1、无法高效的通过条件查询进行数据筛选;
2、数据加载及解析速度慢;
3、不具备扩展性;
4、数据冗余情况严重,无法优化数据。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
实话实说,个人接触到使用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的作用。重要数据或某些行业的特殊性还是要以关系型数据库为根基,毕竟事务、稳定性、安全性和技术恢复支持等方面需要考虑的重点。