在亚马逊的云服务AWS上, 很早就有一些大神使用S3(亚马逊的对象存储服务)来构建数据集市,在阿里云上,使用OSS自然可以达到相同的效果,而且在结合了阿里云的云存储网关后,还能够实现意想不到的效果。
使用对象存储来构建数据集市最大的好处就是可以获得几乎无限的存储空间,而且对于阿里云上服务器来说,访问的速度不成问题,但是对于云下客户IDC服务器来说,读写对象存储都要耗费大量的时间。
阿里云存储网关实现了一个高速缓存,当有服务器需要写入数据时,先写入缓存,写入完毕立即返回,不再占用服务器的资源,阿里云存储网关负责把缓存中的数据上传到OSS对象存储。当有服务器需要读取数据时,如果数据在缓存中,可以立即获得数据而不必从OSS中下载。
例如一个1GB的数据文件,独享20M带宽上传到OSS需要10分钟左右,而写入到云存储网关只需要几十秒。如果其他服务器需要这个数据文件,从云存储网关的缓存读取只需要十几秒,而如果从OSS下载还是需要10分钟。
在数据集市的应用场景中,一份数据通常都会一次写入,多次读取,多次读取后网络带宽和时间的节省就会非常可观了,这种效果就像汽车发动机的涡轮增压。而且,这个带涡轮增压的数据集市还是个双涡轮:
阿里云存储网关同时提供云下版和云上版,分别支持在客户IDC数据中心和阿里云ECS中部署,支持NFS(Linux)和CIFS(Windows)两种访问协议。
假如客户IDC数据中心的一台服务器写入了一批数据文件到云存储网关:
当客户数据中心的其他服务器在访问这些数据时,将自动从缓存中读取:
同时,阿里云存储网关还将把这些数据自动同步到OSS:
云上版的云存储网关就可以将这些数据提供给云上的各服务器:
考虑到安全问题,阿里云存储网关提供只读和读写两种共享:
阿里云存储网关还支持数据的加密上传: