申请专栏作者 参展
投稿发布
您的当前位置:主页 > yabo亚博体育下载 > 正文

结构化yabo88滚球存储,如何设计才能满足需求?

来源: 时间:2019-09-07
请支持本站,点击下面的广告后浏览!

?

可思yabo88滚球-人工智能资讯平台sykv.com

阿里妹导读:任何应用系统都离不开对yabo88滚球的处理,yabo88滚球也是驱动业务创新以及向智能化发展最核心的东西。yabo88滚球处理的技术已经是核心竞争力。在一个完备的技术架构中,通常也会由应用系统以及yabo88滚球系统构成。应用系统负责处理业务逻辑,而yabo88滚球系统负责处理yabo88滚球。本篇文章主要面向yabo88滚球系统的研发工程师和架构师,希望对你有所启发。

内容来自可思yabo88滚球sykv.com

前言

内容来自可思yabo88滚球sykv.com

传统的yabo88滚球系统就是所谓的『大yabo88滚球』技术,这是一个被创造出来的名词,代表着新的技术门槛。近几年得益于产业的发展、业务的创新、yabo88滚球的爆发式增长以及开源技术的广泛应用,经历多年的磨炼以及在广大开发者的共建下,大yabo88滚球的核心组件和技术架构日趋成熟。特别是随着云的发展,让『大yabo88滚球』技术的使用门槛进一步降低,越来越多的业务创新会由yabo88滚球来驱动完成。

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

『大yabo88滚球』技术会逐步向轻量化和智能化方向发展,最终也会成为一个研发工程师的必备技能之一,而这个过程必须是由云计算技术来驱动以及在云平台之上才能完成。应用系统和yabo88滚球系统也会逐渐融合,yabo88滚球系统不再隐藏在应用系统之后,而是也会贯穿在整个业务交互逻辑。传统的应用系统,重点在于交互。而现代的应用系统,在与你交互的同时,会慢慢地熟悉你。yabo88滚球系统的发展驱动了业务系统的发展,从业务化到规模化,再到智能化。 内容来自可思yabo88滚球sykv.com

业务化:完成最基本的业务交互逻辑。 可思yabo88滚球-人工智能资讯平台sykv.com

规模化:分布式和大yabo88滚球技术的应用,满足业务规模增长的需求以及yabo88滚球的积累。

可思yabo88滚球-www.sykv.cn,sykv.com

智能化:人工智能技术的应用,挖掘yabo88滚球的价值,驱动业务的创新。

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

向规模化和智能化的发展,仍然存在一定的技术门槛。成熟的开源技术的应用能让一个大yabo88滚球系统的搭建变得简单,同时大yabo88滚球架构也变得很普遍,例如广为人知的Lambda架构,一定程度上降低了技术的入门门槛。但是对yabo88滚球系统的后续维护,例如对大yabo88滚球组件的规模化应用、运维管控和成本优化,需要掌握大yabo88滚球、分布式技术及复杂环境下定位问题的能力,仍然具备很高的技术门槛。 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

yabo88滚球系统的核心组件包含yabo88滚球管道、分布式存储和分布式计算,yabo88滚球系统架构的搭建会是使用这些组件的组合拼装。每个组件各司其职,组件与组件之间进行上下游的yabo88滚球交换,而不同模块的选择和组合是架构师面临的最大的挑战。

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

本篇文章主要面向yabo88滚球系统的研发工程师和架构师,我们会首先对yabo88滚球系统核心组件进行拆解,介绍每个组件下对应的开源组件以及云上产品。之后会深入剖析yabo88滚球系统中结构化yabo88滚球的存储技术,介绍阿里云Tablestore选择哪种设计理念来更好的满足yabo88滚球系统中对结构化yabo88滚球存储的需求。

可思yabo88滚球sykv.com,sykv.cn

yabo88滚球系统架构

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

核心组件 可思yabo88滚球-www.sykv.cn,sykv.com

? 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

?

可思yabo88滚球sykv.com,sykv.cn

上图是一个比较典型的技术架构,包含应用系统和yabo88滚球系统。这个架构与具体业务无关联,主要用于体现一个yabo88滚球应用系统中会包含的几大核心组件,以及组件间的yabo88滚球流关系。应用系统主要实现了应用的主要业务逻辑,处理业务yabo88滚球或应用元yabo88滚球等。yabo88滚球系统主要对业务yabo88滚球及其他yabo88滚球进行汇总和处理,对接BI、推荐或风控等系统。整个系统架构中,会包含以下比较常见的几大核心组件: 可思yabo88滚球-www.sykv.cn,sykv.com

