基于表格存储Tablestore和OSS实现企业网盘

  • 时间:
  • 浏览:2
  • 来源:uu快3IOS下载_uu快3app下载_和值

在开源解决方案中,数据有刚刚我会丢失,影响最终的业务,而在Tablestore解决方案中,都还要提供更高的可靠性,都还要让数据不丢失,保障业务的准确执行。

基于上述的表、二级索引和多元索引,亲戚亲戚朋友儿就能满足几乎所有的查询需求。

表格存储Tablestore是阿里云自研的实物化数据存储平台,提供海量实物化数据存储以及快速的查询和分析服务。表格存储Tablestore的分布式存储和强大的索引引擎并能支持PB级存储、千万TPS以及毫秒级延迟的服务能力。阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。

网盘类型的元数据非常适合存储在Tablestore,主后来刚刚我网盘类型元数据的一些实物和Tablestore匹配。

基于Tablestore存储网盘架构方案如图:

表格存储 (Tablestore) 提供专业的免费技术咨询服务,欢迎加入亲戚亲戚朋友儿的钉钉讨论群。群号 : 233007953

通过主表和二级索引,刚刚我并能完成相册的基本功能,如文件的上传下载等。刚刚我想完成更加丰沛 和比较复杂的查询功能(多个字段关联查询),都还要使用Tablestore的多元索引功能,其中多元索引的索引定义:

接下来,亲戚亲戚朋友儿通过有一个网盘元数据的使用示例增加理解。

首先,亲戚亲戚朋友儿设计Tablestore中主表实物:

在现有的各种各样的云产品中,能满足上述网盘元数据需求的产品不须多。表格存储Tablestore是阿里云借鉴谷歌Bigtable论文研发的一款分布式数据库产品,都还要提供超大规模的存储容量,火山岩石石的分布式架构也提供了易于横向扩展的实物,理论上都还要存储的数据量是不受限制的。该数据库10年前就结速英语 自研,经太久年的双十一、公有云客户的锤炼沉淀,保证了系统的可靠性和稳定性。

Tablestore的主表在查询另有一个都还要理解为是十十几个 主键列上的前缀索引,上述主表实物中,支持的查询包括:

在Tablestore云解决方案中,用户只还要运维我每个人的线程池池,不还要运维任何的存储系统、查询系统和一些上边件,运维压力大大减少,一同也减少了运维方面的成本开支。另外,Tablestore是Serverless的服务化产品,不还要关注扩容、水位等事项,只还要关注功能开发即可。

借助多个数据库每个人的优势都还要分别解决不同场景的需求,但多个数据库组合的方案同样也带来了新的问题报告 :

至此,开源解决方案和Tablestore云解决方案都介绍完了,使用了Tablestore云解决方案后,能带来不少的收益。

传统的网盘元数据刚刚我会采用关系数据库Mysql的方案,借助关系型数据库强大的查询能力,用户可直接通过SQL话语实现文件的元数据多维度查询、数据统计分析等。刚刚我,Mysql等关系数据库通常有如下一些问题报告 :

在开源解决方案中使用多个系统,而Tablestore解决方案中并能有一个系统,系统数减少后,系统架构会更简单,系统刚刚我产生的风险会更少,系统的稳定性等会更高,都还要提供更优质的服务体验。

网盘是本身在线存储服务,服务商为用户提供文件的存储、访问、共享等文件管理必备的基本功能。亲戚亲戚朋友儿将其数据分为本身:

新业务还要产品快速上线,这另有一个既要高并发,又要保证低延迟,一同又希望兼顾成本最低。随着系统用户的增多减少以及不可预期的热点事件,还要并能动态的扩容和缩容来节约成本,比如系统起步阶段都还要使用一款全托管的Serverless数据库,来专注于业务研发,无需担心软硬件配置、故障、集群扩展、安全等问题报告 ,在保证服务高可用性的一同,极大地减少了管理及运维成本,帮助产品快速上线。

OSS和表格存储Tablestore一样,全是Serverless的云服务,其数据设计持久性不低于99.9999999999%(12 个 9),服务设计可用性(或业务连续性)不低于 99.995%。OSS按量使用且无需关心运维。使用oss进行文件的存储会使应用在稳定性、安全性、成本、弹性上全是具有优势。无需我每个人搭建和维护文件系统,开发人员都还要把精力装进核心功能的开发上。

文件数据直接使用OSS存储即可,简单高效。最比较复杂的是元数据的存储和查询,接下来亲戚亲戚朋友儿看下网盘元数据(Meta)的存储和查询解决方案。

Tablestore支持全局二级索引。全局二级索引支持在指定列上建立索引,生成的索引表中数据按您指定的索引列进行排序,主表的每有一个写入都将自动异步同步到索引表。您只向主表中写入数据,根据索引表进行查询,在一些场景下,将极大的提高查询的强度。例如网盘场景下刚刚我主键查询并能满足需求,对于简单的查询(例如单个字段查询)亲戚亲戚朋友儿都还要直接创建全局二级索引,通过全局二级索引并能快速的查询信息。

为了解决如上问题报告 ,多种数据库组合的方案便孕育而生,如Mysql分库分表+Elasticsearch的方案解决写入和查询能力等问题报告 ,哪此方案的架构刚刚我如下:

存储海量网盘元数据的一同,还要满足强一致、高可用、低成本等要求。用户的文件数量巨大,比如图片、视频、工作文档是数量最多的数据,有一个企业的网盘元数据规模通常在TB级别。传统的Mysql方案中,数据量一旦达到瓶颈,便还要重新创建更大规模的分库刚刚我进行数据的全量迁移,一同数据迭代、膨胀带来的困扰是MySql方案难于逾越的门槛。刚刚我,如此规模的数据存储刚刚我不适合用单机的关系型数据库了,后来适合分库分表了,而还要一款分布式NoSQL数据库,另有一个都还要将数据按一定的路由规则分布到不同机器上,实现自动的水平扩展,非常适合存储海量数据。

另外,刚刚我还有一些统计聚合需求,在运营产品和制作报表另有一个刚刚我会用到。哪此都都还要基于多元索引完成,比如:

Tablestore云架构方案相对于开源方案,系统更少,从零结速英语 到上线还要的开发时间更少,一同,Tablestore是serverless的云服务,全球多个区域即开即用,都还要大大降低客户的开发上线的时间,提前将产品推出,抢先争取市场领先优势。

网盘类型元数据与一般元数据不同的是有好多好多 的tag标签,刚刚我系统还要具备搜索查询多维度嵌套标签的能力。以图片为例:用户通过智能媒体的分析服务,分析图片刚刚我为图片增加标签,用户还可提取人脸识别相关信息,提取的信息也还要存储到文件元数据信息中。图片的元数据信息量不断增加,格式、类型也在不断呈现多元化。刚刚我,还要具备丰沛 的查询类型,如多维度、范围、模糊查询、地理位置等,一同具备排序、统计等功能。比如用户希望查找在杭州市某个商圈1km内的照片?查找2019年所有关于儿子成绩单的excel文件?这另有一个关系型数据库刚刚我在查询功能和性能上不一定能满足需求,还要额外使用一些查询引擎如Solr、Elasticsearch等。

假设亲戚亲戚朋友儿的产品还要给用户提供我每个人相册服务。将相册中的图片和视频存储在对象存储OSS中,将图片和视频的元数据(Meta Data)存储在表格存储Tablestore中。一般的文件Meta信息包括:用户id、文件id、文件类型、创建时间、照片地点、文件大小、文件情况汇报、标签信息、OSS链接、算是星标文件、用户描述信息。