微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将数据存储为XML

在哪种情况下,将数据存储为 XML比RDBMS更可取?为什么?

你能说出任何类比吗?

解决方法

摘要

如果您没有太多数据并且您完全控制它(没有相关的第三方),那么XML是一个不错的选择.否则,RDBMS – 更多原因见下文.

比喻

如果RDBMS是一个文件柜(由某个索引组织的相同大小的记录的抽屉),那么XML就是一个背包(不一定有组织的随机大小的记录包,可能会在角落里伸出).

XML的原因

1)灵活性

如果您的架构非常松散或随着时间的推移而发生变化,那么XML就更可取了,因为版本化RDMS在其内部存在数据时很难.根据我的经验,XML Serialization,XSLT和XPath查询可以适应XML模式的变化,并且可以继续为旧/新客户端工作.例如,您可以将一些新元素添加到文档中,读取该文档的旧EXE将忽略这些元素.执行“SELECT * FROM table”的RDBMS查询,您刚刚添加了一列,将产生未定义的结果.

2)部署

简单 – 只需运送你的EXE.

3)可调试性

易于“调试”数据 – XML已经是人类可读的;如果没有,XSLT可能会使它更具可读性.

4)互操作性

您可以将XML移交给其他系统,而不关心他们使用的平台/技术.

RDBMS的原因

1)表现

如果您有大量数据,那么RDBMS的索引功能将为您提供最佳性能.如果您从根本上只是尝试查找ID = 123的记录,那么读取大型XML(> 1000条记录)是非常昂贵的,而RDBMS可以快速完成.存储过程会使这更好.

2)安全

您可以通过权限保护RDBMS的部分内容 – 例如授予/拒绝对各种用户的SELECT访问权限.

3)商业工具

有许多RDBMS工具可用于OLAP和报告等事务.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。