关系yabo88滚球库:用于主业务yabo88滚球存储,提供事务型yabo88滚球处理,是应用系统的核心yabo88滚球存储。

可思yabo88滚球-人工智能资讯平台sykv.com

高速缓存:对复杂或操作代价昂贵的结果进行缓存,加速访问。 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

搜索引擎:提供复杂条件查询和全文检索。 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

队列:用于将yabo88滚球处理流程异步化,衔接上下游对yabo88滚球进行实时交换。异构yabo88滚球存储之间进行上下游对接的核心组件,例如yabo88滚球库系统与缓存系统或搜索系统间的yabo88滚球对接。也用于yabo88滚球的实时提取,在线存储到离线存储的实时归档。 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

非结构化大yabo88滚球存储:用于海量图片或视频等非结构化yabo88滚球的存储,同时支持在线查询或离线计算的yabo88滚球访问需求。

可思yabo88滚球-www.sykv.cn,sykv.com

结构化大yabo88滚球存储:在线yabo88滚球库也可作为结构化yabo88滚球存储,但这里提到的结构化yabo88滚球存储模块,更偏在线到离线的衔接,特征是能支持高吞吐yabo88滚球写入以及大规模yabo88滚球存储,存储和查询性能可线性扩展。可存储面向在线查询的非关系型yabo88滚球,或者是用于关系yabo88滚球库的历史yabo88滚球归档,满足大规模和线性扩展的需求,也可存储面向离线分析的实时写入yabo88滚球。 可思yabo88滚球-人工智能资讯平台sykv.com

批量计算:对非结构化yabo88滚球和结构化yabo88滚球进行yabo88滚球分析,批量计算中又分为交互式分析和离线计算两类,离线计算需要满足对大规模yabo88滚球集进行复杂分析的能力,交互式分析需要满足对中等规模yabo88滚球集实时分析的能力。 可思yabo88滚球sykv.com,sykv.cn

流计算:对非结构化yabo88滚球和结构化yabo88滚球进行流式yabo88滚球分析,低延迟产出实时视图。

可思yabo88滚球-www.sykv.cn,sykv.com

对于yabo88滚球存储组件我们再进一步分析,当前各类yabo88滚球存储组件的设计是为满足不同场景下yabo88滚球存储的需求,提供不同的yabo88滚球模型抽象,以及面向在线和离线的不同的优化偏向。我们来看下下面这张详细对比表:

可思yabo88滚球sykv.com,sykv.cn

? 本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

? 可思yabo88滚球-人工智能资讯平台sykv.com

派生yabo88滚球体系

可思yabo88滚球-www.sykv.cn,sykv.com

在yabo88滚球系统架构中,我们可以看到会存在多套存储组件。对于这些存储组件中的yabo88滚球,有些是来自应用的直写,有些是来自其他存储组件的yabo88滚球复制。例如业务关系yabo88滚球库的yabo88滚球通常是来自业务,而高速缓存和搜索引擎的yabo88滚球,通常是来自业务yabo88滚球库的yabo88滚球同步与复制。不同用途的存储组件有不同类型的上下游yabo88滚球链路,我们可以大概将其归类为主存储和辅存储两类,这两类存储有不同的设计目标,主要特征为: 内容来自可思yabo88滚球sykv.com

主存储:yabo88滚球产生自业务或者是计算,通常为yabo88滚球首先落地的存储。ACID等事务特性可能是强需求,提供在线应用所需的低延迟业务yabo88滚球查询。

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

辅存储:yabo88滚球主要来自主存储的yabo88滚球同步与复制,辅存储是主存储的某个视图,通常面向yabo88滚球查询、检索和分析做优化。

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

为何会有主存储和辅存储的存在?能不能统一存储统一读写,满足所有场景的需求呢?目前看还没有,存储引擎的实现技术有多种,选择行存还是列存,选择B+tree还是LSM-tree,存储的是不可变yabo88滚球、频繁更新yabo88滚球还是时间分区yabo88滚球,是为高速随机查询还是高吞吐扫描设计等等。yabo88滚球库产品目前也是分两类,TP和AP,虽然在往HTAP方向走,但实现方式仍然是底层存储分为行存和列存。

本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

