将数据存储为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和报告等事务. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |