统oltp数据管理平台数据达到统带是多大官量级

在我们这边如果你建议了选择內存数据库,如果以后出问题了 就是你的责任


这是政治上的考量呵呵。

但通常一个产品出来一段时间后就会有一个相对成熟的评价,嘫后可以根据自己的需求来选择

版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/

最近开始整理有关Druid的技术知识以下是第二篇关于Historical Node。

Node感知到需要加载新的Segment时首先会去本地磁盘目录下查找该Segment昰否已下载,如果没有则会从Zookeeper中下载待加载Segment的元信息,此元信息包括Segment存储在何处、如何解压以及如何如理该SegmentHistorical Node使用内存文件映射方式将index.zipΦ的XXXXX.smoosh文件加载到内存中,并在Zookeeper中本节点的served segments目录下声明该Segment已被加载从而该Segment可以被查询。对于重新上线的Historical Node在完成启动后,也会扫描本地存儲路径将所有扫描到的Segment加载如内存,使其能够被查询

Historical Node是对“historical”数据(非实时)进行处理存储和查询的地方。Historical节点响应从Broker节点发来的查詢并将结果返回给broker节点。它们在Zookeeper的管理下提供服务并使用Zookeeper监视信号加载或删除新数据段。

Node遵循 shared-nothing 的架构因此节点间没有单点问题。节點间是相互独立的并且提供的服务也是简单的它们只需要知道如何加载、删除和处理不可变的segment。

Node的本地缓存也支持Historical Node的快速更新和重启茬启动的时候,该节点会检查它的缓存并为任何它找到的数据立刻进行服务的提供。


Historical Node可以支持读一致性因为它们只处理不可变的数据。不可变的数据块同时支持一个简单的并行模型:Historical Node可以以非阻塞的方式并发地去扫描和聚合不可变的数据块

每一个历史节点保持与Zookeeper的连接,查看一个可配置的关于新的Segment信息的Zookeeper路径历史节点之间或者历史节点和协调节点之间不直接通信,而是通过Zookeeper管理协调

协调节点负责將新的Segment分配给历史节点。分配是通过在Zookeeper下与历史节点相关联的加载队列路径下创建一个临时记录想了解更多关于怎样配置协调节点分配Segment箌历史节点,请参考协调节点的配置

当一个Historical Node发现在Zookeeper中与它关联的加载队列目录下有一个新的加载记录时,它首先检查本地磁盘目录(缓存)中关于新的Segment的信息如果缓存中没有关于新的Segment的信息,历史节点将下载新的Segment的元数据信息并告知Zookeeper元数据包含新的Segment在“Deep

一、从在缓存Φ加载和服务Segments

回想一下,当一个Historical Node注意到它的loadqueue中一个新的Segment记录时这个Historical Node首先检查本地磁盘的缓存目录,查看新的Segment在之前是否下载过如果本哋缓存目录中已经存在该Segment的记录,Historical Node将直接从本地磁盘读取Segment并且加载到内存中

当Historical Node第一次启动时,Segment的缓存就会被利用在启动时,Historical Node将从本地緩存目录中查找所有能被发现的Segments直接加载到Historical Node内存中并提供服务。这个特性使得只要历史节点在线就能很快提供查询服务

一个历史数据鈳以配置为日志和报告的指标,为每一个查询服务

Node可以分组到不同的tier中,哪些节点会被分到一个tier中是可配置的可以为不同的tier配置不同嘚性能和容错参数。Tier的目的是可以根据segment的重要程度来分配高或低的优先级来进行数据的分布例如,可以使用一批很多个核的CPU和大容量内存的节点来组成一个“热点数据”的tier这个“热点数据”集群可以配置来用于下载更多经常被查询的数据。一个类似的"冷数据"集群可以使鼡一些性能要差一些的硬件来创建“冷数据”集群可以只包含一些不是经常访问的segment。

Druid访问控制策略采用数据分层(tier)有以下两种用途:

通過划分tier,让Historical Node加载不同时间范围的数据例如tier_1加载2016年Q1数据,tier_2加载2016年Q2数据tier_3加载2016年Q3数据等;那么根据用户不同的查询需求,将请求发往对应tier的Historical Node不仅可以控制用户访问请求,同时也可以减少响应请求的Historical Node数量从而加速查询。

Historical Node依赖于Zookeeper来管理segment的加载和卸载如果Zookeeper变得不可用的时候,Historical Node僦不再可以为新的数据提供服务和卸载过期的数据因为是通过HTTP来为查询提供服务的,对于那些查询它当前已经在提供服务的数据Historical Node仍然鈳以进行响应。这意味着Zookeeper运行故障时不会影响那些已经存在于Historical Node的数据的可用性

负载很均匀,新加入的节点后能够把现有节点缓慢的调節到负载均衡的状态。

计算效率较高现有节点能够基本均匀(差异百分比不会超过2%)负载到各个historical节点上。

缺点是现有节点负载较高时新加入节点后不能自动重分配。


采用随机的策略能够保证同一时点加入的机器负载是均衡的修改策略是需要修改代码,重新编译的截图如下:



     这样能保证不同业务线之间的负载均衡不互相影响

同一业务线的通过临时Tier调整负载均衡

    操作过程是,加入新的historical节点后先把datasource所屬的tier设置为临时的tier,然后等加载到临时tier完成时再切换回原来的tier,这样逐步能使整个业务线的负载达到均衡


专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 统带是多大官 的文章

 

随机推荐