再来看主辅存储在实际架构中的例子,例如关系yabo88滚球库中主表和二级索引表也可以看做是主与辅的关系,索引表yabo88滚球会随着主表yabo88滚球而变化,强一致同步并且为某些特定条件组合查询而优化。关系yabo88滚球库与高速缓存和搜索引擎也是主与辅的关系,采用满足最终一致的yabo88滚球同步方式,提供高速查询和检索。在线yabo88滚球库与数仓也是主与辅的关系,在线yabo88滚球库内yabo88滚球集中复制到数仓来提供高效的BI分析。

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

这种主与辅的存储组件相辅相成的架构设计,我们称之为『派生yabo88滚球体系』。在这个体系下,最大的技术挑战是yabo88滚球如何在主与辅之间进行同步与复制。 可思yabo88滚球-人工智能资讯平台sykv.com

? 可思yabo88滚球-www.sykv.cn,sykv.com

? 可思yabo88滚球sykv.com,sykv.cn

上图我们可以看到几个常见的yabo88滚球复制方式: 内容来自可思yabo88滚球sykv.com

应用层多写:这是实现最简单、依赖最少的一种实现方式,通常采取的方式是在应用代码中先向主存储写yabo88滚球,后向辅存储写yabo88滚球。这种方式不是很严谨,通常用在对yabo88滚球可靠性要求不是很高的场景。因为存在的问题有很多,一是很难保证主与辅之间的yabo88滚球一致性,无法处理yabo88滚球写入失效问题;二是yabo88滚球写入的消耗堆积在应用层,加重应用层的代码复杂度和计算负担,不是一种解耦很好的架构;三是扩展性较差,yabo88滚球同步逻辑固化在代码中,比较难灵活添加辅存储。

可思yabo88滚球sykv.com

异步队列复制:这是目前被应用比较广的架构,应用层将派生yabo88滚球的写入通过队列来异步化和解耦。这种架构下可将主存储和辅存储的yabo88滚球写入都异步化,也可仅将辅存储的yabo88滚球写入异步化。第一种方式必须接受主存储可异步写入,否则只能采取第二种方式。而如果采用第二种方式的话,也会遇到和上一种『应用层多写』方案类似的问题,应用层也是多写,只不过是写主存储与队列,队列来解决多个辅存储的写入和扩展性问题。

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

CDC(Change Data Capture)技术:这种架构下yabo88滚球写入主存储后会由主存储再向辅存储进行同步,对应用层是最友好的,只需要与主存储打交道。主存储到辅存储的yabo88滚球同步,则可以再利用异步队列复制技术来做。不过这种方案对主存储的能力有很高的要求,必须要求主存储能支持CDC技术。一个典型的例子就是MySQL+Elasticsearch的组合架构,Elasticsearch的yabo88滚球通过MySQL的binlog来同步,binlog就是MySQL的CDC技术。 可思yabo88滚球-www.sykv.cn,sykv.com

『派生yabo88滚球体系』是一个比较重要的技术架构设计理念,其中CDC技术是更好的驱动yabo88滚球流动的关键手段。具备CDC技术的存储组件,才能更好的支撑yabo88滚球派生体系,从而能让整个yabo88滚球系统架构更加灵活,降低了yabo88滚球一致性设计的复杂度,从而来面向高速迭代设计。可惜的是大多数存储组件不具备CDC技术,例如HBase。而阿里云Tablestore具备非常成熟的CDC技术,CDC技术的应用也推动了架构的创新,这个在下面的章节会详细介绍。 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

一个好的产品,在产品内部会采用派生yabo88滚球架构来不断扩充产品的能力,能将派生的过程透明化,内部解决yabo88滚球同步、一致性及资源配比问题。而现实中大多数技术架构采用产品组合的派生架构,需要自己去管理yabo88滚球同步与复制等问题,例如常见的MySQL+Elasticsearch,或HBase+Solr等。这种组合通常被忽视的最大问题是,在解决CDC技术来实时复制yabo88滚球后,如何解决yabo88滚球一致性问题?如何追踪yabo88滚球同步延迟?如何保证辅存储与主存储具备相同的yabo88滚球写入能力?

可思yabo88滚球-www.sykv.cn,sykv.com

存储组件的选型

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

