我有多种丰富的数据结构(主要是树),我想坚持到磁盘,这意味着我不仅要将它们写入磁盘,而且要保证数据已经被完全写入,并且能够在掉电.
其他人似乎设计了将平面数据库表中的丰富数据结构编码为从父节点到子节点的查找表的方法.这有助于针对数据运行SQL查询,但我不需要这样做:我只想保存并加载我的树.
明显的解决方案是将数据库中的所有内容都存储为一个blob:一个可能包含长字符串的单个条目.是滥用数据库还是推荐做法?另一个解决方案可能是使用XML数据库?我应该考虑的数据库有什么替代品吗?
最后,我正在从F#这样做,所以一个完整的解决方案来保持来自.NET的数据将是理想的…
编辑:请注意,格式化(例如序列化)是无关紧要的,因为我可以使用F#在格式之间进行平凡的转换.这是关于确认写入已经完成一直到非易失性存储(即磁盘盘),并且没有一部分写入的数据仍然被保存在易失性存储器(例如RAM缓存)中,使得我可以继续保持这种知识(例如通过从磁盘中删除旧版本的数据).
解决方法
原文地址:https://www.jb51.cc/csharp/93298.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。