数据库-数据存储-非结构化数据的存储方式

大的数据体量:社交媒体、移动设备、科学计算、视频监控、城市中部署的各类传感器等等(视频数据)


针对Oracle、MySQL、SQL Server、DB2等结构化数据,我们可以选择存储在关系型数据库中。

针对诸如视频、音频、文件等非结构化数据,又是如何存储呢?


一般视频、大文件都不会直接存储在数据库中,因为会严重影响性能。视频文件存放在数据库,应该使用大字段、IO流的知识。


Oracle中可通过BLOB类型来存储4GB以下的视频数据。【定义blob字段,使用dbms_lob包】

数据库自定义为字节数组类型(如:image等),用程序将视频转化为流,写入字段数据数组中,保存进数据库。

将视频文件所在的路径保存在数据库中,然后通过程序调用该路径的文件内容。【数据上传到磁盘空间里,数据库中存储路径】

视频、音频、文件等非结构化数据可存储在一些NoSQL解决方案中。


建议:图片-blob字段来存储,视频-存储路径


测试:如何把视频文件存放在mysql数据?

当然不建议直接存放,因为迁移会很麻烦而且容易出现问题,以下只是测试功能,导入jpg、png等图片类似。

创建一个测试表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可能出现以下错误


发布了35 篇原创文章 · 获赞 6 · 访问量 12万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览