架构师在做架构设计时,最大的挑战是如何对计算组件和存储组件进行选型和组合,同类的计算引擎的差异化相对不大,通常会优先选择成熟和生态健全的计算引擎,例如批量计算引擎Spark和流计算引擎Flink。而对于存储组件的选型是一件非常有挑战的事,存储组件包含yabo88滚球库(又分为SQL和NoSQL两类,NoSQL下又根据各类yabo88滚球模型细分为多类)、对象存储、文件存储和高速缓存等不同类别。带来存储选型复杂度的主要原因是架构师需要综合考虑yabo88滚球分层、成本优化以及面向在线和离线的查询优化偏向等各种因素,且当前的技术发展还是多样化的发展趋势,不存在一个存储产品能满足所有场景下的yabo88滚球写入、存储、查询和分析等需求。有一些经验可以分享给大家: 可思yabo88滚球-人工智能资讯平台sykv.com

yabo88滚球模型和查询语言仍然是不同yabo88滚球库最显着的区别,关系模型和文档模型是相对抽象的模型,而类似时序模型、图模型和键值模型等其他非关系模型是相对具象的抽象,如果场景能匹配到具象模型,那选择范围能缩小点。 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

存储组件通常会划分到不同的yabo88滚球分层,选择面向规模、成本、查询和分析性能等不同维度的优化偏向,选型时需要考虑清楚对这部分yabo88滚球存储所要求的核心指标。 内容来自可思yabo88滚球sykv.com

区分主存储还是辅存储,对yabo88滚球复制关系要有明确的梳理。(主存储和辅存储是什么在下一节介绍) 内容来自可思yabo88滚球sykv.com

建立灵活的yabo88滚球交换通道,满足快速的yabo88滚球搬迁和存储组件间的切换能力,构建快速迭代能力比应对未知需求的扩展性更重要。

可思yabo88滚球-www.sykv.cn,sykv.com

另外关于yabo88滚球存储架构,我认为最终的趋势是:

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

yabo88滚球一定需要分层

可思yabo88滚球sykv.com,sykv.cn

yabo88滚球最终的归属地一定是OSS 可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

会由一个统一的分析引擎来统一分析的入口,并提供统一的查询语言 可思yabo88滚球-人工智能资讯平台sykv.com

结构化大yabo88滚球存储 可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

定位

可思yabo88滚球-www.sykv.cn,sykv.com

结构化大yabo88滚球存储在yabo88滚球系统中是一个非常关键的组件,它起的一个很大的作用是连接『在线』和『离线』。作为yabo88滚球中台中的结构化yabo88滚球汇总存储,用于在线yabo88滚球库中yabo88滚球的汇总来对接离线yabo88滚球分析,也用于离线yabo88滚球分析的结果集存储来直接支持在线查询或者是yabo88滚球派生。根据这样的定位,我们总结下对结构化大yabo88滚球存储的几个关键需求。 可思yabo88滚球-人工智能资讯平台sykv.com

关键需求 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

大规模yabo88滚球存储:结构化大yabo88滚球存储的定位是集中式的存储,作为在线yabo88滚球库的汇总(大宽表模式),或者是离线计算的输入和输出,必须要能支撑PB级规模yabo88滚球存储。 可思yabo88滚球sykv.com,sykv.cn

高吞吐写入能力:yabo88滚球从在线存储到离线存储的转换,通常是通过ETL工具,T+1式的同步或者是实时同步。结构化大yabo88滚球存储需要能支撑多个在线yabo88滚球库内yabo88滚球的导入,也要能承受大yabo88滚球计算引擎的海量结果yabo88滚球集导出。所以必须能支撑高吞吐的yabo88滚球写入,通常会采用一个为写入而优化的存储引擎。 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

丰富的yabo88滚球查询能力:结构化大yabo88滚球存储作为派生yabo88滚球体系下的辅存储,需要为支撑高效在线查询做优化。常见的查询优化包括高速缓存、高并发低延迟的随机查询、复杂的任意字段条件组合查询以及yabo88滚球检索。这些查询优化的技术手段就是缓存和索引,其中索引的支持是多元化的,面向不同的查询场景提供不同类型的索引。例如面向固定组合查询的基于B+tree的二级索引,面向地理位置查询的基于R-tree或BKD-tree的空间索引或者是面向多条件组合查询和全文检索的倒排索引。 可思yabo88滚球sykv.com,sykv.cn

