首页服务器调度服务器,什么是ETL调度系统

调度服务器,什么是ETL调度系统

编程之家2023-10-22120次浏览

本篇文章给大家谈谈调度服务器,以及什么是ETL调度系统对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

调度服务器,什么是ETL调度系统

什么是ETL调度系统

对于做过 BI开发的朋友,ETL并不陌生,只要涉及到数据源的数据抽取、数据的计算和处理过程的开发,都是 ETL,ETL就这三个阶段,Extraction抽取,Transformation转换,Loading加载。

从不同数据源抽取数据 EXTRACTION,按照一定的数据处理规则对数据进行加工和格式转换 TRASFORMATION,最后处理完成的输出到目标数据表中也有可能是文件等等,这个就是 LOADING。

再通俗一点讲,ETL的过程就跟大家日常做菜一样,需要到菜市场的各个摊位买好菜,把菜买回来要摘一下,洗一洗,切一切最后下锅把菜炒好端到饭桌上。菜市场的各个摊位就是数据源,做好的菜就是最终的输出结果,中间的所有过程像摘菜、洗菜、切菜、做菜就是转换。

在开发的时候,大部分时候会通过 ETL工具去实现,比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微软 SQL SERVER里面的 SSIS等等,在结合基本的 SQL来实现整个 ETL过程。

也有的是自己通过程序开发,然后控制一些数据处理脚本跑批,基本上就是程序加 SQL实现。

哪种方式更好,也是需要看使用场景和开发人员对那种方式使用的更加得心应手。我看大部分软件程序开发人员出身的,碰到数据类项目会比较喜欢用程序控制跑批,这是程序思维的自然延续。纯 BI开发人员大部分自然就选择成熟的 ETL工具来开发,当然也有一上来就写程序脚本的,这类 BI开发人员的师傅基本上是程序人员转过来的。

调度服务器,什么是ETL调度系统

用程序的好处就是适配性强,可扩展性强,可以集成或拆解到到任何的程序处理过程中,有的时候使用程序开发效率更高。难就难在对维护人员有一定的技术要求,经验转移和可复制性不够。

用 ETL工具的好处,第一是整个 ETL的开发过程可视化了,特别是在数据处理流程的分层设计中可以很清晰的管理。第二是链接到不同数据源的时候,各种数据源、数据库的链接协议已经内置了,直接配置就可以,不需要再去写程序去实现。第三是各种转换控件基本上拖拉拽就可以使用,起到简化的代替一部分 SQL的开发,不需要写代码去实现。第四是可以非常灵活的设计各种 ETL调度规则,高度配置化,这个也不需要写代码实现。

所以在大多数通用的项目中,在项目上使用 ETL标准组件开发会比较多一些。

ETL从逻辑上一般可以分为两层,控制流和数据流,这也是很多 ETL工具设计的理念,不同的 ETL工具可能叫法不同。

控制流就是控制每一个数据流与数据流处理的先后流程,一个控制流可以包含多个数据流。比如在数据仓库开发过程中,第一层的处理是ODS层或者Staging层的开发,第二层是DIMENSION维度层的开发,后面几层就是DW事实层、DM数据集市层的开发。通过ETL的调度管理就可以让这几层串联起来形成一个完整的数据处理流程。

数据流就是具体的从源数据到目标数据表的数据转换过程,所以也有 ETL工具把数据流叫做转换。在数据流的开发设计过程中主要就是三个环节,目标数据表的链接,这两个直接通过 ETL控件配置就可以了。中间转换的环节,这个时候就可能有很多的选择了,调 SQL语句、存储过程,或者还是使用 ETL控件来实现。

调度服务器,什么是ETL调度系统

有的项目上习惯使用 ETL控件来实现数据流中的转换,也有的项目要求不使用标准的转换组件使用存储过程来调用。也有的是因为数据仓库本身这个数据库不支持存储过程就只能通过标准的SQL来实现。

我们通常讲的BI数据架构师其实指的就是ETL的架构设计,这是整个BI项目中非常核心的一层技术实现,数据处理、数据清洗和建模都是在ETL中去实现。一个好的ETL架构设计可以同时支撑上百个包就是控制流,每一个控制流下可能又有上百个数据流的处理过程。之前写过一篇技术文章,大家可以搜索下关键字 BIWORK ETL应该在网上还能找到到这篇文章。这种框架设计不仅仅是ETL框架架构上的设计,还有很深的ETL项目管理和规范性控制器思想,包括后期的运维,基于BI的BI分析,ETL的性能调优都会在这些框架中得到体现。因为大的BI项目可能同时需要几十人来开发ETL,框架的顶层设计就很重要。

多台异地服务器如何实现负载均衡

一般用的就用简单的轮询就好了

调度算法

静态方法:仅根据算法本身实现调度;实现起点公平,不管服务器当前处理多少请求,分配的数量一致

动态方法:根据算法及后端RS当前的负载状况实现调度;不管以前分了多少,只看分配的结果是不是公平

静态调度算法(static Schedu)(4种):

(1)rr(Round Robin):轮叫,轮询

说明:轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。缺点:是不考虑每台服务器的处理能力。

(2)wrr(Weight Round Robin):加权轮询(以权重之间的比例实现在各主机之间进行调度)

