uu快3下载安装_uu快3注册邀请码_手机版ios

阿里云InfluxDB技术内幕

时间:2020-02-28 05:12:08 出处:uu快3下载安装_uu快3注册邀请码_手机版ios

有好有几个 多实际InfluxDB的实时Cache情況可能如下图所示:

开源InfluxDB中原有的针对每个Cache的独立snapshot门限监测和执行逻辑保持不变。冷Cache无论size大小都执行snapshot的逻辑也保持不变(前面这样提到,InfluxDB还有好有几个 多多参数cache-snapshot-write-cold-duration,控制Cache变冷后,也或多或少或多或少我无数据写入后多久就还会做snapshot,该参数与主题关系不密切)。

 

但你们儿在外层新增了有好有几个 多整体管控的模块,当整个服务的所有Cache的总size达到设定门限时,则会对其中较大的那此Cache执行snapshot逻辑,以便及时刷盘,释放内存。

 

原本以来,无论Cache十有几个 ,每个Cache的实时size有多大,假如总计的大小系统要能承受,你们儿尽可能让Cache承载更多的数据,处置写放大,也提高最近数据的查询数率。

 

阿里云InfluxDB控制台是用户与数据分类整理服务进行交互的接口,用户对分类整理配置和分类整理源进行管理还要通过控制台。用户在控制台进行的操作,实际上是向阿里云InfluxDB发送相应的请求。

 

另外,超过限制后,还会设置OverLoad标识,它在收到新写入请求和新查询请求的流程中也还会被用到。查询请求预先检查OverLoad标识的流程如下图所示:

开源InfluxDB有一种的流程中,是这样上图中是不是OverLoad的判断的。或多或少或多或少假如写入请求对应shard的cache大小超过了限制参数,写入请求就还会失败。但你们儿从上图可否 想看 ,可能服务整体这样OverLoad,即使写负载比较大,原因分析分析着短时间写入请求对应shard的cache超出了设定限制,仍然会接受write请求,可能此时系统整体上确实是安全的。

 

这里还要提一下InfluxDB的写cache有有好有几个 多关联的参数cache-snapshot-memory-size和cache-max-memory-size,前者是启动shard的写cache启动snapshot的门限,后者是开始 英语 拒绝写入的门限。可能你们儿选定了有好有几个 多适当的cache-max-memory-size,则cache-snapshot-memory-size就还要显著小于cache-max-memory-size,或多或少若二者接近,很容易存在系统还没反应过来,就可能达到cache-max-memory-size,原因分析分析着写入失败。而当cache-snapshot-memory-size显著小于cache-max-memory-size时,cache-max-memory-size参数的价值就降低了(shard的cache大小几乎这样可能接近该值就早已snapshot了)。或多或少相互关系产生了上述微妙的矛盾。

用户在数据源所在机器上安装数据分类整理工具后,分类整理工具即可开始 英语 分类整理数据并上传到阿里云InfluxDB。分类整理工具会周期性地从阿里云InfluxDB获得该分类整理源的配置信息,判断是不是还要开启或关闭分类整理数据,同時 ,也会判断分类整理源正在使用的分类整理配置是不是有更新,若有,则中断当前数据的分类整理,或多或少以新的配置信息开始 英语 分类整理数据。

 

当分类整理工具向阿里云InfluxDB发送获得分类整理源配置的请求时,除了获得最新的配置信息,也会更新分类整理源配置中的最新连接上报成功时间,根据该时间,用户可否 知道分类整理工具的情況,是不是成功运行并与阿里云InfluxDB建立连接。

 

目前,阿里云InfluxDB支持分类整理的数据类型有有一种:MySQL、MongoDB、Redis和系统监控。根据分类整理源的配置,分类整理工具自动分类整理某有一种类型的数据并上传到阿里云InfluxDB中。对于发送的写入数据请求,阿里云InfluxDB会更新对应的分类整理源的最新分类整理上报成功时间,根据该时间,用户可否 知道最近一次分类整理数据发送到阿里云InfluxDB的时间,实时监控数据是不是成功到达阿里云InfluxDB。

 

图中的淡蓝色箭头偏离 展示了分类整理工具即会向阿里云InfluxDB获得分类整理源配置,也会更新其信息。橙色箭头表示分类整理工具向阿里云InfluxDB发送写入数据的请求。

 

阿里云InfluxDB基于开源InfluxDB,提供和开源InfluxDB详细相同的API和使用生态,并进一步对开源InfluxDB在内存使用等方面做了优化提升,增强了服务的稳定性。

 

阿里云InfluxDB还基于开源Telegraf提供了智能化的数据分类整理端,覆盖Telegraf原有的所有功能,并大幅提升了使用的便捷性。用户可否 在阿里云控制台通过点击鼠标动态调整分类整理策略,而不让学习和编辑冗杂的Telegraf配置文件。

 

阿里云InfluxDB的控制台对服务的各项主要指标也进行了监控和直观的图形化展示,方便用户预见疑问、发现疑问、了解服务当前和历史情況。

 

下面你们儿将对阿里云InfluxDB的那此特点进行详细解读。

 

阿里云InfluxDB基于开源InfluxDB做了或多或少或多或少提升与强化。本文介绍的全局Cache管控和Load Shedding机制或多或少或多或少我其中重要的有好有几个 多方面。它们一定程度上化解了开源InfluxDB的配置参数不足英文整体性和自适应性的不足英文,既保护了实例,又充分利用了硬件资源。

 

未来阿里云InfluxDB还将在内存管理方面继续探索和优化,给用户提供最佳的服务和体验。

 

DB-Engines 2019年9月的时序数据库排行榜

你们儿从或多或少技术论坛和偏离 重度使用开源InfluxDB的企业客户了解到,你们在使用过程中遇到了InfluxDB进程存在OOM而原因分析分析着进程退出,服务不可用的情況。这样,开源InfluxDB的OOM疑问究竟是怎么才能 才能 存在的?你们儿就先来看看或多或少疑问的来龙去脉。

 

这样说起来,是还会对于内存大的机器,将有好有几个 多参数设置大或多或少;对于内存小的机器,将有好有几个 多参数调小或多或少,就万事大吉了呢?疑问显然这样这样简单。回顾里边你们儿讲的InfluxDB数据管理层次,有好有几个 多Database可是不是多个RP,有好有几个 多RP又有多个Shard,或多或少或多或少有好有几个 多服务一共会有十有几个 个Shard Cache是好难选取的,可能随着Database和RP的增加或减少而变化,甚至可能存在补写老数据的情況,有好有几个 多RP下承担写入的Cache也会不止有好有几个 多。

 

或多或少或多或少确实前述有好有几个 多参数设置的何必 大,但当Cache数量较多时,服务可能仍然会吃光内存,最终存在OOM。

而有了里边流程图额外的条件判断,就可否 处置或多或少情況,让二者较为接近或多或少或多或少我会造成写入失败。

 

如图,系统中的实际Cache可能会有或多或少或多或少,且实时的大小各不相同,或多或少或多或少你们儿增加了对全局所有Cache的统计与管理。简要的架构如下图所示:

开源的数据分类整理工具,如Telegraf、Logstash和TCollector等,可否 支持多种数据类型的分类整理,或多或少用户还要自行寻找恰当的安装包,或多或少编写冗杂配置文件后才可否 分类分类整理数据。或多或少用户难以直观地监测数据分类整理的运行情況,更无法对分类整理端进行统一的管控。特别是有众多分类整理源时,维护工作将非常冗杂且容易出错。

 

为了冗杂时序数据分类整理的繁琐操作,阿里云InfluxDB新推出智能数据分类整理功能,实现数据从分类整理到存储的自动化管理,用户只需简单配置即可使用,不让编写任何代码。

 

下面你们儿将详解阿里云InfluxDB的智能数据分类整理方案。

 

你们儿再看看InfluxDB在查询过程中的内存使用。

 

对于有好有几个 多典型的按照约束条件查询数据的Query,InfluxDB首先根据倒排索引选取相关的series,或多或少对每个series的数据分段从TSM文件中取出压缩块进行decode形成iterator,供上层迭代获取数据,并最终由上层返回给客户端。或多或少或多或少可能查询的数据量特别大,这样消耗的内存也就很大。

 

