我需要創建一個包含分層數據集的文件。所討論的數據集是一個文件系統列表(每個目錄中的目錄名,文件名/大小,子目錄,...)。用於分層數據集的高效可移植數據庫 - Json,Sqlite或?
我的第一直覺是使用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」 「名稱」,「文件大小」,其中「EntryType」對於目錄爲0,對於文件爲1。
所以,在這一點上,我想知道,如果sqlite的將是一個更好的選擇。我在考慮文件大小比Json文件小很多,但是如果我從文章中使用Json-DB壓縮格式,文件大小可能可以忽略不計。除了規模之外,您還能想到其他任何優勢嗎?