gpt4 book ai didi

json - 用于分层数据集的高效可移植数据库-Json,Sqlite还是?

转载 作者:行者123 更新时间:2023-12-03 18:40:46 49 4
gpt4 key购买 nike

我需要制作一个包含分层数据集的文件。有问题的数据集是文件系统列表(目录名,每个目录中的文件名/大小,子目录等)。

我的第一个本能是使用Json并使用路径展平层次结构,因此解析器不必递归太多。如下面的示例所示,每个条目都是一个路径(“ /”,“ / child01”,“ / child01 / gchild01”,...)及其文件。

{
"entries":
[
{
"path":"/",
"files":
[
{"name":"File1", "size":1024},
{"name":"File2", "size":1024}
]
},
{
"path":"/child01",
"files":
[
{"name":"File1", "size":1024},
{"name":"File2", "size":1024}
]
},
{
"path":"/child01/gchild01",
"files":
[
{"name":"File1", "size":1024},
{"name":"File2", "size":1024}
]
},
{
"path":"/child02",
"files":
[
{"name":"File1", "size":1024},
{"name":"File2", "size":1024}
]
}
]
}


然后,我认为对于每种文件类型来说,一遍又一遍地重复键(“名称”,“大小”)。所以我找到了关于如何像使用数据库一样使用Json的文章- http://peter.michaux.ca/articles/json-db-a-compressed-json-format

使用该技术,我将拥有一个Json表,例如“ Entry”,其中包含“ Id”,“ ParentId”,“ EntryType”,“ Name”,“ FileSize”列,其中“ EntryType”对于目录为0,对于文件为1。

因此,在这一点上,我想知道sqlite是否会是更好的选择。我在想文件大小将比Json文件小很多,但是如果我使用本文中的Json-DB压缩格式,则它可能可以忽略不计。除了尺寸,您还能想到其他优点吗?

最佳答案

我认为用于数据源的Javascript对象将作为文件流加载到浏览器中,然后在浏览器中用于javascript逻辑中将消耗最少的时间并具有良好的性能。但是,直到内容的层次结构大小有限。

另外,不将层次结构存储在其他任何地方,仅将其保存为JSON文件,将严重限制您的项目中数据源对客户端技术的使用,或者强制转换为其他技术。

如果要构建纯基于JavaScript的应用程序(仅html,js,css应用程序),则可以将其单独保留为JSON对象。并限制层次结构的大小。可以将较大的层次结构拆分为多个文件,以链接json对象。

如果您的专案中会有php等伺服器端程式码,
考虑到代码的可管理性和可伸缩性,理想情况下应将数据存储在SQLite DB中,在运行时为从页面加载Ajax时为有限级别创建json层次结构。

关于json - 用于分层数据集的高效可移植数据库-Json,Sqlite还是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4610963/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com