我最近开始学习XSLT作为模板引擎(对于PHP,如果有的话),我一直想知道:你应该如何存储数据?
所以我的问题是:我应该使用什么(或者你使用的是什么 - XML,原始数据,我不知道的其他选项)?
编辑:1。在“原始数据”中,我指的是存储字符串(例如,在DB中),以防止存储整个XML文档 2.辩论是关于MVC模式中的视图,该模式应该将数据转换为HTML / RSS / JSON / XML
答案 0 :(得分:1)
对于许多将XML文档存储为filestore中的文件的应用程序,可以提供足够的性能。
同样,对于某些将XML文档存储为关系数据库中的blob的应用程序,可以很好地工作。
但如果您真的希望最大限度地提高性能,那么最好使用eXist或MarkLogic之类的XML数据库。
如果没有明确指出系统必须提供的性能指标,您似乎陷入了对性能焦虑的陷阱。
答案 1 :(得分:0)
这取决于您访问数据的方式。如果您想分别访问(甚至修改)部分数据,最好以原始形式存储,索引更容易创建。
如果系统的其余部分将您的数据视为黑盒子,您可能希望以XML格式存储数据。
第三种方法是使用XML感知(甚至原生XML)存储,这将允许您构建索引并对部分XML数据进行有效查询。
但这些只是一般指导原则,必须根据具体情况做出决定。
答案 2 :(得分:0)
如果没有更多信息,很难给出答案 - 什么样的数据,如何访问?表格也遵循这里的功能。
关系数据库和XML具有非常不同的模型(关系与层次结构),主要区别不一定是性能(两者都可以是高效的或低效的),而是使用和访问模式。 而且我不确定“原始”数据意味着什么 - 也许是平台默认序列化?
关于XML存储的一个小问题:XML压缩得很好,因此在存储大量的XML文档时,即时压缩(使用gzip等)是有意义的。压缩比可能很高;对于写成xml的日志文件,我有30比1的压缩。