我正在研究存储迄今为止我一直存储在数据库中的单个文件中的数据。我正在寻找一些建议,我应该使用哪个数据库或数据库类型。以下是要求列表:
- 我需要能够以分层/面向对象的方式存储数据,即有像 car.chassis.color = red 这样的键,键上有任意深度。
- 这些对象的结构不是同质的,有些对象具有其他对象没有的字段。
- 我希望能够对键执行查询,但我不需要进行连接的能力,即不需要外键。
- 其中一些值是大型二进制 blob(大约 10-100MB,从不大于 1GB),并且存在大量冗余,因此内置压缩会很好。
- 寻找开源解决方案。
- 我想从 python 中使用它。
除了最基本的 MySQL 数据库之外,我对任何东西都不熟悉,所以任何指针都将受到高度赞赏。