对于查询,InfluxDB同样给出了或多或少参数供用户进行设置和约束,主或多或少或多或少我以下好有几个 :

·       max-select-point(表示单次Query最多可查询的点数)

·       max-select-series(表示单次Query最多可查询的series数)

·       max-concurrent-queries(表示最大并发Query个数)

 

以上参数可能不做任何限制,几瓶并发的大查询可能会引起服务的OOM等疑问。

 

可能单独设置很小的max-concurrent-queries,当用户使用几瓶并发的小查询时,确实系统详细可否 承受,但却被该参数约束而拒绝服务,这显然不为宜。

 

可能单独设置很小的max-select-point和max-select-series,当用户这样非并发的大查询时,确实系统详细可否 承受,但却被该参数约束而拒绝服务,这显然或多或少或多或少我为宜。

 

或多或少,从组织组织结构实现上来说,max-select-point约束实际起效往往是滞后的。另外,InfluxDB的或多或少设计疑问会原因分析分析着“查放大”,也或多或少或多或少我确实你只查询了较少的数据,但组织组织结构却遍历并临时存储了较多的数据,最终使用了更多的内存。

 

基于开源InfluxDB,阿里云InfluxDB在保留详细功能,确保5000%兼容性的基础上,在服务稳定性、数据分类整理便利性和服务监控告警便利性上做了进一步的优化与完善,成为用户在云上使用InfluxDB的最佳选取。

 

未来,阿里云InfluxDB还会在高可用和集群化上进一步发力,提供更高端的服务能力。也会继续增加智能数据分类整理的覆盖范围,支持越多的数据类型。除了那此,阿里云InfluxDB也期待听到你们儿的心声,在用户还要的方向上去做更多的努力与提升。

 

阿里云InfluxDB引入了一套Load Shedding机制,该机制在内存富于时老是满足用户客户端发来的请求,在内存不足英文时保护性地终止偏离 响应。原本既保证了硬件资源的利用率,又保护了服务的持续可用性。算法的整体流程如下图所示:

阿里云InfluxDB提供创建、修改、删除和查看分类整理配置的API。在阿里云InfluxDB中,有专门的模块管理分类整理配置,所有分类整理配置的信息还会存储在阿里云InfluxDB中,并持久化到磁盘,处置信息丢失。图中绿色箭头表示用户通过控制台对分类整理配置进行的操作。

 

1.  创建分类整理配置。有好有几个 多分类整理配置包含该配置的名称、分类整理数据类型、有关分类整理数据的配置(可能有得话)、数据写入的数据库和保留策略、用户账号信息。

 

2.  修改分类整理配置。除了分类整理配置的名称无法修改外,其它的配置信息都可修改。可能有分类整理源正在使用该分类整理配置,这样分类整理配置修改后,自动在分类整理源中生效。

 

3.  删除分类整理配置。在删除有好有几个 多分类整理配置完后 ,还要先确认这样正在运行的分类整理源使用该分类整理配置,或多或少删除不成功。

 

4.  查看分类整理配置。创建分类整理配置后,用户可查看该配置的具体信息。

 

目前,阿里云InfluxDB智能分类整理端可能支持以下分类整理类型:

1.  系统监控

2.  MySQL

3.  Redis

4.  MongoDB

 

可能用户的数据分类整理类型都这样这4种常见选项当中,也可否 通过直接配置Telegraf来完成数据上报。

 

下面你们儿看看主要的处置逻辑。

 

阿里云InfluxDB提供创建、修改、删除和查看分类整理源的API。同样地,在阿里云InfluxDB中,有专门的模块管理分类整理源,所有分类整理源的信息还会存储在阿里云InfluxDB中,并持久化到磁盘,处置信息丢失。图中红色箭头表示用户通过控制台对分类整理源进行的操作。

 

1.  创建分类整理源。有好有几个 多分类整理源包含以下信息:uuid(每个分类整理源有好有几个 多多唯一的标志符,用于标识不同的分类整理源)、主机IP、主机名称、网络类型、分类整理配置、分类整理情況、最新连接上报成功时间和最新分类整理上报成功时间。

 

