GitHub - xiaotutu365/hos-service: 基于SpringBoot+HBase开发的分布式文件存储系统。
下周一就要的需求
◆我有非常多的文件需要存,以图片和文档为主,以后还有更多
◆我只是想能快速的找到我需要的文件,不需要其他操作,很简单的
◆作为一个伟大的程序员,你要尽量的节省资源
Help,Help
◆ 老板要存非结构化数据,存很多文件,一直存
◆老板想要快速查到文件,也许还想有其他操作,虽然他还没说
◆老板想让马儿跑,还不把马儿喂饱
目标用户: Help,Help
◆小明最近接手了一个卫星项目,每天都有存储当天从卫星数据转换
的图片,每天增量大概是数万张。图片存储之后他希望可以通过接
口或者程序调用SDK快速的查询某个时间段的图片
◆小红负责整理公司的各种文档数据,查找特定的文件很耗时,她只
想快速的找到某一份想要的文件,并且其他人无法看到相关的文件
用户到底需要什么
海量非结构化数据,且呈爆发式增长,易扩容
不需要复杂的文件管理与检索操作,需要很高的吞吐量
还需要有一些权限控制的能力
对象存储服务:举例:Amazon S3,阿里云OSS
个人理解:能够支持海量用户远程访问的无层次结构的数据存储服务
-
以非结构化数据为主,如图片,文档,视频等
-
使用简单有效且廉价的存储方式
整理:
-
数据作为单独的对象存储到一个大容器Bucket中
-
应用通过唯一地址来识别每个单独的数据对象
-
支持海量数据,高性能,可扩展,高可用
注:MINIO 开源对象存储服务
技术选型:
HBase有哪些不足
HBase对小文件支持很好,但是大文件无法满足
◆因为HBase的设计,HBase会发生compact和split操作。文件存储会
较频繁的触发此类耗时操作
HBase不适合复杂的检索操作,功能上可能有限制
大文件存储方案
◆方案一:将大文件分片存储到HBase中
◆方案二:将大文件存储到HDFS中,HBase只存储索引信息