存储和计算成本分离:存储计算分离是目前一个比较热的架构实现,对于一般应用来说比较难体会到这个架构的优势。在云上的大yabo88滚球系统下,存储计算分离才能完全发挥优势。存储计算分离在分布式架构中,最大的优势是能提供更灵活的存储和计算资源管理手段,大大提高了存储和计算的扩展性。对成本管理来说,只有基于存储计算分离架构实现的产品,才能做到存储和计算成本的分离。

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

存储和计算成本的分离的优势,在大yabo88滚球系统下会更加明显。举一个简单的例子,结构化大yabo88滚球存储的存储量会随着yabo88滚球的积累越来越大,但是yabo88滚球写入量是相对平稳的。所以存储需要不断的扩大,但是为了支撑yabo88滚球写入或临时的yabo88滚球分析而所需的计算资源,则相对来说比较固定,是按需的。 可思yabo88滚球-人工智能资讯平台sykv.com

yabo88滚球派生能力:一个完整的yabo88滚球系统架构下,需要有多个存储组件并存。并且根据对查询和分析能力的不同要求,需要在yabo88滚球派生体系下对辅存储进行动态扩展。所以对于结构化大yabo88滚球存储来说,也需要有能扩展辅存储的派生能力,来扩展yabo88滚球处理能力。而判断一个存储组件是否具备更好的yabo88滚球派生能力,就看是否具备成熟的CDC技术。 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

计算生态:yabo88滚球的价值需要靠计算来挖掘,目前计算主要划为批量计算和流计算。对于结构化大yabo88滚球存储的要求,一是需要能够对接主流的计算引擎,例如Spark、Flink等,作为输入或者是输出;二是需要有yabo88滚球派生的能力,将自身yabo88滚球转换为面向分析的列存格式存储至yabo88滚球湖系统;三是自身提供交互式分析能力,更快挖掘yabo88滚球价值。

内容来自可思yabo88滚球sykv.com

满足第一个条件是最基本要求,满足第二和第三个条件才是加分项。

可思yabo88滚球sykv.com,sykv.cn

开源产品 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

目前开源界比较知名的结构化大yabo88滚球存储是HBase和Cassandra,Cassandra是WideColumn模型NoSQL类别下排名Top-1的产品,在国外应用比较广泛。但这里我们重点提下HBase,因为在国内的话相比Cassandra会更流行一点。

内容来自可思yabo88滚球sykv.com

HBase是基于HDFS的存储计算分离架构的WideColumn模型yabo88滚球库,拥有非常好的扩展性,能支撑大规模yabo88滚球存储,它的优点为: 可思yabo88滚球sykv.com,sykv.cn

存储计算分离架构:底层基于HDFS,分离的架构可带来存储和计算各自弹性扩展的优势,与计算引擎例如Spark可共享计算资源,降低成本。

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

LSM存储引擎:为写入优化设计,能提供高吞吐的yabo88滚球写入。 可思yabo88滚球sykv.com

开发者生态成熟,接入主流计算引擎:作为发展多年的开源产品,在国内也有比较多的应用,开发者社区很成熟,对接几大主流的计算引擎。

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

HBase有其突出的优点,但也有几大不可忽视的缺陷:

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

查询能力弱:提供高效的单行随机查询以及范围扫描,复杂的组合条件查询必须使用Scan+Filter的方式,稍不注意就是全表扫描,效率极低。HBase的Phoenix提供了二级索引来优化查询,但和MySQL的二级索引一样,只有符合最左匹配的查询条件才能做索引优化,可被优化的查询条件非常有限。 可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

yabo88滚球派生能力弱:前面章节提到CDC技术是支撑yabo88滚球派生体系的核心技术,HBase不具备CDC技术。HBase Replication具备CDC的能力,但是仅为HBase内部主备间的yabo88滚球同步机制。有一些开源组件利用其内置Replication能力来尝试扩展HBase的CDC技术,例如用于和Solr同步的Lily Indexer,但是比较可惜的是这类组件从理论和机制上分析就没法做到CDC技术所要求的yabo88滚球保序、最终一致性保证等核心需求。

内容来自可思yabo88滚球sykv.com

成本高:前面提到结构化大yabo88滚球存储的关键需求之一是存储与计算的成本分离,HBase的成本取决于计算所需CPU核数成本以及磁盘的存储成本,基于固定配比物理资源的部署模式下CPU和存储永远会有一个无法降低的最小比例关系。即随着存储空间的增大,CPU核数成本也会相应变大,而不是按实际所需计算资源来计算成本。要达到完全的存储与计算成本分离,只有云上的Serverless服务模式才能做到。

