大数据开发生态圈之Apache Hadoop简介

大数据开发生态圈之Apache Hadoop简介

Hadoop概述

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

分布式存储

    在分布式存储系统中,分散在不同节点中的数据可能属于同一个文件,为了组织众多的文件,把文件可以放到不同的文件夹中,
文件夹可以一级一级的包含。我们把这种组织形式称为命名空间(namespace)。命名空间管理着整个服务器集群中的所有文件。

分布式计算

    把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计
算结果综合起来得到最终的结果。

Hadoop关联项目

大数据开发生态圈之Apache Hadoop简介

AmbariTM:基于web能够提供资源、监控、管理Hadoop集群的操作工具。
AvroTM:数据序列化系统。
HBaseTM:能支持结构化数据大表存储的可扩展的、分布式的数据库。
HiveTM:能够支持数据的汇总和临时查询的数据仓库基础框架。
MahoutTM:一个可扩展的机器学习和数据挖掘库。
PigTM:高级数据流语言和并行计算执行框架
SparkTM:一个快速和通用的计算Hadoop数据引擎。
TezTM:一个通用的数据流编程框架。
ZooKeeperTM:一个分布式应用的高性能协调的服务。

Hadoop版本

大数据开发生态圈之Apache Hadoop简介

大数据开发生态圈之Apache Hadoop简介

Hadoop的版本大致分为以下:
Apache
官方版本
Cloudera(CDH)
使用下载最多的版本,稳定,有商业支持,在Apache的基础上打上了一些补丁。推荐使用。
HortonWorks(HDP)
基于Apache的版本进行了集成。
MapR

Hadoop模块构成

Hadoop2包括4个模块

Hadoop Common
The common utilities that support the other Hadoop modules.
Hadoop Distributed File System(HDFSTM)
A distributed file system that provides high-throughput access to application data.
Hadoop Yarn
A framework for job scheduling and cluster resource management.
Hadoop MapReduce
A YARN-based system for parallel processing of large data sets.

Hadoop1和Hadoop2简介

Hadoop1
HDFS:Hadoop Distributed File System 分布式文件系统
MapReduce:分布式计算模型
Hadoop2
HDFS2: Hadoop Distributed File System 分布式文件系统
Yarn:资源管理平台,在上面运行分布式计算,典型的计算模型有
MapReduce、Storm、Spark等。

大数据开发生态圈之Apache Hadoop简介

详细可参考http://hadoop.apache.org

转载于:https://blog.51cto.com/14306339/2384829

Apache ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由JDBC、Proxy和Sidecar(规划中)这3款相互独立,却又能够混合部署配合使用的产品组成。它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。 Apache ShardingSphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。它通过关注不变,进而抓住事物本质。关系型数据库当今依然占有巨大市场,是各个公司核心业务的基石,未来也难于撼动,我们目前阶段更加关注在原有基础上的增量,而非颠覆。 Apache ShardingSphere 5.x版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式进行扩展。目前,数据分片、读写分离、多数据副本、数据加密、影子库压测等功能,以及对MySQL、PostgreSQL、SQLServer、Oracle等SQL与协议的支持,均通过插件的方式织入项目。开发者能够像使用积木一样定制属于自己的独特系统。Apache ShardingSphere目前已提供数十个SPI作为系统的扩展点,而且仍在不断增加中。 ShardingSphere特点: ShardingSphere-JDBC 定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。 适用于任何基于JDBC的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。 支持任意实现JDBC规范的数据库,目前支持MySQL,Oracle,SQLServer,PostgreSQL以及任何遵循SQL92标准的数据库。 ShardingSphere-Proxy 定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前提供MySQL和PostgreSQL版本,它可以使用任何兼容MySQL/PostgreSQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat等)操作数据,对DBA更加友好。 向应用程序完全透明,可直接当做MySQL/PostgreSQL服务端使用。 适用于任何兼容MySQL/PostgreSQL协议的的客户端。 ShardingSphere-Sidecar(TODO) 定位为Kubernetes的云原生数据库代理,以Sidecar的形式代理所有对数据库的访问。通过无中心、零侵入的方案提供与数据库交互的的啮合层,即Database Mesh,又可称数据库网格。 Database Mesh的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注的是交互,是将杂乱无章的应用与数据库之间的交互进行有效地梳理。使用Database Mesh,访问数据库的应用和数据库终将形成一个巨大的网格体系,应用和数据库只需在网格体系中对号入座即可,它们都是被啮合层所治理的对象。 混合架构 ShardingSphere-JDBC采用无中心化架构,适用于Java开发的高性能的轻量级OLTP应用;ShardingSphere-Proxy提供静态入口以及异构语言的支持,适用于OLAP应用以及对分片数据库进行管理和运维的场景。 Apache ShardingSphere是多接入端共同组成的生态圈。 通过混合使用ShardingSphere-JDBC和ShardingSphere-Proxy,并采用同一注册中心统一配置分片策略,能够灵活的搭建适用于各种场景的应用系统,使得架构师更加自由地调整适合与当前业务的最佳系统架构。 功能列表: 1、数据分片 分库 & 分表 读写分离 分片策略定制化 无中心化分布式主键 2、分布式事务 标准化事务接口 XA 强一致事务 柔性事务 3、数据库治理 分布式治理 弹性伸缩 可观测性(分布式跟踪、指标度量) 数据加解密 影子表压测
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值