益处或使用XML而不是MySQL,反之亦然?
我目前正在开发一个不是由我制作的项目,但它使用了大量的XML文件而不是MySQL来代替它。
因此,我想知道在这里使用XML而不是MySQL真的有什么好处。
场景是,XML文件仅加载ONCE并在服务器上用于它所做的N件事。 如果管理员向服务器发出重新加载命令,则仅重新加载XML。 所有XML文件的平均大小最大为100 MB。
如果您还可以给我一些关于以上关于XML的使用的简要介绍,我会很感激。
当一个XML比一个简单的innodb或myisam表更好的选择时,我应该考虑什么?
如果您的数据是只读的并且仅在管理员的命令下进入内存,那么我认为这对任何一种技术都没有多大优势。
如果你必须搜索数据,MySQL将具有SQL查询的优势。 即使在这种情况下,重要的是数据类型。 如果您有长引用链/对象图,那么关系数据库可能因为所有JOIN而变慢。
但XML有其自身的问题。 您可以轻松地将其解析为DOM对象,但之后您只能使用XPath进行搜索。
XML被用作存储数据的方式之一。 使用xml之一是,它使数据易于阅读。 你可以使用mysql,如果有很多用户需要同时访问数据,mysql也支持数据的事务处理,而xml没有这样的function。
只需在两者之间添加选项 – 您也可以使用某种forms的xml数据库
eXist( http://exist-db.org/index.html )或sedna( http://modis.ispras.ru/sedna/ )
XML存储在本地存储中,只能由本地服务器读取 (不要说我可以使用memcache,通过rsync复制等)
毫无疑问,您可以通过http服务器打开XML,但速度很慢。
虽然,mysql支持端口通信和复制,但如果扩展到多个服务器,它基本上没有边界。
即使在5.1, mysql也支持XML
- SWIG(v1.3.29)生成的C ++到Java Vector类不能正常运行
- Hibernateexception_ $$ _ javassist_0无法强制转换为javassist.util.proxy.Proxy
- QueryDsl – 集合表达式中的子查询
- 方法重载时重复的方法
- JavaEE6 DAO:应该是@Stateless还是@ApplicationScoped?
- Spring SAML握手失败 – 无法针对可信密钥validation不受信任的凭据
- 使用Apache Spark从Amazon S3解析文件
- 使用BufferedReader了解文件的偏移量?
- 如何在Spring中为系统用户validation计划进程?