阿里云对象存储OSS与文件存储NAS的区别
一、简介
应用场景:选择一款存储产品,面向文档数据的存取,不会涉及到数据处理。
产品选型主要从OSS和NAS中选择一款,满足文档存储的需求。
二、NAS优缺点
NAS 是一种采用直接与网络介质相连的特殊设备实现数据存储的机制。由于这些设备都分配有 IP 地址,所以客户机通过充当数据网关的服务器可以对其进行存取访问,甚至在某些情况下,不需要任何中间介质客户机也可以直接访问这些设备。
第一,NAS适用于那些需要通过网络将文件数据传送到多台客户机上的用户。NAS设备在数据必须长距离传送的环境中可以很好地发挥作用。
第二,NAS设备非常易于部署。可以使NAS主机、客户机和其他设备广泛分布在整个企业的网络环境中。NAS可以提供可靠的文件级数据整合,因为文件锁定是由设备自身来处理的。
第三,NAS应用于高效的文件共享任务中,例如UNIX中的NFS和Windows NT中的CIFS,其中基于网络的文件级锁定提供了高级并发访问保护的功能。
NAS设备同样具有一些缺点。这是因为传统的TCP/IP协议不可避免的给NAS带来一些“先天”的缺点。
存储性能的局限。NAS虽然比传统的DAS设备在存储性能上有很大的提高,但是能只适合应用在较小的网络或者局域网内。因为NAS受限于企业网络的带宽,很可能会出现当多台客户端访问NAS文件系统时,NAS的性能大大的下降,最终不能满足用户的需求。
可靠性还有待提高。当企业内部网络发展到一定的规模时,NAS设备的数据服务和数据管理形成了网络的双重负担,也就是说NAS除了要处理正常的终端数据I/O请求外,还需要做备份和恢复等操作。并且NAS后期的扩容成本高;一般的NAS没有高可用配置,容易形成单点故障。
三、OSS优缺点
对象存储服务OSS是海量高可靠的云存储服务,不限文件数量和大小,可以根据所需存储量无限扩展存储空间,支持流式写入和读出,特别适合非结构化大文件的业务场景。
方便快捷的使用方式
提供标准的RESTful API接口、丰富的SDK包、客户端工具、控制台。可以像使用文件一样方便地上传、下载、检索、管理用于Web网站或者移动应用的海量数据。
不限文件数量和大小。可以根据所需存储量无限扩展存储空间,解决了传统硬件存储扩容问题。
支持流式写入和读出。特别适合视频等大文件的边写边读业务场景。
支持数据生命周期管理。可以自定义将到期数据批量删除或者转入到低成本的归档服务。
存储空间大
阿里云OSS的用户可以在任何时间、任何地点上传和下载数据。基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。用户可以存储和管理多大上千亿个数据对象(data object,可以使任何内容的文件,如数据记录,图片,流媒体文件等),每个数据对象大小可达20GB。OSS还能通过对象组合的方法构建最大5TB的单一对象。
数据可靠性
阿里云OSS基于飞天大规模分布式计算系统,OSS拥有数据自动冗余、故障自动恢复的能力。OSS向用户承诺服务全年可用性99.9%,数据可靠性大于十个9。OSS支持类似传统文件系统的目录结构,便于用户组织数据。存储在OSS的每个数据对象都拥有唯一的URL,便于用户在网页或移动应用上展示。OSS提供了PHP,Python,Java等多种语言的SDK方便数据读写。
其他增值服务
图片处理:支持jpg、png、bmp、gif、webp、tiff等多种图片格式的转换,以及缩略图、剪裁、水印、缩放等多种操作。
音视频转码:提供高质量、高速并行的音视频转码能力,让您的音视频文件轻松应对各种终端设备。
阿里云OSS仅仅是阿里云平台中的其中一个服务内容,它更多的是面向开发者个人。用户还可以在阿里云平台上体验和使用关系型数据库服务和大数据处理服务。因此,对于开发者个人或者技术爱好者来说,选择阿里云OSS是一个较为切合自身情况的选择。
四、NAS和 OSS对比
1、技术:OSS是对象存储;NAS是传统的NFS,即挂载共享文件夹;
2、使用方式:OSS使用阿里丰富的API,提供了PHP,Python,Java等多种语言的SDK;而NAS像访问磁盘一样不需要改任何程序,一般高IO带宽或高IOPS应用场景不建议使用NAS作为存储介质;
3、存储内容:OSS和NAS的存储内容基本类似,面向的都是图片、文档等静态文件的存储;对于零散的数据(如文本文件、办公文档、图片、视频、音频等)且有多区域或多用户共享或权限要求严格的需求可以使用NAS作为存储介质,且不影响整体交易类数据;
4、容量:OSS单个bucket大小无限制;NAS单个文件系统最大1PB;
5、性能:系统组之前完成过OSS NAS性能测试,OSS性能不如NAS,可以通过断点续传上传文件/断点续传下载等方式提升性能。
6、集群访问:NAS文档中提到NFS 协议本身并没有提供Atomic Append语义的支持,因此可能会出现写覆盖、交叉、串行等异常现象;OSS的无此类问题,即集群文件共享功能。
附录
安装参考:阿里云对象存储OSS介绍:https://help.aliyun.com/product/31815.html?spm=5176.doc27280.6.41.2aKadJ
安装参考:OSS和NAS云存储比较:https://bbs.aliyun.com/simple/?t303627.html
使用参考:NAS存储优缺点:https://zhidao.baidu.com/question/691274944417163484.html
阿里云对象存储OSS与文件存储NAS的区别的更多相关文章
- 阿里云-对象储存OSS
最近 需要搞一个阿里云的文件上传 手机端主要做了图片上传 pod安装:pod 'AliyunOSSiOS', '~> 2.5.2' 主要就是需要四个参数:accessKey secretKey ...
- Delphi阿里云对象存储OSS【支持上传文件、下载文件、删除文件、创建目录、删除目录、Bucket操作等】
作者QQ:(648437169) 点击下载➨Delphi阿里云对象存储OSS 阿里云api文档 [Delphi阿里云对象存储OSS]支持 获取Bucket列表.设置Bucket ...
- java开发之阿里云对象存储OSS和云数据库Memcache的使用
web开发中标配:aliyun ECS(阿里云服务器),aliyun RDS(阿里云数据库),aliyun OSS(阿里云对象存储),aliyun Memcache(阿里云缓存数据库). 今天就介绍下 ...
- 阿里云对象存储 OSS 应用服务器搭建代码
背景说明 最近做一个APP客户端图片直传阿里云OSS的服务,需要在后台开一个阿里云的OSSToken获取的接口. 阿里云官方文档地址:快速搭建移动应用直传服务. 略过移动端说明,直接看服务端的. 不是 ...
- 阿里云对象存储服务,OSS使用经验总结,图片存储,分页查询
阿里云OSS-使用经验总结,存储,账号-权限,分页,缩略图,账号切换 最近项目中,需要使用云存储,最后选择了阿里云-对象存储服务OSS.总的来说,比较简单,但是仍然遇到了几个问题,需要总结下. 1.O ...
- 阿里云对象存储OSS
阿里云的产品种类繁多,今天让我们一起来了解下对象存储(Object Storage Service,简称OSS)吧! 什么是对象存储呢? 简单来说,对象存储OSS是阿里云提供的海量.安全和高可靠的云存 ...
- 阿里云对象存储OSS支持版本管理特性
阿里云对象存储OSS现已经全面支持“对象版本管理”特性.该功能适用于所有的存储类型以及区域.当Bucket启用该特性后,“对象版本管理”功能可以保护和恢复误删除.误覆盖的数据. 对象存储OSS“版本管 ...
- Spring Boot 集成阿里云 OSS 进行文件存储
最近因为项目中需要存储很多的图片,不想存储到服务器上,因此就直接选用阿里云的对象服务(Object Storage Service,简称 OSS)来进行存储,本文将介绍 Spring Boot 集成 ...
- 阿里云对象存储OSS及CDN加速配置
目录 十大云存储服务商 1. 登陆阿里云官网,开通对象存储服务 OSS 2. 创建存储空间 3. 绑定自定义域名 4. 配置阿里云CDN加速 5. 购买阿里云免费SSL证书 6. 阿里云CDN配置HT ...
随机推荐
- MD5&&DES加密解密帮助类
public class _MD5_NETCore加密解密 { /// <summary> /// 加密 /// </summary> /// <param name=& ...
- [Go] golang结构体成员与函数类型
package main import ( "fmt" ) //定义一个类型 type tsh struct { //定义成员,类型是func() string test func ...
- Java开发笔记(二十)一维数组的用法
之前介绍的各类变量都是单独声明的,倘若要求定义相同类型的一组变量,则需定义许多同类型的变量,显然耗时耗力且不宜维护.为此,编程语言引入了数组的概念,每个数组都由一组相同类型的数据构成,对外有统一的数组 ...
- CSS常见的中属性级,选择符级的Hack
注意:尽量找到通用方法而减少对CSS Hack的使用,大规模使用CSS Hack会带来维护成本的提高以及浏览器版本变化而带来类似Hack失效等系列问题. 星号 * 针对IE6,7:下划线 _ 针对ie ...
- js 数组插入和删除处理
function insertArray(arr, val, compare, maxLen) { //返回位置 const index = arr.findIndex(compare) if (in ...
- CSS3实现全景图特效
基本代码 html代码: <div class="panorama"></div> 首先定义一些基本的样式和动画: .panorama { width: 3 ...
- Python开发爬虫之静态网页抓取篇:爬取“豆瓣电影 Top 250”电影数据
所谓静态页面是指纯粹的HTML格式的页面,这样的页面在浏览器中展示的内容都在HTML源码中. 目标:爬取豆瓣电影TOP250的所有电影名称,网址为:https://movie.douban.com/t ...
- nodejs 使用 js 模块
nodejs 使用 js 模块 Intro 最近需要用 nodejs 做一个爬虫,Google 有一个 Puppeteer 的项目,可以用它来做爬虫,有关 Puppeteer 的介绍网上也有很多,在这 ...
- ffmpeg错误码
以下ffmpeg错误代码及翻译是本人遇到或发现后整理出来的,不保证包含全部错误代码 EPERM(不允许操作,无相应权限) = -1 ENOENT(文件或目录不存在) = -2 ESRCH(线程不存在) ...
- 拉勾网爬取全国python职位并数据分析薪资,工作经验,学历等信息
首先前往拉勾网“爬虫”职位相关页面 确定网页的加载方式是JavaScript加载 通过谷歌浏览器开发者工具分析和寻找网页的真实请求,确定真实数据在position.Ajax开头的链接里,请求方式是PO ...