使用 Python 绑定嵌入 no-sql 键值或 JSON 数据库的选项?

问题描述 投票:0回答:1

我正在使用 Python 进行一些数值模拟。由于每个模拟都需要一段时间才能运行,并且我想运行多次迭代,因此我想将生成的数据保存到磁盘,以便以后以某种合理的方式进行处理。

我可以将数据写入 csv 文件,并将所有 csv 文件转储到一个文件夹中,但这不是一个特别优雅或方便的解决方案,并且涉及大量 hacky 代码来构造和查询文件名。

我更愿意为此使用某种嵌入式数据库,例如 DuckDB 或 sqlite3。

不幸的是,这些都是 SQL 数据库,这并不完全适合我拥有的数据,该数据目前是数字数组,但可以轻松使用 JSON 进行格式化。

我尝试检查db-engines.com,但找不到任何明显合适的内容。

是否有某种文档、JSON 或键值数据存储具有 Python 绑定并用作嵌入式数据库?

python json nosql embedded-database
1个回答
0
投票

如果您不想查询数据的特定元素,而只需要存储和检索它(即键值对),则可以在 sql 中使用文本数据类型并将其存储为 json。

如果您需要更高的性能,redis 也是一个选择,尽管存在权衡,而且它不是嵌入式的。

考虑到您想要内置的东西,平面文件并不是一个糟糕的选择。您可以将 key:filename 对存储在一个文件中作为 json,然后让您知道哪些文件名应该可以打开,或者,您可以从头开始构建该数据通过做一个目录列表。我同意它不优雅,但我想说它很方便。

SQL 更优雅——没有什么可以阻止您通过键列(varchar 类型)和值列(文本或二进制数据类型)来存储键/值数据,即使它没有针对该用例进行优化。

© www.soinside.com 2019 - 2024. All rights reserved.