面向数据架构的云演变
现代数据架构的概念在过去的10多年里发生了巨大的变化,具体可以参见公众号“补天遗石”的《从数据仓库到数据湖——浅谈数据架构演进》一文。
把时钟调回来,回想一下那些有许多限制的遗留数据架构的日子。 存储是昂贵的,并且有相关的硬件成本。 计算经常涉及服务器和更多的硬件投资。 网络是昂贵的,部署只是在场内,专有软件和硬件都锁定在用户所在的所有企业。
这是一个(对许多组织来说仍然是)的世界,在这个世界上,架构只允许对高度结构化数据进行事后分析。 随着移动和传感器等新数据类型的出现,以及机器学习和数据科学等新的分析出现,这些遗留架构中的弱点就会暴露无遗。 再加上云计算的出现,我们将迎来一场完美的风暴。
许多相互关联的因素打乱了遗留的数据体系结构时代。 储存变得更加便宜,像 Apache Hadoop 这样的软件成为了中心舞台。 计算也走软件路线,我们看到了边缘计算的开始。 网络变得无处不在,为地球提供了3G/4G/LTE连接,部署开始成为混合动力,企业开始使用开源软件。 随着客户需求的改变,这导致了一股创新热潮,影响了供应商现代化数据架构的方向。
云的出现创造了再次进化的需要,以便利用其独特的特性,如脱耦存储和计算。 因此,这导致了相互连接的数据架构,Hadoop 生态系统为 IaaS 和 PaaS 模型和创新进化,用于连接数据中心和公共云中的部署。
由于数据具有"质量",并且是云迅速崛起的原因,数据架构必须再次演变,以满足当今企业的需求,并利用云计算的独特优势。 今天的数据架构需要更多的东西来实现数字转换、实时分析和人工智能的梦想。 这为事先分析和驱动客户360度视图等用例铺平了道路。 组织需要一个统一的混合体系结构,用于室内、多云和边缘环境。 现在是重新设想数据结构的时候了,混合是一个关键的要求。
云模型非常适合于敏捷性开发和高效部署,并能很好地应用于临时工作负载。 该模型提供了一种更可预测的成本结构,适用于长期运行的工作负载。 将"云"带到数据中,无论数据是位于本地还是云端。
图1 数据架构的演变
首先,理解驱动开放混合架构的关键原则。
统一管理(跨本地及云)
进行数据传输,部署模型的选择是由用例驱动的,可能需要多个云供应商。 今天,他们在办公场所做分析。 明天,他们想要探索一个运行深度学习工作负载的云提供商。 后天,他们想把一些工作量带回到办公地点,以获得更可预测的成本模式。 人们正在用一个统一的界面,帮助他们进行混合云之旅。 数据分析师、数据工程师、数据科学家正在使用大数据环境,他们也在寻找以人为本的经验。 希望提供一个自助服务用户界面,以便能够隐藏基础设施的复杂性,让用户专注于业务问题。
存储与计算的解耦选择
从大数据、存档数据、备份到多协议访问使用单一统一存储(S3 API,Hadoop API,NFS,iSCSI)。 S3接口提供了在站点和云中应用程序的可移植性。 每个用例具有不同的计算储存比率。 与十年前不同,网络交换机拥有10 Gbps,40 Gbps,100 Gbps 接口,对数据密集型工作负载具有更好的流量控制。 所有这些都导致计算和存储的分离,每个层可以独立地扩展。
很多更喜欢在当地存储某个类别的应用程序,在这种情况下,保持存储和计算在同一服务器中的耦合是有意义的。 考虑到遗留问题,最适合提供一个存储架构,可以扩展到数万亿的文件/对象,提供强大的一致性(不像亚马逊S3)和许多其他的对象存储解决方案,这需要应用程序来构建一个一致性层) ,最重要的是提供了做耦合和去耦合计算和存储的选项。
容器化
大多数用户希望封装隔离和多租赁在一个易于使用的界面。 自定义的容器化应用程序可以应用到集群,能够进入下一个层次——集成自己的组件,如企业数据仓库(EDW)、数据科学和工程平台等。 有很多好处。 在云环境中,可以在几分钟内创建一个按需工作的负载。 在过去,这个过程需要与服务器管理员进行数月的协调,然后建立一个新的集群。 这是云敏捷性的前提,并允许简化到一个共同的体系结构,这样 EDW 解决方案就可以在不需要任何架构检修的情况下运行在前台和云端。
共享安全和治理
可以使用像云一样的敏捷性部署容器化工作负载,需要一个共享和持久的安全和治理层来集中执行访问控制和数据治理。 由于数据是通过 Hadoop 文件系统和云对象存储分布的,希望有一个共同的安全和治理控制。 当数据环境扩展到数百亿的文件和整个组织的共享时,需要有部门级别的安全领域——考虑一个具有自身安全和治理控制的"逻辑"数据湖。
负载敏捷性
这是开放式混合体系结构的终极圣杯。 数据环境的存在,以便各种处理工作负载能够运行,从噪声中获得洞察力或信号,用户可以在他们的组织得到真正的业务转换。 许多工作负载,如 EDW,数据科学和工程平台有不同的发布节奏。这种架构能够轻松地改变独立于底层基础设施的组件的软件修改,避免一个庞大的升级,可以为大数据环境中的数以千计的租户提供一个自我服务角色为中心的用户界面来创建按需工作负载。
所有这些都导致了云和本地一致的混合架构设计。
图2 开放式混合架构
数据中心可以有多个环境或单一的环境。 一个环境包括存储、计算、安全和治理服务以及操作服务(日志、度量)。 用 户可以拥有一个100个节点的环境,存储和计算在同一服务器中被耦合在一起,从数据本地化中获益。 或者,用户可以在一个存储环境中投入50个节点和在一个计算环境中投50个节点,以便存储环境和计算环境能够独立地扩展。 存储环境规模达到数百亿个文件,而计算环境提供了容器化的体系结构来运行工作负载。
图3 开放混合架构的高层视角
用户可以拥有多个部门,分享环境,同时拥有自己的安全和治理控件,不让他们的数据集相互可见(例如垂直的医疗保健)。 可能有用户希望加入跨部门的数据集,在这种情况下,他们可以只有一个数据湖映射到一个单一的环境中。
在一个部门里可能有成百上千的租户需要解决一个商业问题并且需要一个工作量(比如 EDW,数据科学)。 管理员或部门级的架构师可以为数据集提供访问控制,并使用容器在计算环境中为租户创建一个工作负载。 现在,租户可以访问以人为中心的用户界面来访问数据集并解决他/她的业务问题。 所有的用户界面和工作负载都可以通过开放混合架构完成。
参考资料:
https://hortonworks.com/blog/open-hybrid-architecture-bringing-cloud-native-to-on-premises/
https://hortonworks.com/blog/bringing-cloud-native-architecture-to-big-data-in-the-data-center/
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
打印(获取)HDFS路径下所有的文件名(包括子目录下的)
版权声明:本文由董可伦首发于https://dongkelun.com,非商业转载请注明作者及原创出处。商业转载请联系作者本人。 https://blog.csdn.net/dkl12/article/details/84312307 我的原创地址:https://dongkelun.com/2018/11/20/getAllHDFSFileNames/ 前言 自己有个需求,如题,需要获取HDFS路径下所有的文件名,然后根据文件名用Spark进行后续操作。想了一下用Spark好像不太容易获取到,还要递归的去获取子目录下的文件名,于是查了一下,最后用Hadoop的API搞定,这里记录下,方便以后会用到。 1、数据 测试路径:/tmp/dkl,全路径名hdfs://ambari.master.com:8020/tmp/dkl 用hadoop的命令查看一下,该路径下都有哪些文件和文件夹 hadoop fs -ls /tmp/dkl 附图: 2、完整代码 不多做解释了,直接看代码和结果吧(稍微封装了一下,有其它需求可以参考改写) package com.dkl.leanring.spark.h...
- 下一篇
HBase 在人工智能场景的使用
近几年来,人工智能逐渐火热起来,特别是和大数据一起结合使用。人工智能的主要场景又包括图像能力、语音能力、自然语言处理能力和用户画像能力等等。这些场景我们都需要处理海量的数据,处理完的数据一般都需要存储起来,这些数据的特点主要有如下几点: 大:数据量越大,对我们后面建模越会有好处; 稀疏:每行数据可能拥有不同的属性,比如用户画像数据,每个人拥有属性相差很大,可能用户A拥有这个属性,但是用户B没有这个属性;那么我们希望存储的系统能够处理这种情况,没有的属性在底层不占用空间,这样可以节约大量的空间使用; 列动态变化:每行数据拥有的列数是不一样的。 为了更好的介绍 HBase 在人工智能场景下的使用,下面以某人工智能行业的客户案例进行分析如何利用 HBase 设计出一个快速查找人脸特征的系统。 目前该公司的业务场景里面有很多人脸相关的特征数据,总共
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装