手上有 1~2 GB 左右的 json 文件想存储并快速检索。
不想为此装 MongoDB,感觉太庞大。
SQLite 这样的关系型数据库不适合,因为字段不固定,而且检索嵌套 json 时麻烦且耗时。
目前看到两个:
LiteDB:只能用于 C#,其他语言无法使用。
Unqlite:不支持索引;不支持一般 SQL 语句(即,不支持声明式编程),需要自己写类似 Lua 的嵌套代码。。
感觉都不太顺手。
@上善若水,感谢回复。我去看了下:
RaptorDB:需要 .NET 环境,只能 C# 等编程使用?
TinyDB:只能 Python 编程使用?而且直接读写 Json 文件,怕是更新、追加数据都很慢噢。。
前两个参考链接无效。
第三个参考链接是 LiteDB,但决定不考虑这个了。
给的 11 种数据库里,好像只有一个是小型的,且是上面提过的 RaptorDB,但决定不考虑这个了。
第五个参考链接是 MongoDB,但决定不考虑这个了。
LevelDB
@老虎会游泳,看了下介绍,这是个键值数据库,而不是文档数据库?
也没有 SQL 支持,索引也不能建。。
看起来不适合帖子说的场景
@缘儿,这。。是小型的么?
@缘儿,适用于小工具类型的,不用启动服务器(即,你所说的嵌入式?)
比如,像 SQLite 那样,1 MB,便携易分发易使用(可惜它是关系型数据库)
@缘儿,Python。能提供 C API 就好
@缘儿,0 楼有提到过
- **RaptorDB** 是一个非常小型的快速嵌入式 NoSQL 数据库,它使用 b+tree 或者 MurMur 哈希索引⁴。
- **TinyDB** 是一个小型嵌入式的 NoSQL 数据库,它不需要外部服务器,也没有任何依赖,使用 json 文件存储数据⁵。
希望这些信息能够帮助您。如果您有其他问题,请随时告诉我。😊
源: 与必应的对话, 2023/6/29
(1) 悉数11种主流NoSQL文档型数据库 - 51CTO博客. https://blog.51cto.com/harman/1415333.
(2) 和SQLite数据库对应的NoSQL数据库:TinyDB的详细使用(python3经典编程案例)_nosql sqlite_数据知道的博客 .... https://blog.csdn.net/cui_yonghua/article/details/120060474.
(3) 一个小型、快速、轻量级的 .NET NoSQL 嵌入式数据库-腾讯云开发者社区-腾讯云. https://bing.com/search?q=%e5%b0%8f%e5%9e%8b+NoSQL+%e6%96%87%e6%a1%a3%e6%95%b0%e6%8d%ae%e5%ba%93.
(4) 悉数11种主流NoSQL文档型数据库 - TechTarget数据库. https://searchdatabase.techtarget.com.cn/7-20834/.
(5) NoSQL文档型存储数据库—MongoDB - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/339828960.