我需要将易于解析的数据存储在文件中,作为数据库支持的解决方案的替代方案(无需辩论)。由于它将存储大量数据,因此最好是轻量级语法。这不一定需要人类可读,但应该是可解析的。请注意,将会有多种类型的字段/列,其中一些可能会被使用,而另一些则不会
根据我在没有数据库的情况下的有限经验,我看到了几种选择,但都存在问题
- CSV - 从技术上讲我可以做到这一点,而且它非常轻。然而,解析将是一个问题,如果我想添加一列,那就很糟糕了。多语言支持尚不确定,主要是人们自己的自定义解析器
- XML - 从许多方面来看,除了解析和开销之外,这都是完美的解决方案。这是很多标签,会生成一个巨大的文件,解析会非常消耗资源。然而,几乎所有语言都支持 XML
- JSON - 这是中间立场,但我真的不想这样做,因为它的语法很尴尬,而且解析并不简单。语言支持尚不确定。
所以都有各自的缺点。但是,当尝试以语言支持和较小的文件大小为目标时,什么是最好的呢?
最佳答案
怎么样sqlite ?这将允许您基本上将“数据库”嵌入到您的应用程序中,但不需要单独的数据库后端。
此外,如果您稍后最终使用数据库后端,那么切换应该相当容易。
如果这不合适,我建议使用一种类似 DBM 的存储来进行键值查找,例如 Berkely DB 或 tdb。
关于java - 在文件中有效地存储易于解析的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3411613/