跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 寻求一个文件存储 模型设计思路
未分類
3 10 月 2020

寻求一个文件存储 模型设计思路

寻求一个文件存储 模型设计思路

資深大佬 : SjwNo1 4

大佬们帮忙想想思路,自己想了几个都不是很好
需求条件:
1. 设计上: 文件夹理论上可以无限嵌套,当前路径文件夹和文件并存
2. 功能上:可以统计某个文件夹下文件 /文件夹数量等信息

我的想法:
每个文件夹带 parent_id,存储的文件和文件夹 id 关联, 存在的问题是层级很深的情况下,想要统计文件信息很麻烦,现在想优化但是无从下手了。。

大佬有話說 (8)

  • 資深大佬 : DoUSeeMe

    这种?
    folder_1
    – folder_1_folder_1
    – folder_1_folder_1_folder_1
    …
    – folder_1_folder_1_file_1
    – folder_1_file_1

  • 資深大佬 : Jooooooooo

    不如直接研究下 linux 那种 inode 的做法

  • 資深大佬 : hakono

    这种做法坑太多了,你这样搞,文件夹有几层就得运行几次 sql 查询才能最终定位到需要的项目

    还不如像 s3 那样,路径加文件名的完整路径本身作为一个字段, 即直接把 /folder1/folder2/file.txt 这串字符串存进字段里,知道完整路径能很快查出来
    也支持一定的模糊查询,不过速度应该不是非常快

  • 資深大佬 : laminux29

    通过对你水平的猜测,我不建议你自己去做文件系统的模型设计,先不说这对学识需求有多高的门槛,就算理论知识你全懂,在时间上也不划算。

    如果你仅仅只是要存储文件,我建议你针对你们的需求,选择一款合适的文件系统,并且有 api 的那种,你们的系统通过文件系统的 api,对接或集成,应该能满足你们系统的大部分需求。

    如果是要做一整套存储系统,现在有很多针对文件的存储数据库,以及缓存系统等,你们都可以先分析一下这些可白嫖的组件,功能够不够用。

  • 資深大佬 : est

    s3 那种你看起来有路径,其实就是直接写死的 “/a/b/c/d” 这种 字符串。文件存储就变成了 key-value 。其中 key 为路径,value 就是类似 inode 。

    要遍历某个路径下的所有文件,就是个前缀匹配

  • 資深大佬 : wuliaoshixia

    用 minio 香吗?

  • 主 資深大佬 : SjwNo1

    谢谢各位

  • 資深大佬 : des

    树形结构直接闭包表

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具