2.  修改分类整理源。用户可否 修改分类整理源正在使用的分类整理配置和分类整理源的运行情況,更新后的信息会保存在阿里云InfluxDB中。

 

3.  删除分类整理源。在删除有好有几个 多分类整理配置完后 ,还要先确认这样正在运行的分类整理源使用该分类整理配置,或多或少删除不成功。删除分类整理源原因分析分析着该分类整理源无法再次分类整理数据。

 

4.  查看分类整理源。用户可否 在控制台查看所有将数据写入阿里云InfluxDB的分类整理源,实时监控各个分类整理源的情況。

 

对查询的内存耗用疑问,你们儿从系统整体高度出发,资源富于时,不做任何限制;资源不足英文时,再进行限制和处置。

从图中可否 想看 ,每个Shard确实或多或少或多或少我有好有几个 多典型的LSM Tree体系,有WAL保证数据持久性,有Cache承接最新的写入数据,有TSM文件作为Cache执行snapshot后刷盘的结果(Cache中的数据是未排序、未去重、未压缩的,刷入TSM文件后的数据时排序、去重、压缩的)。

 

显而易见,对于每个Shard,最消耗内存的或多或少或多或少我Cache了。开源InfluxDB倒是提供了控制Cache大小的有好有几个 多参数:

·       cache-max-memory-size

·       cache-snapshot-memory-size

 

前者是Cache最大容纳的数据量,后者是Cache开始 英语 做snapshot刷盘的数据量门限。它们应该协同调大或调小。

阿里云InfluxDB提供分类整理配置和分类整理源模块,用于处置来自控制台和数据分类整理工具的请求。绿色箭头和红色箭头表示来自控制台的请求,可对分类整理配置和分类整理源进行操作。还要注意的是,在分类整理源的配置中,还会包含正在使用的分类整理配置的信息。橙色箭头表示分类整理工具向阿里云InfluxDB发送写入数据的请求,根据分类整理配置中数据写入的数据库和保留策略,分类整理工具将分类整理数据发送到指定的数据库和保留策略,同時 ,也会更新分类整理源配置中的最新连接上报成功时间和最新分类整理上报成功时间。

上图展示了数据分类整理功能的框架,用户可分别创建多个分类整理配置和分类整理源,各个分类整理源之间相互独立,同样地,各个分类整理源之间也相互独立。有好有几个 多分类整理配置可被多个分类整理源使用,或多或少有好有几个 多分类整理源这样使用有好有几个 多分类整理配置;当分类整理配置中的参数变化时,所有使用该分类整理配置的分类整理源的配置也会存在变化。

 

用户通过控制台对分类整理配置和分类整理源所进行的操作,还会同步到阿里云InfluxDB;数据分类整理工具直接与阿里云InfluxDB进行通信,获取分类整理源的最新信息,自动实现数据的分类整理和发送。

 

下面,你们儿将详细介绍以上框架中的各个组件。

 

随着移动互联网和物联网的广泛应用,90%以上的数据是和时间相关的,而越多的数据应用场景与时间信息密不可分。时间维度的数据(你们儿称之为时序数据)是有一种高维数据,还要更为高效的数据处置依据 来处置。在实际应用场景上类事传感器网络、移动互联网、射频识别、电网系统等设备时刻输出时间数据,数据量增长非常越快,这对存储和管理时序数据带来了挑战。

 

而普通的关系型数据库主要针对事务处置,从底层存储机制到对外API功能,何必 适合处置时序数据。或多或少,专门的时序数据库应运而生。若干年中,市面上老是冒出了或多或少或多或少种不同的时序数据库,你们或数据模型不同,或生态不同,或存储架构不同。经过数年的发展,InfluxDB一枝独秀,在DB-Engines的时序数据库排行榜中,InfluxDB高居榜首,遥遥领先或多或少的时序数据库,成为最流行的时序数据库产品。

上述一系列的监控能力,使得用户使用阿里云InfluxDB更为清晰和安全,而可能使用开源InfluxDB,用户就还要当时人费心费力去搭建那此情況监控和告警。

 

那是还会把Cache设置的特别小就没疑问了呢?也没这样简单。

 

首先Cache很小,会原因分析分析着查询时更容易存在cache miss,降低查询数率,但这还还会主要的疑问。

 

