请问: Sqlite存储短音频效果如何?

  • 似水

    https://www.sqlite.org/fasterthanfs.html

    这条链接说SQLite存储小blob比硬盘存储可以提高35%的读/存速度, 并且省20%的硬盘空间.详见下面文字.


    SQLite reads and writes small blobs (for example, thumbnail images)35% faster1than the same blobs can be read from or written to individual files on disk using fread() or fwrite().

    Furthermore, a single SQLite database holding 10-kilobyte blobs uses about 20% less disk space than storing the blobs in individual files.


    这里有版友有blob存数据库和存硬盘的体验比较吗? 我司有类似需求, 现在在考虑是否把短音频存手机Sqlite数据库还是存手机Storage 谢谢.


    注: 目前想法: sqlite在手机storage上, 服务器端是mysql数据库存音频路径,音频在服务器硬盘上

  • 4
    4color
    自己做个测试呗
  • g
    gain_hi
    肯定硬盘快啊,sqlite又做了一层抽象,怎么可能有raw读写文件快,可以测测性能有多少损失,然后权衡是否用sqlite存储
  • c
    cxzx150133
    回复3#gain_hi

    数据库检索快了吧
  • g
    gain_hi
    回复4#cxzx150133

    最后肯定要去读取数据块解码呀
  • 风过留声
    用sql就不能cdn了啊
    个人感觉这么存还是不那么合理
  • F
    FQX
    短音频,我最近有个项目也要在本地储存这个,等楼主测试
  • x
    xx6412223
    回复3#gain_hi

    应该是实现了硬盘顺序读写,避免seek次数。提升读盘速度基本就这么一招。
    空间节省上,应该是将bolck再次抽象,减少大量不满的block。blob存储一般不压缩
  • 似水
    回复6#风过留声
    sqlite在手机storage上, 服务器端是mysql数据库存音频路径,音频在服务器硬盘上
  • d
    ddljdd
    挺有意思的话题,纯硬盘存储文件查找那就是看硬盘性能和文件系统的性能了,每个文件的meta都是存储在文件本身上,搜索meta信息基本上过一遍文件打开关闭操作,放 sqlite里没这个问题,搜索meta估计专门一张表存了。我推测在大量小文件管理的情况下,sqlite可能还真好于纯文件系统本身管理
  • 风过留声
    手机端缓存?
    sqlite是单文件数据库
    增删改中间内容对大一点的blob不算很友好
    而且本地存储整这个意义不大啊,差不了几微妙
    这方面做工作不如整预读塞进内存有意义
  • P
    PDA5566
    这是测试工程师的工作吧。
  • s
    songco
    哪个方便按哪个来,除非真遇到了性能问题

    一般来说,手机存储速度不是问题,SQLite 什么条件下测出来的你可以仔细研究下,不一定适用手机 ~ I have spoken