精华内容
下载资源
问答
  • 英特尔凌动C2000处理器家族通信架构(英文)
  • winform vs2012,access数据库,组织架构图可用鼠标拖拽,可编辑删除节点,目前功能完整,可保存图片包含滚动条区域内容,包含assess数据库安装包
  • 一、软件架构设计 软件或计算机系统的软件架构是该系统的一个(或多个)结构,而结构由软件元素、元素的外部可见属性及它们之间的关系组成。 软件系统架构是关于软件系统的 结构、行为和属性 的高级抽象。指定了软件...

    一、软件架构设计

    软件或计算机系统的软件架构是该系统的一个(或多个)结构,而结构由软件元素、元素的外部可见属性及它们之间的关系组成。

    软件系统架构是关于软件系统的 结构、行为和属性 的高级抽象。指定了软件系统的组织结构和拓扑结构

    软件架构是可传递可复用的模型,架构就是体系结构。架构设计介于需求分析和软件设计之间。架构设计就是需求分配,即满足,需求的职责分配到组件上。

    软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。架构设计能够满足系统的性能、可维护性等品质;能够使得不同的利益相关人(stakeholders)达成一致的目标;能够支持项目计划和项目管理等活动;能够有效地管理复杂性;等等。然而系统架构的给出必须建立在需求明确的基础上。

    软件架构能够在设计变更相对容易的阶段,考虑系统结构的可选方案,便于技术人员与非技术人员就软件设计进行交互,能够展现软件的结构、属性与内部交互关系。但是软件架构与用户对系统的功能性需求没有直接的对应关系。

    二、架构的模型 4+1视图

    在这里插入图片描述
    逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的服务。(用户关注)

    开发视图:也称为模块(实现)视图,主要侧重于软件模块的组织和管理。(程序员)

    进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。(并发,集成人员)

    物理视图:主要考虑如何把软件映射到硬件上,它通常要考虑到解决系统拓扑结构、系统安装、通信等问题。(软件到硬件,系统工程人员)

    场景:可以看作是那些重要系统活动的抽象,它使四个视图有机地联系起来,从某种意义上说,场景是最重要的需求抽象。(用例图)

    逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。

    三、软件架构风格

    软件架构风格是描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式;惯用模式则反映众多系统共有的结构和语义特性强调对软件设计的重用

    架构风格定义一个系统家族,即一个架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件架构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。

    1. 数据流风格
    在这里插入图片描述

    1. 批处理序列

      强调数据作为一个整体(数据必须是完整的,以整体的方式传递)

    2. 管道和过滤器

      每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流. (构件–>过滤器;连接件–>管道) (数据流的形式)

    2. 调用/返回风格

    在这里插入图片描述

    1. 主程序/子程序

      计算构件作为子程序协作工作,由一个主程序顺序地调用这些子程序,构件通过共享存储区交换数据. 曾经作为结构化开发方法的主要选择,具有结构清晰,维护方便的特点,缺点是主子程序划分缺乏标准,较难实现不同设计人员间设计的子程序复用。

    2. 面向对象风格

      面向对象在类的层次实现高度内聚,整个系统通过不同类的组合调用实现不同功能,便于类的复用,只是面向对象是一个通用风格,类的划分不同设计人员设计结果有很大不同,对实际架构设计指导意义不大。

    3. 层次结构风格

      分层结构将整个系统按照抽象层次不同分为多层,每个层次的程序只需要负责与相邻的上下两层打交道,简化了系统中调用关系复杂度。允许每层用不同的方法实现,为软件重用提供了强大的支持。(二层C/S、三层C/S、MVC、MVP、MVVP、RIA富互联网应用)

    3. 独立构件风格
    在这里插入图片描述

    1. 进程通讯

      进程通讯架构将系统建设成一个个独立构件,构件间采用命名的消息传递来实现沟通与协作。

    2. 事件系统子风格(隐式调用 )

      事件驱动架构风格与进程通讯风格类似,也是将系统分各个为独立的构件,不同的是不同构件间通讯不采用命名的消息,而是采用隐式调用的方式,先将一个个构件的过程注册到某个事件中,当这个事件发生时,所有注册到该事件的过程自动被触发执行。这类风格的好处是独立构件间耦合度进一步降低,方便构件修改及替换,缺点是触发事件放弃了对被触发执行程序组的控制。

    4. 虚拟机风格
    在这里插入图片描述

    1. 解释器

      具有运行时系统行为 (自)定义与改变能力 。如专家系统。

    2. 基于规则的系统

      基于规则的系统包括规则集、规则解释器、规则/数据选择器及工作内存。(一般用在人工智能领域和DSS中)

    5. 仓库风格
    在这里插入图片描述
    在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行。

    1. 数据库系统

      构件主要有两大类,一个是中央共享数据源,保存当前系统的数据状态,另一个是多个独立处理元素,处理元素对数据元素进行操作。中央数据库管理系统通过自身机制如数据排它锁,共享锁等,实现数据高速访问,数据一致性,数据完整性。同时各独立数据处理单元之间互相不受约束。 (如编译器,传统编译器采用批处理架构,现代编译器采用数据共享架构风格。分析树是共享数据。)

    2. 超文本系统

      主要应用于静态网页。

    3. 黑板风格

      由一个作为全局共享数据的黑板,一个控制单元和多个知识源组成,主要应用与专家问题解决系统。通过专家知识和反馈逐步得到正确结果. (如语音识别)

    6. 闭环控制架构

    1. 过程控制

      工业中的过程控制是指以温度、压力、流量、液位和成分等工艺参数作为被控变量的自动控制。过程控制也称实时控制,是计算机及时的采集检测数据,按最佳值迅速地对控制对象进行自动控制和自动调节,如数控机床和生产流水线的控制等。(比如空调制冷,温度大于设定温度制冷,小于等于时停止,一旦大于继续运作)

    2. C2
      在这里插入图片描述

      通过连接件绑定在一起按照一组规则运作的并行构件。

      1. 构建和连接件都有一个顶部和一个底部
      2. 构建的顶部都要连接连接件的底部,构建的底部都要连接连接件的顶部,构建 之间不允许直连。
      3. 一个连接进行直接连接时,必须有其中一个的底部到另一个的顶部。

    四、分层C/S架构风格演化

    1. 二层 C/S
    在这里插入图片描述

    1. 二层 C/S 结构为单一服务器且以局域网为中心,所以难以扩展至大型企业广域网或Internet;(使用范围)
    2. 软、硬件的组合及集成能力有限;(扩展性)
    3. 服务器的负荷太重,难以管理大量的客户机,系统的性能容易变坏;(性能)
    4. 数据安全性不好。因为客户端程序可以直接访问数据库服务器,那么,在客户端计算机上的其他程序也可想办法访问数据库服务器,从而使数据库的安全性受到威胁。(安全)

    2. 三层C/S架构

    在这里插入图片描述

    1. 表现层(Web层)
      负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求 web,web层需要接收 http请求,完成http响应。
      表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。
      表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。
      表现层的设计一般都使用 MVC 模型。 MVC 是表现层的设计模型,和其他层没有关系。
    2. 业务层 (Service层)
      它负责业务逻辑处理,和我们开发项目的需求息息相关。web层依赖业务层,但是业务层不依赖Web层。
      业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。 (事务应该放到业务层来控制)
    3. 持久层 (dao 层)
      负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进行持久化的载体,数据访问层是业务层和持久层交互的接口;业务层需要通过数据访问层将数据持久化到数据库中。
      持久层就是和数据库交互,对数据库表进行增删改査的。

    优点:

    (1)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。(逻辑独立清晰, 可维护性/可扩展性)

    (2)允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。(可升级性/开放性)

    (3)三层C/S架构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。使之能并行地而且是高效地进行开发,达到较高的性能价格比;对每一层的处理逻辑的开发和维护也会更容易些。(开发维护成本/速度/技术门槛)

    (4)允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,这就为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理和可控制。(安全)

    3. 三层B/S架构
    在这里插入图片描述

    用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。(客户端)

    基于B/S架构的软件,系统安装、修改和维护全在服务器端解决。(服务端)

    B/S架构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。(开放性)

    缺点:

    1. B/S架构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。
    2. B/S架构的系统扩展能力差,安全性难以控制。
    3. 采用B/S架构的应用系统,在数据查询等响应速度上,要远远地低于C/S架构。(性能)
    4. B/S架构的数据提交一般以页面为单位,数据的动态交互性不强,不利于OLTP应用.

    五、MVC的架构风格

    在这里插入图片描述

    MVC 全名是 Model ViewController,是模型(model)-视图(view)-控制器(controller)的缩写,它是分层架构风格的一种。主要解决 将与 UI 相关的逻辑都定义在针对视图的相关元素的事件上 的问题。

    MVC 中各个部分的分工与协作:

    1. Model 是对应用状态和业务功能的封装,我们可以将它理解为同时包含数据和行为的领域模型。Model 接受 Controller 的请求并完成相应的业务处理,在状态改变的时候向 View 发出相应的通知。
    2. View 实现可视化界面的呈现并捕捉最终用户的交互操作(例如鼠标和键盘的操作)。
    3. View 捕获到用户交互操作后会直接转发给 Controller,后者完成相应的 UI 逻辑。如果需要涉及业务功能的调用,Controller 会直接调用 Model。在完成 UI 处理后,Controller 会根据需要控制原 View 或者创建新的 View 对用户交互操作予以响应。

    六、MVP 的架构风格

    在这里插入图片描述

    MVP 是从经典的模式 MVC 演变而来,它们的基本思想有相通的地方:Controller/Presenter 负责逻辑的处理,Model 提供数据,View 负责显示。

    当然 MVP 与 MVC 也有一些显著的区别,MVC 模式中元素之间“混乱”的交互主要体现在允许 View 和 Model 直接进行“交流”,这在 MVP 模式中是不允许的。在 MVP 中 View 并不直接使用 Model,它们之间的通信是通过 Presenter (MVC 中的 Controller)来进行的,所有的交互都发生在 Presenter 内部,而在 MVC 中 View 会直接从 Model 中读取数据而不是通过 Controller,从而避免了 View 和 Model 之间的耦合。

    扩展:

    1. MVVM架构

    在这里插入图片描述
    2. 富互联网应用(RIA)

    在这里插入图片描述
    3. 分布式架构

    客户机/服务器系统开发时可以采用不同的分布式计算架构:

    1. 分布式表示架构是将表示层和表示逻辑层迁移到客户机,应用逻辑层、数据处理层和数据层仍保留在服务器上(类似三层CS架构的两层应用);
    2. 分布式数据架构是将数据层和数据处理层放置于服务器,应用逻辑层、表示逻辑层和表示层放置于客户机(类似两层CS架构);
    3. 分布式数据和应用架构数据层和数据处理层放置在数据服务器上,应用逻辑层放置在应用服务器上,表示逻辑层和表示层放置在客户机(类似三层CS架构)。

    4. ANSI

    在ANSI/IEEE 1471-2000标准中,系统是为了达成利益相关人(Stakeholder)的某些使命(Mission),在特定环境(Enviroment)中构建的。每一个系统都有一个架构(Architecture)。架构(Architecture)是对所有利益相关人的关注点(Concern)的响应和回答,通过架构描述(Architecture Description)来说明。每一个利益相关人都有各自的关注点。这些关注点是指对其重要的,与系统的开发、运营或其他方面相关的利益。架构描述(Architecture Description)本质上是多视图的。每一个视图(View)是从一个特定的视角(Viewpoint)来表述架构的某一个独立的方面。试图用一个单一的视图来覆盖所有的关注点当然是最好的,但实际上这种表述方式将很难理解。视角(Viewpoint)的选择,基于要解决哪些利益相关人的哪些关注点。它决定了用来创建视图的语言、符号和模型等,以及任何与创建视图相关的建模方法或者分析技术。一个视图(View)包括一个或者多个架构模型(Model),一个模型也可能参与多个视图。模型较文本的表述的好处在于,可以更容易的可视化、检查、分析、管理和集成。

    5. 需求和架构

    需求和软件架构设计面临的是不同的对象:一个是问题空间;另一个是解空间。保持两者的可追踪性和转换,一直是软件工程领域追求的目标

    6. 架构风格和设计模式的区别

    1. 架构风格往往是从全局的角度来考虑问题,他是一种独立于实际问题的通用组织结构。例如,常用的B/S架构,在很多不同的系统中,都有应用。

    2. 而设计模式着眼于解决某一特定的局部问题,是一种局部解决方案的应用。例如,在很多的软件系统中,创建对象时,希望有统一的机制对这些对象的创建进行管理,所以出现了工厂模式,创建者模式等设计模式。比如java内存垃圾的回收机制也做成了一种设计模式。

    7. 软件架构需求

    软件架构需求是指用户对目标软件系统在功能、行为、性能和设计约束等方面的期望。需求过程主要是获取用户需求,标识系统中所要用到的构件,并进行架构需求评审。其中标识构件又详细分为生成类图、对类图进行分组和将类打包成构件三步。软件架构需求并不应该包括设计构件的过程。

    8. 面向构件的编程(COP)

    面向构件的编程(COP)关注于如何支持建立面向构件的解决方案。一个基于一般 OOP 风格的 COP 定义如下(Szyperski,1995): “面向构件的编程需要下列基本的支持:

    1. 多态性(可替代性);
    2. 模块封装性(高层次信息的隐藏);
    3. 后期的绑定和装载(部署独立性);
    4. 安全性(类型和模块安全性)。”

    系统构件组装分为三个不同的层次:定制( Customization)、集成(Integration)、扩展(Extension)。这三个层次对应于构件组装过程中的不同任务。

    9. OMG接口定义语言IDL

    IDL 是一种接口定义语言,具体的定义会涉及到接口以及相关部分。文件包含的主要元素有:接口描述、模块定义、类型定义、常量定义、异常、值类型。接口描述是IDL文件中最核心的内容。

    由于IDL只是一种接口定义语言,最终还是要落地与语言对接的,所以IDL的数据类型要与实现语言进行映射。以Java为例,IDL接口映射为Java类,而该接口的操作映射为相应的成员函数。模块定义映射为Java 语言中的包 (Package)或C++的namespaces。

    9. 扩展知识

    一个软件的架构设计是随着技术的不断进步而不断变化的。以编译器为例,其主流架构经历了管道-过滤器到数据共享为中心的转变过程。早期的编译器采用管道-过滤器架构风格,以文本形式输入的代码被逐步转化为各种形式,最终生成可执行代码。早期的编译器采用管道-过滤器架构风格,并且大多数编译器在词法分析时创造独立的符号表,在其后的阶段会不断修改符号表,因此符号表并不是程序数据的一部分。现代的编译器采用以数据共享为中心的架构风格,主要关心编译过程中程序的中间表示。现代的编译器采用以数据共享为中心的架构风格,分析树是在语法分析阶段结束后才产生作为语义分析的输入,分析树是数据中心中重要的共享数据,为后续的语义分析提供了帮助。

    展开全文
  • 完整地包含了Intel架构下的如下4个开发指南 Intel Architecture Software Developer's Manual Volume 1:Basic Architecture 英特尔架构软件开发者开发手册卷1之基础架构 ...英特尔奔腾处理器家族开发指南
  • ARM家族

    千次阅读 2018-07-26 16:34:23
    家族 架构 内核 特色 缓存 (I/D)/MMU 常规 MIPS 于 MHz 应用 ARM1 ARMv1 ARM1 无 ARM2 ARMv2 ARM...

    一、ARM发展史

    • ARM的前身为艾康电脑(Acorn),于1978年,于英国剑桥创立。
    • 1985年开发出全球第一款商用RISC处理器,即ARM1。
    • 1990年艾康电脑财务危机,受苹果和VLSI的投资,分割出独立子公司Advanced RISC Machines (ARM) ,ARM公司正式成立面世。
    • 1991年,ARM推出第一款嵌入式RISC处理器,即ARM6。
    • 1993年,发布ARM7。
    • 1997年,发布ARM9TDMI。
    • 1999年,发布ARM9E。
    • 2001年,发布ARMv6架构。
    • 2002年,发布ARM11微架构。
    • 2004年,发布ARMv7架构的Cortex系列处理器,同时推出Cortex-M3。
    • 2005年,发布Cortex-A8处理器。
    • 2007年,发布Cortex-M1和Cortex-A9。
    • 2009年,实现Cortex-A9、发布Cortex-M0。
    • 2011年,推出Cortex-A7,ARMv8发布。
    • 2012年,开始64位处理器进程。

    二、ARM体系结构

    1.ARM是RISC架构

    • 常用ARM汇编指令只有二三十条
    • ARM是低功耗CPU
    • ARM的架构非常适合单片机、嵌入式,尤其是物联网领域;而服务器等高性能领域目前主导还是Intel

    2.ARM是统一编址的

    • 大部分ARM(M3 M4 M7 M0 ARM9 ARM11 A8 A9等)都是32位架构
    • 32位ARM CPU支持的内存少于4G,通过CPU地址总线来访问
    • SoC中的各种内部外设通过各自的SFR编程访问,这些SFR的访问方式类似于访问普通内存,这叫IO与内存统一编址。

    3.ARM是哈佛结构的

    • 常见ARM(除ARM7外)都是哈佛结构的
    • 哈佛结构保证了ARM CPU运行的稳定性和安全性,因此ARM适用于嵌入式领域
    • 哈佛结构也决定了ARM裸机程序(使用实地址即物理地址)的链接比较麻烦,必须使用复杂的链接脚本告知链接器如何组织程序;对于OS之上的应用(工作在虚拟地址之中)则不需考虑这么多

    三、ARM处理器列表

    ARM架构版本号和内核版本号是由ARM确定的,而芯片型号是由半导体公司确定的。

    1.架构进化史

    这里写图片描述

    2.处理器内核

    家族 架构 内核 特色 缓存 (I/D)/MMU 常规 MIPS 于 MHz 应用
    ARM1 ARMv1 ARM1
    ARM2 ARMv2 ARM2 Architecture 2 加入了MUL(乘法)指令 4 MIPS @ 8MHz Acorn Archimedes,Chessmachine
    ARMv2a ARM250 Integrated MEMC (MMU),图像与IO处理器。Architecture 2a 加入了SWP和SWPB(置换)指令。 无,MEMC1a 7 MIPS @ 12MHz Acorn Archimedes
    ARM3 ARMv2a ARM2a 首次在ARM架构上使用处理器缓存 均为4K 12 MIPS @ 25MHz Acorn Archimedes
    ARM6 ARMv3 ARM610 v3 架构首创支援定址32位元的内存(针对26位元) 均为4K 28 MIPS @ 33MHz Acorn Risc PC 600,Apple Newton
    ARM7 ARMv3
    ARM7TDMI ARMv4T ARM7TDMI(-S) 三级流水线 15 MIPS @ 16.8 MHz Game Boy Advance,Nintendo DS,iPod
    ARM710T 均为8KB, MMU 36 MIPS @ 40 MHz Acorn Risc PC 700,Psion 5 series,Apple eMate 300
    ARM720T 均为8KB, MMU 60 MIPS @ 59.8 MHz Zipit
    ARM740T MPU
    ARMv5TEJ ARM7EJ-S Jazelle DBX
    StrongARM ARMv4
    ARM8 ARMv4
    ARM9TDMI ARMv4T ARM9TDMI 五级流水线
    ARM920T 16KB/16KB, MMU 200 MIPS @ 180 MHz Armadillo,GP32,GP2X(第一颗内核), Tapwave Zodiac(Motorola i. MX1)
    ARM922T 8KB/8KB, MMU
    ARM940T 4KB/4KB, MPU GP2X(第二颗内核)
    ARM9E ARMv5TE ARM946E-S 可变动,tightly coupled memories, MPU Nintendo DS,Nokia N-Gage Conexant 802.11 chips
    ARM966E-S 无缓存,TCMs ST Micro STR91xF,包含Ethernet [1]
    ARM968E-S 无缓存,TCMs
    ARMv5TEJ ARM926EJ-S Jazelle DBX 可变动,TCMs, MMU 220 MIPS @ 200 MHz 移动电话:Sony Ericsson(K, W系列),明基西门子(x65 系列和新版的)
    ARMv5TE ARM996HS 无振荡器处理器 无缓存,TCMs, MPU
    ARM10E ARMv5TE ARM1020E (VFP),六级流水线 32KB/32KB, MMU
    ARM1022E (VFP) 16KB/16KB, MMU
    ARMv5TEJ ARM1026EJ-S Jazelle DBX 可变动,MMU or MPU
    XScale ARMv5TE 80200/IOP310/IOP315 I/O处理器
    80219 400/600MHz Thecus N2100
    IOP321 600 BogoMips @ 600 MHz Iyonix
    IOP33x
    IOP34x 1-2核,RAID加速器 32K/32K L1, 512K L2, MMU
    PXA210/PXA250 应用处理器,七级流水线 Zaurus SL-5600
    PXA255 32KB/32KB, MMU 400 BogoMips @ 400 MHz Gumstix,Palm Tungsten E2
    PXA26x 可达 400 MHz Tungsten T3
    PXA27x 800 MIPS @ 624 MHz HTC Universal、Zaurus SL-C1000、3000、3100、3200、Dell Axim x30、x50和 x51 系列
    PXA800(E)F
    Monahans 1000 MIPS @ 1.25 GHz Mavell PXA300/PXA310/PXA320, Max frequency : PXA300@624Mhz, PXA310/PXA320@806Mhz
    PXA900 Blackberry 8700, Blackberry Pearl (8100)
    IXC1100 Control Plane Processor
    IXP2400/IXP2800
    IXP2850
    IXP2325/IXP2350
    IXP42x NSLU2
    IXP460/IXP465
    ARM11 ARMv6 ARM1136J(F)-S SIMD, Jazelle DBX, (VFP),八级流水线 可变动,MMU @ 532-665MHz (i.MX31 SoC) Nokia N93,Zune,Nokia N800
    ARMv6T2 ARM1156T2(F)-S SIMD, Thumb-2, (VFP),九级流水线 可变动,MPU
    ARMv6KZ ARM1176JZ(F)-S SIMD, Jazelle DBX, (VFP) 可变动,MMU+TrustZone
    ARMv6K ARM11 MPCore 1-4核对称多处理器,SIMD, Jazelle DBX, (VFP) 可变动,MMU
    Cortex-A (32 bit) ARMv7-A Cortex-A7 1.75 DMIPS/MHz 1 GHz到1.2GHz 全志a31、MediaTek MT6589,MT6572
    Cortex-A8 Application profile, VFP, NEON, Jazelle RCT, Thumb-2, 13-stage pipeline 可变动 (L1+L2), MMU+TrustZone 2.0 DMIPS/MHz 从600 MHz到超过1 GHz Texas Instruments OMAP3、Apple A4
    Cortex-A9 2.50 DMIPS @ 1GHz Apple A5、Apple A5X、MediaTek MT6577,MT6575、Rockchip RK3088,RK3188, VIA Elite-E1000
    Cortex-A12 大约3.00 DMIPS @ 1.4GHz 28nm 预估等同Apple A6、Apple A6X水平。
    Cortex-A15 Thumb-2 TrustZone® NEON DSP & SVFPv4 从3.50 DMIPS到超过4.0 DMIPS @ 从1.4MHz到超过2.5GHz Tegra 4 Exynos5250
    Cortex-A9 MPCore
    Cortex-R ARMv7-R Cortex-R4(F) Embedded profile, (FPU) 可变动缓存,MMU可选配 600 DMIPS Broadcom is a user
    Cortex-M ARMv7-M Cortex-M3 Microcontroller profile 无缓存,(MPU) 120 DMIPS @ 100MHz Luminary Micro[2] 微控制器家族
    ARMv6-M Cortex-M0
    Cortex-M1
    ARMv7-ME Cortex-M4 Optional 8 region MPU with sub regions and background region 1.25 DMIPS/MHz
    家族 架构 内核 特色 缓存 (I/D)/MMU 常规 MIPS 于 MHz 应用

    注:
    MIPS(Million Instructions Per Second):单字长定点指令平均执行速度 Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。
    DMIPS(Dhrystone Million Instructions Per Second):表示了在Dhrystone这样一种测试方法下的MIPS,Dhrystone是一种整数运算测试程序。
    MMU(Memory Management Unit):内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。
    MPU(Memory Protection Unit):内存保护单元,MPU中一个域就是一些属性值及其对应的一片内存。这些属性包括:起始地址、长度、读写权限以及缓存等。
    FPU(Float Point Unit):浮点运算单元,FPU是专用于浮点运算的处理器。
    流水线:流水线(pipeline)技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就像工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即取指令、译码、执行、写回结果,浮点流水又分为八级流水。

    3.ARM芯片

    ARM芯片
    ARM架构·ARM处理器内核列表
    应用处理器(32-bit) Cortex-A5 炬力 ATM702x 晶晨 M805/S805 Atmel SAMA5D3 InfoTM iMAPx820, iMAPx15 高通 骁龙 Snapdragon 200 Telechips TCC892x
    Cortex-A7 全志 A2x, A3x, A83T, H3, H8 博通 VideoCore BCM2836, BCM23550 飞思卡尔 QorIQ LS10xx 联芯 LC1813, LC1913 Marvell Armada PXA1920 联发科 MT65xx 高通骁龙 Snapdragon 200, 高通骁龙 Snapdragon 400
    Cortex-A8 全志 A1x 苹果 A4 飞思卡尔 i.MX5x 瑞芯微电子 RK291x 三星 Exynos 3110, S5PC110, S5PV210 Texas Instruments OMAP 3 ZiiLABS ZMS-08
    Cortex-A9 炬力 ATM702x, ATM703x Altera Cyclone V, Arria V/10 晶晨 AML8726, MX, M6x, M801, M802/S802, S812, T866 苹果 A5, A5X 博通 VideoCore BCM21xxx, BCM28xxx 飞思卡尔 i.MX6x 海思 K3V2 InfoTM iMAPx912 联芯科技 LC1810, LC1811 联发科 MT65xx 英伟达 Tegra, 2, 3, 4i 新岸线 NuSmart 2816M, NS115, NS115M 瑞萨科技 EMMA EV2, R-Car H1, RZ/A 瑞芯微电子 RK292x, RK30xx, RK31xx 三星 Exynos 4 爱立信 NovaThor Telechips TCC8803 德州仪器 OMAP 4 VIA 威信科电 WonderMedia WM88x0, 89x0 Xilinx Zynq-7000 ZiiLABS ZMS-20, ZMS-40
    Cortex-A15 海思 K3V3 联发科 MT6599 英伟达 Tegra 4 三星 Exynos 5 德州仪器 OMAP 5 全志科技 A80 瑞萨科技 R-Car H2
    Cortex-A17 联发科 MT6595 瑞芯微电子 RK3288
    ARMv7-A兼容 苹果 A6, A6X 博通 Brahma-B15 Marvell P4J 高通 Snapdragon S1/S2/S3 (Scorpion) 高通 Snapdragon S4 Plus/S4 Pro (Krait) 高通 Snapdragon 600/800 (Krait 300/Krait 400)
    应用处理器(64-bit) Cortex-A53 炬力 S900 全志 A64, H64 Altera Stratix 10 晶晨 S905 EZchip TILE-Mx100 Marvell Armada PXA1928, Mobile PXA1908/PXA1936 联发科 MT673x, MT675x, MT6795, MT8732, MT8752, Helio X10 高通 骁龙 410 瑞芯微电子 RK3368 Xilinx ZynqMP Mi Surge S1
    Cortex-A57 AMD Opteron A1100 飞思卡尔 QorIQ LS20xx 英伟达 Tegra X1 高通 骁龙 808, 810 三星 Exynos 7
    Cortex-A72 联发科 曦力 Helio X20 高通 骁龙 650, 652
    ARMv8-兼容 苹果 A7, A8, A8X, A9, A9X, A10, A10X, A11 Applied Micro X-Gene 三星 Mongoose Cavium ThunderX CN87xx, CN88xx 英伟达 Tegra K1 (Project Denver) 高通 骁龙 820,821,835,845 (Kryo,Kryo 200)
    实时微控制器 Cortex-R4F 德州仪器RM4, TMS570
    Cortex-R5F Scaleo OLEA
    微控制器 Cortex-M0 Energy Micro EFM32 Zero NXP LPC1100, LPC1200 意法半导体 STM32 F0
    Cortex-M0+ 飞思卡尔 Kinetis L NXP LPC800
    Cortex-M1 Actel FPGAs Altera FPGAs Xilinx FPGAs
    Cortex-M3 Actel SmartFusion, SmartFusion 2 Atmel AT91SAM3 Cypress PSoC 5 Energy Micro EFM32 Tiny, Gecko, Leopard, Giant 富士通 FM3 NXP LPC1300, LPC1700, LPC1800 Silicon Labs Precision32 意法半导体 STM32 F1, F2, L1, W 德州仪器 F28, LM3, TMS470, OMAP 4 东芝 TX03
    Cortex-M4 Atmel AT91SAM4 飞思卡尔 Kinetis K 德州仪器 OMAP 5
    Cortex-M4F Energy Micro EFM32 Wonder 飞思卡尔 Kinetis K 英飞凌 XMC4000 NXP LPC4000, LPC4300 意法半导体 STM32 F3, F4 德州仪器 LM4F

    参考资料:

    展开全文
  • 大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术 出处:http://www.aboutyun.com/thread-6842-1-1.html 大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让...

    大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术

    出处:http://www.aboutyun.com/thread-6842-1-1.html


    大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来。为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选择合适的技术,了解大数据各种技术之间的关系,选择合适的语言。
    我们可以带着下面问题来阅读本文章:
    1.hadoop都包含什么技术
    2.Cloudera公司与hadoop的关系是什么,都有什么产品,产品有什么特性
    3.Spark与hadoop的关联是什么?
    4.Storm与hadoop的关联是什么?



    hadoop家族
    创始人:Doug Cutting
    整个Hadoop家族由以下几个子项目组成:

    Hadoop Common:
    Hadoop体系最底层的一个模块,为Hadoop各子项目提供各 种工具,如:配置文件和日志操作等。详细可查看
    Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理大全1-9章

    HDFS

    是Hadoop应用程序中主要的分布式储存系统, HDFS集群包含了一个NameNode(主节点),这个节点负责管理所有文件系统的元数据及存储了真实数据的DataNode(数据节点,可以有很多)。HDFS针对海量数据所设计,所以相比传统文件系统在大批量小文件上的优化,HDFS优化的则是对小批量大型文件的访问和存储。下面为详细资料:
    什么是HDFS及HDFS架构设计
    HDFS+MapReduce+Hive快速入门
    Hadoop2.2.0中HDFS为何具有高可用性
    Java创建hdfs文件实例

    MapReduce:

    是一个软件框架,用以轻松编写处理海量(TB级)数据的并行应用程序,以可靠和容错的方式连接大型集群中上万个节点(商用硬件)。
    详细可查看:
    Hadoop简介(1):什么是Map/Reduce
    Hadoop MapReduce基础
    MapReduce工作原理讲解
    手把手交你写Mapreduce程序实例并部署在Hadoop2.2.0上运行

    Hive:

    Apache Hive是Hadoop的一个数据仓库系统,促进了数据的综述(将结构化的数据文件映射为一张数据库表)、即席查询以及存储在Hadoop兼容系统中的大型数据集分析。Hive提供完整的SQL查询功能——HiveQL语言,同时当使用这个语言表达一个逻辑变得低效和繁琐时,HiveQL还允许传统的Map/Reduce程序员使用自己定制的Mapper和Reducer。hive类似CloudBase,基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据 的汇总,即席查询简单化。
    详细可查看:
    Hive的起源及详细介绍
    hive详解视频


    Pig:

    Apache Pig是一个用于大型数据集分析的平台,它包含了一个用于数据分析应用的高级语言以及评估这些应用的基础设施。Pig应用的闪光特性在于它们的结构经得起大量的并行,也就是说让它们支撑起非常大的数据集。Pig的基础设施层包含了产生Map-Reduce任务的编译器。Pig的语言层当前包含了一个原生语言——Pig Latin,开发的初衷是易于编程和保证可扩展性。
    Pig是SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中,并且用户可以定义自己的功能。Yahoo网格运算部门开发的又一个克隆Google的项目Sawzall。
    详细可查看:
    pig入门简单操作及语法包括支持数据类型、函数、关键字、操作符等
    hadoop家族Pig和Hive有什么不同?



    HBase:

    Apache HBase是Hadoop数据库,一个分布式、可扩展的大数据存储。它提供了大数据集上随机和实时的读/写访问,并针对了商用服务器集群上的大型表格做出优化——上百亿行,上千万列。其核心是Google Bigtable论文的开源实现,分布式列式存储。就像Bigtable利用GFS(Google File System)提供的分布式数据存储一样,它是Apache Hadoop在HDFS基础上提供的一个类Bigatable。
    详细可查看:
    hbase与传统数据的区别
    HBASE分布式安装视频下载分享

    ZooKeeper:

    Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
    详细可查看:
    什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具体作用是什么

    Avro:

    Avro是doug cutting主持的RPC项目,有点类似Google的protobuf和Facebook的thrift。avro用来做以后hadoop的RPC,使hadoop的RPC模块通信速度更快、数据结构更紧凑。


    Sqoop:
    Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库中数据导入Hadoop的HDFS中,也可以将HDFS中数据导入关系型数据库中。
    详细可查看:
    Sqoop详细介绍包括:sqoop命令,原理,流程

    Mahout:

    Apache Mahout是个可扩展的机器学习和数据挖掘库,当前Mahout支持主要的4个用例:
    推荐挖掘:搜集用户动作并以此给用户推荐可能喜欢的事物。
    聚集:收集文件并进行相关文件分组。
    分类:从现有的分类文档中学习,寻找文档中的相似特征,并为无标签的文档进行正确的归类。
    频繁项集挖掘:将一组项分组,并识别哪些个别项会经常一起出现。


    Cassandra:

    Apache Cassandra是一个高性能、可线性扩展、高有效性数据库,可以运行在商用硬件或云基础设施上打造完美的任务关键性数据平台。在横跨数据中心的复制中,Cassandra同类最佳,为用户提供更低的延时以及更可靠的灾难备份。通过log-structured update、反规范化和物化视图的强支持以及强大的内置缓存,Cassandra的数据模型提供了方便的二级索引(column indexe)。

    Chukwa:

    Apache Chukwa是个开源的数据收集系统,用以监视大型分布系统。建立于HDFS和Map/Reduce框架之上,继承了Hadoop的可扩展性和稳定性。Chukwa同样包含了一个灵活和强大的工具包,用以显示、监视和分析结果,以保证数据的使用达到最佳效果。

    Ambari:

    Apache Ambari是一个基于web的工具,用于配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。



    HCatalog

    Apache HCatalog是Hadoop建立数据的映射表和存储管理服务,它包括:
    提供一个共享模式和数据类型机制。
    提供一个抽象表,这样用户就不需要关注数据存储的方式和地址。
    为类似Pig、MapReduce及Hive这些数据处理工具提供互操作性。

    ------------------------------------------------------------------------------------------------------------------------------------------------

    Chukwa:

    Chukwa是基于Hadoop的大集群监控系统,由yahoo贡献。


    ------------------------------------------------------------------------------------------------------------------------------------------------

    Cloudera系列产品:
    创始组织:Cloudera公司
    1.Cloudera Manager:
    有四大功能
    (1)管理
    (2)监控
    (3)诊断
    (4)集成
    Cloudera Manager四大功能

    2.Cloudera CDH:英文名称:CDH (Cloudera's Distribution, including Apache Hadoop)
    Cloudera对hadoop做了相应的改变。
    Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。
    详细可以查看
    Cloudera Hadoop什么是CDH及CDH版本介绍
    相关资料
    CDH3实战Hadoop(HDFS) , HBase , Zookeeper , Flume , Hive
    CDH4安装实践HDFS、HBase、Zookeeper、Hive、Oozie、Sqoop
    Hadoop CDH四种安装方式总结及实例指导
    hadoop的CDH4及CDH5系列文档下载分享


    3.Cloudera Flume
    Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;
    Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。


    Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。
    Flume采用了多Master的方式。为了保证配置数据的一致性,Flume[1]引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。
    详细可查看:
    什么是 flume 日志收集,flume的特性
    什么是 flume 日志收集,flume的原理是什么,flume会遇到什么问题

    4.Cloudera  Impala

    Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL。除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)。Impala还提供了一个熟悉的面向批量或实时查询和统一平台。

    详细可查看:

    什么是impala,如何安装使用Impala
    5.Cloudera   hue
    Hue是cdh专门的一套web管理器,它包括3个部分hue ui,hue server,hue db。hue提供所有的cdh组件的shell界面的接口。你可以在hue编写mr,查看修改hdfs的文件,管理hive的元数据,运行Sqoop,编写Oozie工作流等大量工作。
    详细可查看:
    cloudera hue安装及Oozie的安装
    什么是Oozie?Oozie简介
    Cloudera Hue 使用经验分享,遇到的问题及解决方案


    ------------------------------------------------------------------------------------------------------------------------------------------------

    Spark

    创始组织:加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发


    Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

    Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

    尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

    可以详细了解
    科普Spark,Spark是什么,如何使用Spark(1)
    科普Spark,Spark核心是什么,如何使用Spark(2)
    优酷土豆用Spark完善大数据分析
    Hadoop新成员Hadoop-Cloudera公司将Spark加入Hadoop


    -----------------------------------------------------------------------------------------------------------------------------------------------

    Storm

    创始人:Twitter

    Twitter将Storm正式开源了,这是一个分布式的、容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType开发的实时处理系统,BackType现在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure写的。

    详细可以了解:
    storm入门介绍
    Storm-0.9.0.1安装部署 指导
    总体认识storm包括概念,场景,组成
    大数据架构师:hadoop、Storm改选哪一个?
    大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合
    展开全文
  • 为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选择合适的技术,了解大数据各种技术之间的关系,选择合适的语言。 我们可以带着下面问题来阅读本文章: 1.hadoop都包含什么技术? ...

    38

    大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来。为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选择合适的技术,了解大数据各种技术之间的关系,选择合适的语言。

    我们可以带着下面问题来阅读本文章:
    1.hadoop都包含什么技术?
    2.Cloudera公司与hadoop的关系是什么,都有什么产品,产品有什么特性?
    3.Spark与hadoop的关联是什么?
    4.Storm与hadoop的关联是什么?

    hadoop家族

    hadoop

    创始人:Doug Cutting

    整个Hadoop家族由以下几个子项目组成:

    Hadoop Common:

    Hadoop体系最底层的一个模块,为Hadoop各子项目提供各 种工具,如:配置文件和日志操作等。

    HDFS:

    是Hadoop应用程序中主要的分布式储存系统, HDFS集群包含了一个NameNode(主节点),这个节点负责管理所有文件系统的元数据及存储了真实数据的DataNode(数据节点,可以有很多)。HDFS针对海量数据所设计,所以相比传统文件系统在大批量小文件上的优化,HDFS优化的则是对小批量大型文件的访问和存储。

    MapReduce:

    是一个软件框架,用以轻松编写处理海量(TB级)数据的并行应用程序,以可靠和容错的方式连接大型集群中上万个节点(商用硬件)。

    Hive:

    Apache Hive是Hadoop的一个数据仓库系统,促进了数据的综述(将结构化的数据文件映射为一张数据库表)、即席查询以及存储在Hadoop兼容系统中的大型数据集分析。Hive提供完整的SQL查询功能——HiveQL语言,同时当使用这个语言表达一个逻辑变得低效和繁琐时,HiveQL还允许传统的Map/Reduce程序员使用自己定制的Mapper和Reducer。hive类似CloudBase,基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据 的汇总,即席查询简单化。

    Pig:

    Apache Pig是一个用于大型数据集分析的平台,它包含了一个用于数据分析应用的高级语言以及评估这些应用的基础设施。Pig应用的闪光特性在于它们的结构经得起大量的并行,也就是说让它们支撑起非常大的数据集。Pig的基础设施层包含了产生Map-Reduce任务的编译器。Pig的语言层当前包含了一个原生语言——Pig Latin,开发的初衷是易于编程和保证可扩展性。

    Pig是SQL-like语言,是在MapReduce上构建的一种高级查询语言,把一些运算编译进MapReduce模型的Map和Reduce中,并且用户可以定义自己的功能。Yahoo网格运算部门开发的又一个克隆Google的项目Sawzall。

    HBase:

    Apache HBase是Hadoop数据库,一个分布式、可扩展的大数据存储。它提供了大数据集上随机和实时的读/写访问,并针对了商用服务器集群上的大型表格做出优化——上百亿行,上千万列。其核心是Google Bigtable论文的开源实现,分布式列式存储。就像Bigtable利用GFS(Google File System)提供的分布式数据存储一样,它是Apache Hadoop在HDFS基础上提供的一个类Bigatable。

    ZooKeeper:

    Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

    Avro:

    Avro是doug cutting主持的RPC项目,有点类似Google的protobuf和Facebook的thrift。avro用来做以后hadoop的RPC,使hadoop的RPC模块通信速度更快、数据结构更紧凑。

    Sqoop:

    Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库中数据导入Hadoop的HDFS中,也可以将HDFS中数据导入关系型数据库中。

    Mahout:

    Apache Mahout是个可扩展的机器学习和数据挖掘库,当前Mahout支持主要的4个用例:

    • 推荐挖掘:搜集用户动作并以此给用户推荐可能喜欢的事物。
    • 聚集:收集文件并进行相关文件分组。
    • 分类:从现有的分类文档中学习,寻找文档中的相似特征,并为无标签的文档进行正确的归类。
    • 频繁项集挖掘:将一组项分组,并识别哪些个别项会经常一起出现。

    Cassandra:

    Apache Cassandra是一个高性能、可线性扩展、高有效性数据库,可以运行在商用硬件或云基础设施上打造完美的任务关键性数据平台。在横跨数据中心的复制中,Cassandra同类最佳,为用户提供更低的延时以及更可靠的灾难备份。通过log-structured update、反规范化和物化视图的强支持以及强大的内置缓存,Cassandra的数据模型提供了方便的二级索引(column indexe)。

    Chukwa:

    Apache Chukwa是个开源的数据收集系统,用以监视大型分布系统。建立于HDFS和Map/Reduce框架之上,继承了Hadoop的可扩展性和稳定性。Chukwa同样包含了一个灵活和强大的工具包,用以显示、监视和分析结果,以保证数据的使用达到最佳效果。

    Ambari:

    Apache Ambari是一个基于web的工具,用于配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。

    HCatalog

    Apache HCatalog是Hadoop建立数据的映射表和存储管理服务,它包括:

    • 提供一个共享模式和数据类型机制。
    • 提供一个抽象表,这样用户就不需要关注数据存储的方式和地址。

    为类似Pig、MapReduce及Hive这些数据处理工具提供互操作性。

    Chukwa:

    Chukwa是基于Hadoop的大集群监控系统,由yahoo贡献。

    Cloudera系列产品:

    Cloudera

    创始组织:Cloudera公司

    1.Cloudera Manager:

    有四大功能

    • (1)管理
    • (2)监控
    • (3)诊断
    • (4)集成

    2.Cloudera CDH:英文名称:CDH (Cloudera’s Distribution, including Apache Hadoop)

    Cloudera对hadoop做了相应的改变。

    Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。

    3.Cloudera Flume

    Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;

    Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

    Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。

    Flume采用了多Master的方式。为了保证配置数据的一致性,Flume[1]引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。

    4.Cloudera Impala

    Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL。除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)。Impala还提供了一个熟悉的面向批量或实时查询和统一平台。

    5.Cloudera hue

    Hue是cdh专门的一套web管理器,它包括3个部分hue ui,hue server,hue db。hue提供所有的cdh组件的shell界面的接口。你可以在hue编写mr,查看修改hdfs的文件,管理hive的元数据,运行Sqoop,编写Oozie工作流等大量工作。

    Spark

    spark

    创始组织:加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发

    Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

    Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

    尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoo 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

    Storm

    Storm

    创始人:Twitter

    Twitter将Storm正式开源了,这是一个分布式的、容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType开发的实时处理系统,BackType现在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure写的。

    End.

    展开全文
  • CPU架构:CPU架构详细介绍

    万次阅读 多人点赞 2020-04-25 10:12:43
    1概述 CPU架构是CPU商给CPU产品定的一个规范,主要目的是为了区分不同类型的CPU。...不同品牌的CPU,其产品的架构也不相同,Intel、AMD的CPU是X86架构,IBM公司的CPU是PowerPC架构,ARM公司的CPU是ARM架构,国...
  • cpu架构之体系架构

    2021-01-15 14:47:20
    cpu架构之体系架构 1 现代CPU体系结构简介 现代的CPU基本上归为冯诺依曼结构(也称普林斯顿结构)和哈佛结构。 1.1 冯诺依曼结构 冯诺依曼结构(von Neumann architecture),也称普林斯顿结构,是一种将程序指令...
  • 架构漫谈

    千次阅读 2019-08-31 10:35:15
    架构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。专栏的目的是希望能抛出一些观点,并引发大家思考...
  • RabbitMQ核心API、高级特性、整合Spring家族、集群模式、SET化架构设计、组件架构 带你全面系统掌握RabbitMQ及Java访问操作!pom.xml 2 概述 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现...
  • ARM架构和x86架构

    千次阅读 2019-06-10 11:25:00
    我对原文中的重点进行了筛选,方便快速了解。 arm架构 ARM,进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)...在今日,ARM家族占了所有32位嵌入式处理器7...
  • 一文看懂arm架构和x86架构有什么区别

    万次阅读 多人点赞 2019-05-11 20:28:30
    本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能、扩展能力、操作系统的兼容性、软件开发的方便性及可使用工具的多样性及功耗这五个方面详细的对比了arm架构和x86...
  • 架构风格定义了一个系统家族,即一个架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。架构风格反映了领域中众多系统所共有的结构和语义...
  • 重读《架构漫谈》

    千次阅读 2019-10-06 16:33:44
    架构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构、怎样做好架构、软件架构如何落地、如何写好程序等问题。专栏的目的是希望能抛出一些观点,并引发大家思考...
  • ARM架构

    千次阅读 2013-07-22 16:30:21
    ARM架构(过去称作进阶精简指令集机器(Advanced RISC Machine),更早称作Acorn RISC Machine)是一个32位元精简指令集(RISC) 中央处理器(processor)架构,其广泛地使用在许多嵌入式系统(embedded)设计。...
  • arm架构和x86架构介绍

    千次阅读 2018-08-08 10:57:01
    什么叫arm架构  ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集...在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的...
  • 一、软件架构风格的概念...2、软件架构风格定义了一个系统家族,即一个架构定义了一个词汇表和一组约束。其中:词汇表包含了一些构件和连接件类型;约束是描述系统如何将这些构件和连接件组合起来。 3、软件架构风格反
  • DBA与架构

    2019-09-21 21:31:26
    有一天跟DBA探讨下AB表设计的事情, DBA说这个嘛,根本不需要AB表,可以采用分区,交换分区来实现,架构师说分区并不是所有数据库都有,交换分区是ORACLE特有,其他关系型数据比如Sqlserver,Sqlite,PostgreSQL,Mysql...
  • 架构风格和架构模式速览

    千次阅读 2016-09-01 12:53:27
    应用架构指南2.0(微软模式和实践)的第6章讨论了诸如消息总线、...你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。指南的作者
  • 架构说明

    2015-03-08 21:12:41
    x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最成功...
  • ARM架构与x86架构的区别

    万次阅读 多人点赞 2018-11-19 12:31:50
    一、什么是ARM架构  ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集... 在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界...
  • 软件架构设计---软件架构风格

    万次阅读 2018-09-17 21:33:52
    软件架构风格  软件架构设计的一个核心问题是能否使用重复的软件架构模式,即能否达到架构级别的软件重用。也就是说,能否在不同的软件...架构风格定义了一个系统家族,即一个架构定义一个词汇表和一组约束。词汇...
  • 1.概念:  软件架构设计的一个核心问题是能否使用重复的架构模式,即能否达到架构级的...统家族,即一个架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型, 而这组约束指出系统是如何将这些构件和连
  • arm架构和x86架构的区别详解

    千次阅读 2020-08-11 21:10:35
    什么叫arm架构 ...在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌
  • ARM架构与X86架构

    千次阅读 2012-01-19 14:49:36
    ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用...
  • 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但...
  •   前一篇已经讲了如何识别问题。在识别出是谁的问题之后,会发现,在大部分情况下,问题都迎刃而解,不需要做...这个调整就是架构的切分。 切分就是利益的调整  我们要非常的清楚,所有的切分调整,都是对相

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,501
精华内容 11,000
关键字:

家族架构