图片,视频,文件等非结构化数据存储建议

最近想了解下图片等非结构化数据是存储 在哪里更适合。

参考链接如下:

https://baike.baidu.com/item/%E9%9D%9E%E7%BB%93%E6%9E%84%E5%8C%96%E6%95%B0%E6%8D%AE/309808?fr=aladdin

非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、XML, HTML、各类报表、图像和音频/视频信息等等。

传统关系数据库主要面向事务处理和数据分析应用领域,擅长解决结构化数据管理问题,在管理非结构化数据方面存在某些先天不足之处,尤其在处理海量非结构化信息时更是面临巨大挑战。为了应对非结构化数据管理的挑战,出现了各种非结构化数据管理系统,例如基于传统关系数据库系统扩展的非结构化数据管理系统,基于NoSQL的非结构化数据管理系统等。

非结构化查询处理过程中除了结构化数据查询处理所包含的操作外,还有两个重要的操作相似性检索和相似性连接。相似性检索是指给定一个元素,在由该种类元素组成的集合中寻找与之相似的元素。例如论文查重系统用到文本的相似性检索,谷歌的以图搜图的功能用到图像的相似性检索,手机上根据哼唱匹配音乐是音频的相似性检索等。相似性连接是数据库连接操作在非结构化数据上的一种扩展,它寻找两个元素种类相同的集合之间满足相似性约束的元素对,在数据清洗、数据查重、抄袭检测等领域有着重要的作用。非结构化查询处理框架要针对这两种非结构化数据特有的查询操作对结构化查询处理框架进行改进。

 

https://blog.csdn.net/zht666/article/details/34825743

数据库尽量不要存储较大的二进制数据,如图片、视频、文件等

后来对项目做修改,将照片存储在文件中,数据库只保存照片路径,结果速度立马上去了,恢复到了之前的1秒以内响应。

因此,我暂时得出这样的经验结论:(但是不知道是否正确,因为没有大量的项目经验论证)

数据库表中添加二进制字段后,即使二进制字段为NULL,即使查询的时候不查询二进制字段,查询速度仍然会下降很多,SQL语句怎么优化都无济于事。因此建议,如果要存储图片、文件、视频等大文件对象,还是存成文件吧,不要直接存储到数据库中,不然会严重影响查询速度。

 

 

如果网站有大量的图片,是存在数据库好?还是存文件?

https://blog.csdn.net/mituan1234567/article/details/11652873

数据库的好处是便于批量查询和返回结果,适用于查询方面的需求。
文件的好处是便于直接访问,适用于直接显示方面的需求。

如果你是想作为像百度图片和google图片一样的一个图片搜索系统,那么当然是数据库优先啦,不过需要注意的是,并不是把图片存入数据库,而是在数据库中存储从图片中提取的特征,便于查询,图片作为最终数据需要存储在另外一个数据库中,当然,特征数据库图片实体数据库之间可以通过图片的编号来进行一一对应。

存文件,而且最好用单独的服务器,原因如下:
1、图片内容一般不会做搜索,没必要放数据库
2、图片传送比较占用带宽,如果数据库和应用分离(即不再同一台服务器),那么去得一个图片需要从客户端到应用端取数据,应用又需要从数据库去取,这样会占用大量的带宽,同时这也会在数据库服务器和应用服务器两处IO上形成瓶颈。
如果图片单独放在服务器上,取图片的时候,则只需要客户端通过HTTP协议去图片服务器上取,减少带宽占用。并且,这里的IO瓶颈只存在图片服务器上,会快很多。

 

 

 

 

 

 

 

视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 1、课程简介 Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被等知名网站所采纳,成为了一种流行的分布式结构化数据存储方案。 Cassandra在2009年成为了Apache软件基金会的Incubator项目,并在2010年2月走出孵化器,成为正式的基金会项目。 2、适应人群 有一定的Java以及JavaWeb编程基础,了解关系型数据库,对NoSQL数据库有一定了解。 3、主讲内容 Cassandra是目前流行的NoSQL数据库,在企业中的应用广泛。 内容主要分为以下几部分: 一、Cassandra基础知识 二、Cassandra安装环境配置 三、Cassandra的基本使用 四、Cassandra的Java客户端使用 五、Cassandra的核心知识点 4、课程目录 第1节 - 01-数据存储和NoSQL概述 第2节 - 02-NoSQL数据库的分类 第3节 - 03-Cassandra的介绍和下载 第4节 - 04-Windows下Cassandra3.9的安装和环境变量设置 第5节 - 05-Windows下Cassandra的配置 第6节 - 06-Windows下cassandra的启动 第7节 - 07-Centos下安装配置启动Cassandra 第8节 - 08-Cassandra的端口和配置文件介绍 第9节 - 09-数据库模型-列-列族-键空间 第10节 - 10-数据模型-副本-节点-数据中心-集群 第11节 - 11-cassandra的数据类型 第12节 - 12-Cassandra的其他常用命令 第13节 - 13-CQL的介绍 第14节 - 14-创建键空间 第15节 - 15-键空间的使用-修改-删除 第16节 - 16-创建表-查看表 第17节 - 17-Cassandra的索引 第18节 - 18-Cassandra表修改-删除-清空 第19节 - 19-在普通列创建索引 第20节 - 20-插入数据-设置有效期 第21节 - 21-查询数据-在查询时的索引使用 第22节 - 22-更新列数据 第23节 - 23-删除和-批量操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值