我有一个包含无序记录的大型 xml 文件(100GB 或更多),如下所示:
<page id = "1">content 1</page>
<page id = "2">...</page>
<page id = "2">...</page>
... many other pages ...
<page id = "1">content 2</page>
... many other pages ...
我必须以只读模式访问数据,但按页面对它们进行分组:
<page id = "1">
content1
content2
...
</page>
<page id = "2">
...
...
</page>
...other pages...
页面不得按 id 排序。
我的解决方案现在需要预处理 xml,并且对于每个页面:
- 打开具有唯一命名约定的文件(例如第 1 页的“1.data”,“2.data”,...)
- 追加当前页面的内容
- 关闭文件
对我来说问题是处理大量页面需要创建数百万个文件,这当然不是很好。
我的问题是是否可以使用某种存档文件(就像 tar 或 zip)来序列化我的所有数据。优点是只有一个包含我所有数据的大文件,可以顺序读取,不一定需要压缩。
我更喜欢避免使用数据库,因为我的软件应该是独立的,而且我更喜欢使用 python。
谢谢,
里卡多