特殊格式文件(视频、声音等) 在数据库中的存储方式

您所在的位置:网站首页 录音怎么放到视频里 特殊格式文件(视频、声音等) 在数据库中的存储方式

特殊格式文件(视频、声音等) 在数据库中的存储方式

2024-07-10 19:51:45| 来源: 网络整理| 查看: 265

问题描述:一般网站,对于用户上传的图片、视频、声音等特殊格式的数据是以本地文件的形式存储,然后把相应URL路径存放在数据库里呢;还是,将数据直接写到数据库里存放?

        答:多数网站,基本上采用的是第一种方式,即:文件存储+URL路径的模式 或者:OSS对象存储。

        首先,视频、声音、图片为非结构化数据,传统的关系型数据库主要是是针对结构化数据设计的,虽然有相应的字段格式支持存储,即:如果要把视频等文件存储到数据库的话,要使用大字段(例如:Oracle,Mysql中的BLOB特殊二进制字段),但性能表现不佳。当然也可以采用非结构化的NoSQL数据库,但是现有的NoSQL数据的存储单元仍是针对小块存储设计的,也就是说,当面对较大的视频格式等文件时,还是会有性能问题。

        数据库里可以直接写入上述特殊数据,但这种存储方式对于用户请求过程有明显的缺点,占内存、速度慢、效率不高,会耗费较大的数据库资源;因为用户每次请求数据的时候,需要先访问数据库,从数据库中查询到相关文件,然后将文件以数据流的方式读到数据库内存,最后返回给用户,这时就需要你的系统要有较大的内存,比较快的读取速度,另外还会一定程度上影响数据库的一些查询性能。比如:数据库表中如果添加用于存放视频格式的二进制字段后,即使相应的二进制字段为NULL,查询的时候不查询该二进制字段,查询速度仍然会下降很多,这种情况下想通过优化SQL语句提高性能,收效胜微。

      说了这么多,是不是选择 直接存在数据库就一定不好呢,其实不然!

      将视频、图片等格式的数据存放在数据库的话,也有一定的好处,比如:

比较容易去重,可以将多余重复的数据利用SQL语句过滤删除,操作方便

备份的时候,使用数据库的备份方式简单。(当然这也是相对的,数据的存储越大,恢复越麻烦。)

      3. 相较与原生存储 更加安全(增加了数据库的一层保护)

       那么,什么样的业务场景适合直接存放在数据库中?

       如果是一个小型的网站,像论坛等,平时用户上传、请求的该类特殊数据比较少,而又注重上述这种方式的优点的话,可以采用。

总结:

        大多数情况下,如果要存储图片、文件、视频等大文件对象,建议存成本地文件(提高性能的话采用分布式存储),不建议直接存储到数据库中;对于目前主流的视频网站,如何存放视频文件呢?可以参考知乎的一篇文章。

附:Mysql数据库中存入视频格式文件测试

创建一个测试表test,使用longblob或者mediumblob

CREATE TABLE test (id INTEGER NOT NULL PRIMARY KEY,name VARCHAR (20),movie LONGBLOB);

然后把视频文件导入

INSERT INTO test VALUES(1, 'titanic', LOAD_FILE("/tmp/good.mp4"));

注意,如果不使用longblob可能出现以下错误



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