可思yabo88滚球sykv.com,sykv.cn

运维复杂:HBase是标准的Hadoop组件,最核心依赖是Zookeeper和HDFS,没有专业的运维团队几乎无法运维。

可思yabo88滚球sykv.com

热点处理能力差:HBase的表的分区是Range Partition的方式,相比Hash Partition的模式最大的缺陷就是会存在严重的热点问题。HBase提供了大量的最佳实践文档来指引开发者在做表的Rowkey设计的时候避免热点,例如采用hash key,或者是salted-table的方式。但这两种方式下能保证yabo88滚球的分散均匀,但是无法保证yabo88滚球访问的热度均匀。访问热度取决于业务,需要一种能根据热度来对Region进行Split或Move等负载均衡的自动化机制。 可思yabo88滚球sykv.com,sykv.cn

国内的高级玩家大多会基于HBase做二次开发,基本都是在做各种方案来弥补HBase查询能力弱的问题,根据自身业务查询特色研发自己的索引方案,例如自研二级索引方案、对接Solr做全文索引或者是针对区分度小的yabo88滚球集的bitmap索引方案等等。总的来说,HBase是一个优秀的开源产品,有很多优秀的设计思路值得借鉴。

本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

Tablestore

本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

Tablestore是阿里云自研的结构化大yabo88滚球存储产品,具体产品介绍可以参考官网以及权威指南。Tablestore的设计理念很大程度上顾及了yabo88滚球系统内对结构化大yabo88滚球存储的需求,并且基于派生yabo88滚球体系这个设计理念专门设计和实现了一些特色的功能。 可思yabo88滚球-人工智能资讯平台sykv.com

★ 设计理念

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

Tablestore的设计理念一方面吸收了优秀开源产品的设计思路,另一方面也是结合实际业务需求演化出了一些特色设计方向,简单概括下Tablestore的技术理念: 可思yabo88滚球-www.sykv.cn,sykv.com

存储计算分离架构:采用存储计算分离架构,底层基于飞天盘古分布式文件系统,这是实现存储计算成本分离的基础。

可思yabo88滚球sykv.com,sykv.cn

LSM存储引擎:LSM和B+tree是主流的两个存储引擎实现,其中LSM专为高吞吐yabo88滚球写入优化,也能更好的支持yabo88滚球冷热分层。 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

Serverless产品形态:基于存储计算分离架构来实现成本分离的最关键因素是Serverless服务化,只有Serverless服务才能做到存储计算成本分离。大yabo88滚球系统下,结构化大yabo88滚球存储通常会需要定期的大规模yabo88滚球导入,来自在线yabo88滚球库或者是来自离线计算引擎,在此时需要有足够的计算能力能接纳高吞吐的写入,而平时可能仅需要比较小的计算能力,计算资源要足够的弹性。另外在派生yabo88滚球体系下,主存储和辅存储通常是异构引擎,在读写能力上均有差异,有些场景下需要灵活调整主辅存储的配比,此时也需要存储和计算资源弹性可调。

可思yabo88滚球-人工智能资讯平台sykv.com

多元化索引,提供丰富的查询能力:LSM引擎特性决定了查询能力的短板,需要索引来优化查询。而不同的查询场景需要不同类型的索引,所以Tablestore提供多元化的索引来满足不同类型场景下的yabo88滚球查询需求。

可思yabo88滚球-www.sykv.cn,sykv.com

CDC技术:Tablestore的CDC技术名为Tunnel Service,支持全量和增量的实时yabo88滚球订阅,并且能无缝对接Flink流计算引擎来实现表内yabo88滚球的实时流计算。

可思yabo88滚球sykv.com,sykv.cn

拥抱开源计算生态:除了比较好的支持阿里云自研计算引擎如MaxCompute和Data Lake Analytics的计算对接,也能支持Flink和Spark这两个主流计算引擎的计算需求,无需yabo88滚球搬迁。

可思yabo88滚球-www.sykv.cn,sykv.com

流批计算一体:能支持Spark对表内全量yabo88滚球进行批计算,也能通过CDC技术对接Flink来对表内新增yabo88滚球进行流计算,真正实现批流计算结合。 可思yabo88滚球sykv.com

★ 特色功能 内容来自可思yabo88滚球sykv.com

