› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
SjwNo1
V2EX  ›  MySQL

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

  •  
  •   SjwNo1 · Sep 30, 2020 · 3856 views
    This topic created in 2193 days ago, the information mentioned may be changed or developed.
    大佬们帮忙想想思路,自己想了几个都不是很好
    需求条件:
    1. 设计上: 文件夹理论上可以无限嵌套,当前路径文件夹和文件并存
    2. 功能上:可以统计某个文件夹下文件 /文件夹数量等信息

    我的想法:
    每个文件夹带 parent_id,存储的文件和文件夹 id 关联, 存在的问题是层级很深的情况下,想要统计文件信息很麻烦,现在想优化但是无从下手了。。
    8 replies  •  2020-09-30 18:18:47 +08:00
    DoUSeeMe
        1
    DoUSeeMe  
       Sep 30, 2020
    这种?
    folder_1
    - folder_1_folder_1
    - folder_1_folder_1_folder_1
    ...
    - folder_1_folder_1_file_1
    - folder_1_file_1
    Jooooooooo
        2
    Jooooooooo  
       Sep 30, 2020
    不如直接研究下 linux 那种 inode 的做法
    hakono
        3
    hakono  
       Sep 30, 2020 via Android
    这种做法坑太多了,你这样搞,文件夹有几层就得运行几次 sql 查询才能最终定位到需要的项目

    还不如像 s3 那样,路径加文件名的完整路径本身作为一个字段, 即直接把 /folder1/folder2/file.txt 这串字符串存进字段里,知道完整路径能很快查出来
    也支持一定的模糊查询,不过速度应该不是非常快
    laminux29
        4
    laminux29  
       Sep 30, 2020
    通过对你水平的猜测,我不建议你自己去做文件系统的模型设计,先不说这对学识需求有多高的门槛,就算理论知识你全懂,在时间上也不划算。

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

    如果是要做一整套存储系统,现在有很多针对文件的存储数据库,以及缓存系统等,你们都可以先分析一下这些可白嫖的组件,功能够不够用。
    est
        5
    est  
       Sep 30, 2020
    s3 那种你看起来有路径,其实就是直接写死的 "/a/b/c/d" 这种 字符串。文件存储就变成了 key-value 。其中 key 为路径,value 就是类似 inode 。

    要遍历某个路径下的所有文件,就是个前缀匹配
    wuliaoshixia
        6
    wuliaoshixia  
       Sep 30, 2020
    用 minio 香吗?
    SjwNo1
        7
    SjwNo1  
    OP
       Sep 30, 2020
    谢谢各位
    des
        8
    des  
       Sep 30, 2020
    树形结构直接闭包表
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2358 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 12:08 · PVG 20:08 · LAX 05:08 · JFK 08:08
    ♥ Do have faith in what you're doing.