知识|建议收藏!一张图建立全面的大数据知识体系

文章图片
对海量数据进行存储、计算、分析、挖掘处理需要依赖一系列的大数据技术,而大数据技术又涉及了分布式计算、高并发处理、高可用处理、集群、实时性计算等,可以说是汇集了当前 IT 领域热门流行的 IT 技术。
本文对大数据技术知识体系进行划分,共分为基础技术、数据采集、数据传输、数据组织集成、数据应用、数据治理,进行相关的阐述说明,并列出目前业界主流的相关框架、系统、数据库、工具等。
前言
最早提出“大数据”时代到来的是全球知名咨询公司麦肯锡,麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。”
数据,让一切有迹可循,让一切有源可溯。我们每天都在产生数据,创造大数据和使用大数据,只是,你,仍然浑然不知。
企业组织利用相关数据和分析可以帮助它们降低成本、提高效率、开发新产品、做出更明智的业务决策等等。大数据的价值,远远不止于此,大数据对各行各业的渗透,大大推动了社会生产和生活,未来必将产生重大而深远的影响。
文章图片
一 、大数据基础技术
数据分片路由
在大数据的背景下,数据规模已经由 GP 跨越大屏 PB 的级别,单机明显已经无法存储与处理如此规模的数据量,只能依靠大规模集群来对这些数据进行存储和处理。对于海量的数据,通过数据分片来将数据进行切分到不同机器中去,分片以后,如何能够找到某一条记录。这就是数据的分片和路由。
数据复制 & 一致性
在大数据的存储系统中,为了增加系统的可靠性,往往会将同一份数据存储多个副本。数据是如何复制?以及数据复制后带来的一致性问题如何的解决?
文章图片
大数据常用算法与数据结构
对于大数据或者大规模的分布式系统来说,如何能够高效快速地进行海量数据的处理非常关键,而采用合适的数据结构和算法对于达成此目标至关重要。
二 、数据采集
大数据的采集处于大数据生命周期的第一个环节,从数据采集的类型看不仅仅要涵盖基础的结构化数据,半结构化数据,以及非结构化数据音频、视频、图像等。常见的数据采集方式包括系统日志采集、网络数据采集、设备数据采集。
系统日志采集
系统日志采集主要是对数据库、系统、服务器等运行状态,行为事件等数据抓取。
埋点:浏览器打点、无线客户端、服务端打点;
数据采集框架:Chukwa、Splunk Forwarder、Flume、Fluentd、Logstash、Scribe。
网络数据采集
网络数据采集是指通过爬虫或者公开 API 等方式从网站获取数据。数据的内容可以是文本、视屏、图片数据等。
爬虫技术:Nutch、Heritrix、Scrapy、WebCollector。
设备数据采集
设备数据采集主要是指针对一些物理设备的数据采集,常见的如传感器,探针。
三、数据传输
经过采集的数据通过数据通道被传输存储。集中存储的数据源的数据发生变化也能通过数据通道尽快地通知对数据敏感的相应应用或者系统构建,使得它们能够尽快的捕获数据的变化。
数据传输包含如下相关技术:消息队列、数据同步、数据订阅、序列化。
消息队列
消息队列是涉及大规模分布式系统时候经常使用的中间件产品,主要解决日志搜集,应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性架构。
数据同步
在数据仓库建模中,未经任何加工处理的原始业务层数据,我们称之为 ODS数据。在互联网企业中,常见的 ODS 数据有业务日志数据和业务 DB 数据两类。对于业务 DB 数据来说,从 MySQL 等关系型数据库的业务数据进行采集,然后导入到数据仓库中,是进一个重要环节。如何准确、高效地把 MySQL 数据同步到数据仓库中?一般常用的解决方案是批量取数并 Load。数据同步解决各个数据源之间稳定高效的数据同步功能。
数据订阅
数据订阅功能旨在帮助用户获取实时增量数据,用户能够根据自身业务需求自由消费增量数据,例如实现缓存更新策略、业务异步解耦、异构数据源数据实时同步及含复杂 ETL 的数据实时同 步等多种业务场景。
序列化
序列化
大数据进行即席查询分析近两年日益成为关注领域。即席查询是用户根据自己的需求,灵活的选择查询条件,系统能够根据条件快速的进行查询分析返回结果。即席查询和分析的计算模式兼具了良好的时效性与灵活性,是对批处理,流计算两大计算模式有力补充。大规模批量计算解决了大数据量批处理的问题,而即席查询分析则解决了适合商业智能分析人员的便捷交互式分析的问题。
业界常见的框架:Impala、Hawq、Dremel、Drill、Phoenix、Tajo、Presto、Hortonworks Stinger。
4)全量计算 & 增量计算
很多大数据的任务中,数据是一个增量收集和更新的过程,这时候对于数据的处理可以使是全量加上增量计算的方式。增量计算只对部分新增数据进行计算来极大提升计算过程的效率,可应用到数据增量或周期性更新的场合。典型例子就是搜索引擎的周期性索引更新。
推荐阅读
- 知识百科|《送你一朵小红花》定档,我看出了易烊千玺的事业心
- 宝典|@青岛市民:下月起车驾管业务迎来重大变化 这份宝典建议收藏
- 开学|希腊新冠确诊病例近万 专家建议学校分阶段开学
- 病例|希腊新冠确诊病例近万 专家建议学校分阶段开学
- 科学知识|「图片新闻」兰州市欣欣嘉园社区和倍豪智创科技中心联合开展“探索七彩世界·普及科学知识”实践活动
- 大呼长|半岛亲子游首发活动“有味道”的旅行 小朋友们大呼长知识
- 美国疾控中心新指导建议引发质疑:新指导建议会加剧病毒传播
- 陈申|30多年痴迷戏衣收藏,陈申——但将深情付霓裳
- 建议|关于人脉,老一辈人给了我三点建议,记住一半就够你混出个人样
- 知识科普|幸芙手机消毒舱:手机专用黑科技消毒设备,快给你手机消个毒