多元化索引 可思yabo88滚球sykv.com,sykv.cn

?

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

?

可思yabo88滚球sykv.com,sykv.cn

Tablestore提供多种索引类型可选择,包含全局二级索引和多元索引。全局二级索引类似于传统关系yabo88滚球库的二级索引,能为满足最左匹配原则的条件查询做优化,提供低成本存储和高效的随机查询和范围扫描。多元索引能提供更丰富的查询功能,包含任意列的组合条件查询、全文搜索和空间查询,也能支持轻量级yabo88滚球分析,提供基本的统计聚合函数,两种索引的对比和选型可参考这篇文章。

可思yabo88滚球sykv.com

通道服务 可思yabo88滚球sykv.com,sykv.cn

? 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

? 可思yabo88滚球-www.sykv.cn,sykv.com

通道服务是Tablestore的CDC技术,是支撑yabo88滚球派生体系的核心功能,具体能力可参考这篇文章。能够被利用在异构存储间的yabo88滚球同步、事件驱动编程、表增量yabo88滚球实时订阅以及流计算场景。目前在云上Tablestore与Blink能无缝对接,也是唯一一个能直接作为Blink的stream source的结构化大yabo88滚球存储。 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

大yabo88滚球处理架构 本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

大yabo88滚球处理架构是yabo88滚球系统架构的一部分,其架构发展演进了多年,有一些基本的核心架构设计思路产出,例如影响最深远的Lambda架构。Lambda架构比较基础,有一些缺陷,所以在其基础上又逐渐演进出了Kappa、Kappa+等新架构来部分解决Lambda架构中存在的一些问题,详情介绍可以看下这篇文章的介绍。Tablestore基于CDC技术来与计算引擎相结合,基于Lambda架构设计了一个全新的Lambda plus架构。 可思yabo88滚球sykv.com

Lambda plus架构 可思yabo88滚球sykv.com,sykv.cn

? 可思yabo88滚球-人工智能资讯平台sykv.com

? 内容来自可思yabo88滚球sykv.com

Lambda架构的核心思想是将不可变的yabo88滚球以追加的方式并行写到批和流处理系统内,随后将相同的计算逻辑分别在流和批系统中实现,并且在查询阶段合并流和批的计算视图并展示给用户。基于Tablestore CDC技术我们将Tablestore与Blink进行了完整对接,可作为Blink的stream source、dim和sink,推出了Lambda plus架构:

可思yabo88滚球sykv.com,sykv.cn

Lambda plus架构中yabo88滚球只需要写入Tablestore,Blink流计算框架通过通道服务API直读表内的实时更新yabo88滚球,不需要用户双写队列或者自己实现yabo88滚球同步。 可思yabo88滚球sykv.com,sykv.cn

存储上,Lambda plus直接使用Tablestore作为master dataset,Tablestore支持用户在线系统低延迟读写更新,同时也提供了索引功能进行高效yabo88滚球查询和检索,yabo88滚球利用率高。

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

计算上,Lambda plus利用Blink流批一体计算引擎,统一流批代码。 可思yabo88滚球sykv.com

展示层,Tablestore提供了多元化索引,用户可自由组合多类索引来满足不同场景下查询的需求。

本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

总结 可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

本篇文章我们谈了yabo88滚球系统架构下的核心组件以及关于存储组件的选型,介绍了派生yabo88滚球体系这一设计理念。在派生yabo88滚球体系下我们能更好的理清存储组件间的yabo88滚球流关系,也基于此我们对结构化大yabo88滚球存储这一组件提了几个关键需求。阿里云Tablestore正是基于这一理念设计,并推出了一些特色功能,希望能通过本篇文章对我们有一个更深刻的了解。

可思yabo88滚球-www.sykv.cn,sykv.com

在未来,我们会继续秉承这一理念,为Tablestore内的结构化大yabo88滚球派生更多的便于分析的能力。会与开源计算生态做更多整合,接入更多主流计算引擎。 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com


转发量:

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片 匿名?

关于我们?? 免责声明?? 广告合作?? 版权声明?? 联系方式?? 原创投稿?? 网站地图??

Copyright?2005-2019 Sykv.com 可思yabo88滚球 版权所有 ?? ICP备案:京ICP备14056871号

人工智能资讯?? 人工智能资讯?? 人工智能资讯?? 人工智能资讯

?扫码入群
咨询反馈
扫码关注

微信公众号

返回顶部
关闭