为 Python 2.7 寻找的东西是:
- 简单- 快速启动并运行,无需大量开销
- 可修改- 可以处理原型设计带来的更改和数据模式的频繁更改
- 可靠- 无论如何都能恢复,即如果发生断电,我不会因为数据存储损坏而丢失整个数据存储。
一些候选人和评论:
- 文本 / CSV / JSON 文件- 看起来很简单,如果您经常保留文件的备份副本,或者实施简单的备份加日志设置(在程序启动时备份文件,写入所有更改),可能会有些可靠到日志文件)
- SQLite - 简单可靠,但处理频繁的更改似乎有点麻烦。
- Shelve / Marshal / cPickle - 简单且可修改,不确定它有多可靠。如果文件最终损坏,看起来你就是 SOL。至少使用人类可读的文件,您可以将其拼凑起来。
- ZODB - 可能是赢家。我不清楚,它是否需要你的对象来继承?我想保持持久层的良好分离,因为这是用于初始原型设计,并且一旦模式被散列出来可能会改变。
- SQLAlchemy - 对于一个小型项目,似乎开销很大,您不妨只使用 SQLite。也许用 Elixir 更好?
如果嵌入了 MongoDB,那可能是完美的。如果我能解决频繁变化的模式问题,SQLite 会很棒。根据您的经验,什么符合要求?