大数据入门
传统的数据处理方式
处理过程:cpu处理内存数据,内存数据从硬盘中读取
瓶颈:当数据量大时,会增加硬盘到内存的io;单机为纵向扩展,成本较高,要求硬盘要大,内存要大,cpu速度要快
传统数据库的瓶颈
- 传统的数据库部署不能处理百TB及以上级别的数据。
- 传统的数据库没有考虑数据的多样性,尤其对结构化数据,半结构化数据和非结构化数据的兼容。
- 传统的数据库对数据处理时间要求不高,而大数据需要实时处理数据。
- 海量数据运维需要保证数据稳定,支持高并发的同时减少服务器负载。
大数据概念
- 大数据是指:利用常用软件工具捕获、管理和处理数据所耗时间超过可容忍时间的数据集。
- 大数据的4v:
1. 体量巨大
2. 处理速度
3. 类型繁多
4. 价值密度低 - 大数据最主要解决的问题就是io问题,接下来再考虑提升cpu的算力
- 大数据趋势
大数据组成
- 分布式存储
大数据用n台服务器存放一份大的数据,对数据进行并行处理,io比单台设备整整提升n倍。解决服务器成本问题和io读写问题 - 分布式计算
分布式计算基于分布式存储
分布式系统基础架构(hadoop)
大数据相关组件
- zookeeper分布式锁,管理整个集群的协调,保证大数据的高可靠
- hdfs分布式文件系统
- MapReduce分布式计算框架
- yarn资源管理
- hbase分布式nosql数据库
- hive分布式数据仓库
- 分布式实时流计算引擎
- flume海量日志聚合
- kafka分布式订阅系统
- sqoop数据采集
- flink流计算处理和批处理平台
- spark基于内存的分布式计算
大数据与传统数据库比较
* | 数据库 | 大数据 |
---|---|---|
数据规模 | 小(以MB为处理单位) | 大(以GB、TB、PB为处理单位) |
数据类型 | 单一(结构化为主) | 繁多(结构化、半结构化、非结构化) |
模式和数据的关系 | 先有模式后有数据 | 先有数据后有模式,模式随数据增多不断演变 |