说明:由于每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。所以,我们根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。

(3)sh(Source Hashing):源地址hash实现会话绑定sessionaffinity

说明:简单的说就是有将同一客户端的请求发给同一个real server,源地址散列调度算法正好与目标地址散列调度算法相反,它根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的并且没有超负荷,将请求发送到该服务器,否则返回空。它采用的散列函数与目标地址散列调度算法的相同。它的算法流程与目标地址散列调度算法的基本相似,除了将请求的目标IP地址换成请求的源IP地址。

(4)dh:(Destination Hashing):目标地址hash

说明:将同样的请求发送给同一个server,一般用于缓存服务器,简单的说,LB集群后面又加了一层,在LB与realserver之间加了一层缓存服务器,当一个客户端请求一个页面时,LB发给cache1,当第二个客户端请求同样的页面时,LB还是发给cache1,这就是我们所说的,将同样的请求发给同一个server,来提高缓存的命中率。目标地址散列调度算法也是针对目标IP地址的负载均衡,它是一种静态映射算法,通过一个散列(Hash)函数将一个目标IP地址映射到一台服务器。目标地址散列调度算法先根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。

动态调度算法(dynamic Schedu)(6种):

(1)lc(Least-Connection Scheduling):最少连接

说明:最少连接调度算法是把新的连接请求分配到当前连接数最小的服务器,最小连接调度是一种动态调度短算法,它通过服务器当前所活跃的连接数来估计服务器的负载均衡,调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1,当连接中止或超时,其连接数减一,在系统实现时,我们也引入当服务器的权值为0时,表示该服务器不可用而不被调度。此算法忽略了服务器的性能问题,有的服务器性能好,有的服务器性能差,通过加权重来区分性能,所以有了下面算法wlc。

简单算法:active*256+inactive(谁的小,挑谁)

(2)wlc(Weighted Least-Connection Scheduling):加权最少连接

加权最小连接调度算法是最小连接调度的超集,各个服务器用相应的权值表示其处理性能。服务器的缺省权值为1,系统管理员可以动态地设置服务器的权限,加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。由于服务器的性能不同,我们给性能相对好的服务器,加大权重,即会接收到更多的请求。

简单算法:(active*256+inactive)/weight(谁的小,挑谁)

(3)sed(shortest expected delay scheduling):最少期望延迟

说明:不考虑非活动连接,谁的权重大,我们优先选择权重大的服务器来接收请求,但会出现问题,就是权重比较大的服务器会很忙,但权重相对较小的服务器很闲,甚至会接收不到请求,所以便有了下面的算法nq。

基于wlc算法,简单算法:(active+1)*256/weight(谁的小选谁)

(4).nq(Never Queue Scheduling):永不排队

说明:在上面我们说明了,由于某台服务器的权重较小,比较空闲,甚至接收不到请求,而权重大的服务器会很忙,所此算法是sed改进,就是说不管你的权重多大都会被分配到请求。简单说,无需队列,如果有台real server的连接数为0就直接分配过去,不需要在进行sed运算。

(5).LBLC(Locality-Based Least Connections):基于局部性的最少连接

说明:基于局部性的最少连接算法是针对请求报文的目标IP地址的负载均衡调度,主要用于Cache集群系统,因为Cache集群中客户请求报文的目标IP地址是变化的,这里假设任何后端服务器都可以处理任何请求,算法的设计目标在服务器的负载基本平衡的情况下,将相同的目标IP地址的请求调度到同一个台服务器,来提高服务器的访问局部性和主存Cache命中率,从而调整整个集群系统的处理能力。

(6).LBLCR(Locality-Based Least Connections with Replication):基于局部性的带复制功能的最少连接

说明:基于局部性的带复制功能的最少连接调度算法也是针对目标IP地址的负载均衡,该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。

cdn服务器是什么

CDN,全称内容分发网络(ContentDeliveryNetwork),可以简单地将其理解成一个离你很近的、可以从上面获取到完整的原始数据的服务器,它会定期和拥有原始内容的服务器进行同步,保证用户可以从上面获取到最新的内容。

内容分发网络,是用于承载网站的内容分发以及调度等功能的,能让用户访问网站的时候,快速得到信息,也降低了网站加载缓慢的速率,能提高用户的访问率。因为cdn服务器能解决大量用户访问的问题,所以常常用于搭建大型门户网站、商城网站、视频网站等等。

CDN服务器优势

1、访问加速优势

为用户提供快速的访问效果是CDN服务器的重要优势之一。解决了远距离的访问、不同网络带宽线路访问造成的网络延迟情况。

2、防御网络攻击

CDN服务器有隐藏源服务器IP的作用,展现给用户的都是属于CDN节点IP,网络攻击的时候,一般会攻击这些节点服务器,但不会对源服务器造成伤害。因此,无论多大的攻击,源服务器始终能保持正常的访问。

3、降低源服务器带宽

CDN服务器降低了源服务器带宽的使用量。基于网站数据都分发到CDN节点,因此,源服务器带宽只需满足数据资料传输到CDN节点即可,不用选择大带宽供大量用户访问,降低了源服务器的压力。

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

打电话服务器出错(打电话 显示服务器出错)数据库系统概念第六版课后答案 简述数据,数据库,数据库管理系统,数据库系统的概念