一些IT名词解析

来源:互联网 发布:人工智能图像识别原理 编辑:程序博客网 时间:2024/04/28 02:55

Hadoop分布式基础架构平台:由Apache基金会开发的!用户可以在不了解分布式底层细节的情况下,开发分布式程序(简单)。充分利用集群的高速运算和存储能力。Hadoop依赖于社区服务器,因此它的成本低。Hadoop带有用Java语言编写的框架,因此运行在Linux生产平台上是非常理想的。Hadoop 的最常见用法之一是 Web 搜索。Hadoop是模块化的!Hadoop是在分布式服务器集群上存储海量数据并运行分布式分析应用的一种方法。Hadoop两个主要部分:一个是数据处理框架和一个是分布式数据存储文件系统(HDFS)。

 

Puppet中心化系统管理平台:puppet是一种Linux、Unix、windows平台的集中配置管理系统,puppet采用C/S星状的结构,自有的puppet语言。puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。

 

Open stack公共/私有云管理:OpenStack是一个开源的云计算管理平台项目,OpenStack支持几乎所有类型的云环境。以Python编程语言编写、整合Tornado 网页服务器、Nebula运算平台、使用Twisted软件框架、遵循Open Virtualization Format、AMQP、SQLAlchemy等标准、虚拟机器软件支持包括:KVMXenVirtualBox、QEMU、LXC 等。

 

 

云计算及虚拟化:美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。XenSystem,以及在国外已经非常成熟的Intel 和IBM,各种“云计算”的应用服务范围正日渐扩大,影响力也无可估量。

 

大数据库:大型数据库是IBM公司开发 他有两种数据库类型;一种是关系数据库,典型代表产品:DB2;另一种则是层次数据库,代表产品:IMS层次数据库。

 

NOSQL:泛指非关系型的数据库。

NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

NoSQL数据库的四大分类:键值(Key-Value)存储数据库、列存储数据库、文档型数据库、图形(Graph)数据库。

分类

Examples举例

典型应用场景

数据模型

优点

缺点

键值(key-value) 

Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB

内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 

Key 指向 Value 的键值对,通常用hash table来实现

查找速度快

数据无结构化,通常只被当作字符串或者二进制数据

列存储数据库 

Cassandra, HBase, Riak

分布式的文件系统

以列簇式存储,将同一列数据存在一起

查找速度快,可扩展性强,更容易进行分布式扩展

功能相对局限

文档型数据库

CouchDB, MongoDb

Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)

Key-Value对应的键值对,Value为结构化数据

数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构

查询性能不高,而且缺乏统一的查询语法。

图形(Graph)数据库

Neo4J, InfoGrid, Infinite Graph

社交网络,推荐系统等。专注于构建关系图谱

图结构

利用图结构相关算法。比如最短路径寻址,N度关系查找等

很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。

 

 

MYSQL集群:MySQL 群集是 MySQL 适合于分布式计算环境的高可用、高冗余版本。它采用了 NDBCluster 存储引擎,允许在 1 个群集中运行多个 MySQL 服务器。在 MySQL 5.0 及以上的二进制版本中,以及与最新的 Linux 版本兼容的 RPM 包中提供了该存储引擎。

MySQL 群集是一种技术,该技术允许在无共享的系统中部署“内存中”和“磁盘中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括 MySQL 服务器,NDB Cluster 的数据节点,管理服务器,以及(可能存在的)专门的数据访问程序。

 

 

 

SELinux:美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。

SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。

 

DDos攻击:借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。按照TCP/IP协议的层次可将DDOS攻击分为基于ARP的攻击、基于ICMP的攻击、基于IP的攻击、基于UDP的攻击、基于TCP的攻击和基于应用层的攻击。分布式拒绝服务攻击采取的攻击手段就是分布式的。

 

Docker:是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。

Docker核心解决的问题是:利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。

 

Vpn(虚拟专用网络):公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可通过服务器硬件软件等多种方式实现。VPN具有成本低,并且易于使用的特点。

VPN的隧道协议主要有三种:PPTPL2TPIPSec

VPN的应用分类:1.Access VPN(远程接入VPN):客户端到网关,使用公网作为骨干网在设备之间传输VPN数据流量;2.Intranet VPN(内联网VPN):网关到网关,通过公司的网络架构连接来自同公司的资源;3.ExtranetVPN(外联网VPN):与合作伙伴企业网构成Extranet,将一个公司与另一个公司的资源进行

按所用的设备类型进行分类:

VPN网络设备,主要为交换机路由器防火墙(1)路由器式VPN:路由器式VPN部署较容易,只要在路由器上添加VPN服务即可;(2)交换机式VPN:主要应用于连接用户较少的VPN网络;(3)防火墙式VPN:防火墙式VPN是最常见的一种VPN的实现方式,许多厂商都提供这种配置类型

按照实现原理划分:(1)重叠VPN:此VPN需要用户自己建立端节点之间的VPN链路,主要包括:GREL2TPIPSec等众多技术。(2)对等VPN:由网络运营商在主干网上完成VPN通道的建立,主要包括MPLS、VPN技术。

 

 