更严重的疑问是,Cache特别小,就会存在频繁的snapshot和刷盘,按照LSM Tree的存储机制,后台的compaction可能承担更大的压力,系统的IO更容易达到瓶颈。或多或少,可能series较多且其字符串较长,这样有好有几个 多snapshot中的meta数据将存在不足英文的比例,原因分析分析着每次刷盘的数据中,实际points所占比例较低,引起“写放大”效应,最终恶化系统性能。

 

或多或少或多或少这有好有几个 多Cache参数实际使用时设置恰当的难度很大,稍有不当,或写入数据的行态存在变化,就容易影响系统性能,甚至存在OOM等疑问。

 

如图,你们儿会额外增加有好有几个 多协程,周期性地获取进程的HeapAlloc信息。当HeapAlloc不超过危险阈值时,不让kill任何用户查询;当超过危险阈值时,则会酌情kill较晚开始 英语 执行的资源消耗较大的查询。但不管kill掉十有几个 查询,始终会确保最早开始 英语 执行的查询可否 继续执行下去,以保证系统仍然对查询请求有一定的处置能力。

 

首先你们儿介绍一下InfluxDB的数据存储层次架构:

从上图可否 想看 ,可能系统可能设置了OverLoad标识,则新的查询请求也会被拒绝。直到被kill的查询及其它执行的查询完成后释放了足够的内存,让HeapAlloc重新下降到阈值以下后,OverLoad标识才会被unset,系统才会重新接受新的查询请求。

 

阿里云InfluxDB智能数据分类整理方案,通过控制台、分类整理工具和阿里云InfluxDB之间的通信,实现数据分类整理的自动化管理。用户不让自行运维可能编写代码,只需通过控制台的图形界面操作,即可对多种监控数据进行分类整理管理,实现数据从分类整理到存储的无缝链接。或多或少,控制台的界面简洁明了、易于操作,用户可否 直观地监测多个分类整理源的数据分类整理情況。

 

如上图所示,InfluxDB首先可否 创建若干个Databases且这样数量限制。用户权限的赋予或多或少或多或少我以Database为单位的。这和MySQL等常见的关系型数据库很类事。

 

Database下面可否 划分若干Retention Policy(RP),也或多或少或多或少我保留策略,每个RP定义了各自 保留数据的时长。创建Database还会自动同時 创建有好有几个 多默认的无限期保留数据的RP,用户可否 继续创建不限数量的RP,也可否 选取任意RP为默认的保留策略。

 

RP再往下分,是按时间段划分ShardGroup,ShardGroup再按series做hash分为Shard。或多或少在开源的代码中,ShardGroup实际上没起到作用,可能每个ShardGroup都固定这样好有几个 多多Shard。或多或少或多或少在图中你们儿就略过了ShardGroup的定义和解释,可否 认为紧挨RP的下一层或多或少或多或少我按时间段划分的Shard。

 

初始的默认RP的每个Shard将负责有好有几个 多自然周的数据存储与管理,就如图中所示的数据起止日期。较短时长的RP一般对应较短时长的Shard。

 

Shard的组织组织结构行态大致是或多或少样子的:

确实开源InfluxDB有一种还会获取其运行情況的API,但这样基于此形成告警机制,也这样便捷的图形化界面。或多或少,对于每秒写入数据点、磁盘占用量、总series数量等实例监控数据,并未直接提供。

 

阿里云InfluxDB进一步完善了开源InfluxDB的情況上报,新增了总磁盘使用量、总series数量等情況信息。最终经过阿里云管控系统后端的数据清洗和汇总,在控制台“实例监控”页面向用户提供以下情況的数据曲线:

1.  每秒写入数据点

2.  时间线数量(所有Databases的series数量总和)

3.  磁盘空间占用率

 

原本,用户可否 通过那此曲线直观地了解服务的当前情況和历史情況,或多或少当磁盘空间占用率较高时,系统会自动向用户告警,提醒用户清理数据或升配。

 

用户还可否 在阿里云的“云监控”产品中(基本功能免费对用户开放使用)基于那此情況信息设置当时人的报警规则。

热门

热门标签