LISP(clojure):Clojure由于兼具LISP高效、可扩展的特性,同时又能利用Java的生态圈,在短时间内得到广泛传播,并在一些互联网公司得到应用。是一套现代的 Lisp 语言的动态语言版. Clojure 可以执行于Java虚拟机器之上。

 

Lisp(表处理语言):约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言。LISP拥有理论上最高的运算能力。

LISP在cad绘图软件上的应用非常广泛,普通用户均可以用lisp编写出各种定制的绘图命令。

 

Perl(实用报表提取语言):最重要的特性是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。Perl的解释程序开放源码的免费软件。Perl 是一种能完成任务的语言。

 

Go语言:Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。Go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。支持网络与多核计算的语言。

 

SQL结构化查询语言:。是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

 

 

Git:免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

 

Lvs:Linux虚拟服务器是一个虚拟的服务器集群系统。

在已有的IP负载均衡技术中,主要有通过网络地址转换将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术。

    通过IP隧道实现虚拟服务器的方法VS/TUN 。

通过直接路由实现虚拟服务器的方法VS/DR。

VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术

 

代理服务器:重要的服务器安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。

    它是网络信息的中转站。代理服务器就好象一个大的Cache,这样就能显著提高浏览速度和效率。

主要的功能有:

1.突破自身IP访问限制,访问国外站点。教育网、过去的169网等

2.网络用户可以通过代理访问国外网站。

3.访问一些单位或团体内部资源,如某大学FTP(前提是该代理地址在该资源 的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。

4.突破中国电信的IP封锁:中国电信用户有很多网站是被限制访问的,这种限制是人为的,不同Serve对地址的封锁是不同的。所以不能访问时可以换一个国外的代理服务器试试。

5.提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。

6.隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击

7.使用大量的伪IP地址,节约网上资源,节省IP开销

 

反向代理服务器:代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端

安全反向代理有许多用途:

1.可以提供从防火墙外部代理服务器到防火墙内部安全内容服务器的加密连接。

2.可以允许客户机安全地连接到代理服务器,从而有利于安全地传输信息(如信用卡号)。

3.安全反向代理会造成各安全连接因加密数据所涉及的系统开销而变慢。但是,由于 SSL 提供了高速缓存机制,所以连接双方可以重复使用先前协商的安全参数,从而大大降低后续连接的系统开销

配置安全反向代理服务器的方法有三种:

    Secure client to proxy。如果未经授权的用户很少或根本没有机会访问代理服务器与内容服务器之间交换的信息,则此方案很有效(参见图 14-2)。

图 14-2 客户机安全连接到代理服务器


    Secureproxy to content server。如果客户机在防火墙外部而内容服务器在防火墙内部,则此方案很有效。在此方案中,代理服务器可以充当站点之间的安全通道(参见图 14-3)

图 14-3 代理服务器安全连接到内容服务器


    Secureclient to proxy and secure proxy to content server。如果需要保护服务器、代理服务器和客户机三者间所交换信息的安全,则此方案很有效。在此方案中,代理服务器既可起到站点间安全通道的作用,又可增加客户机验证的安全性(参见图14-4)。

图 14-4 客户机安全连接到代理服务器并且代理服务器安全连接到内容服务器


 

 

Spark:

Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发。Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于Hadoop MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,节省了磁盘IO耗时,号称性能比Hadoop快100倍。 

Spark性能比Hadoop快原因分解: 
(1)传统Hadoop数据抽取运算模型是: 



ps:数据的抽取运算基于磁盘,中间结果也是存储在磁盘上。MR运算伴随着大量的磁盘IO。 
(2)Spark则使用内存代替了传统HDFS存储中间结果: 


可以将Spark理解为Hadoop的升级版本,Spark兼容了Hadoop的API,并且能够读取Hadoop的数据文件格式,包括HDFS,Hbase等。 

 

Cassandra:

Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。

Cassandra是一个混合型的非关系的数据库

Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务


 

Tachyon:

Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件。把Tachyon是架构在最底层的分布式文件存储和上层的各种计算框架之间的一种中间件。

主要职责是将那些不需要落地到DFS(Microsoft文件分布系统)里的文件,落地到分布式内存文件系统中,来达到共享内存,从而提高效率。同时可以减少内存冗余和基于Jvm内存计算框架的GC时间。


DevOps:

DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称。用于促进开发(应用程序/软件工程)技术运营和质量保障(QA)部门之间的沟通协作整合

它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。


Awk:

AWK是一个优良的文本处理工具LinuxUnix环境中现有的功能最强大的数据处理引擎之一。

AWK 提供了极其强大的功能:可以进行样式装入流控制数学运算符进程控制语句甚至于内置的变量函数

 

InnoDB:

InnoDB,是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一。

InnoDB由Innobase Oy公司所开发,2006年五月时由甲骨文公司并购。

与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。

目前InnoDB采用双轨制授权,一是GPL授权,另一是专有软件授权。

事务型数据库的首选引擎,支持ACID事务,支持行级锁定。InnoDB是为处理巨大数据量时的最大性能设计。

 

 

Ajax:

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术

AJAX = 异步 JavaScriptXML标准通用标记语言的子集)。

AJAX 是一种用于创建快速动态网页的技术

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

 

 

Tengine :

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。

Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

 

原创粉丝点击