-
Consistency(一致性):所有节点上的数据时刻保持同步。
-
Availability(可用性):每个请求都能接收到一个响应,无论响应成功或失败。
-
Partition tolerance(分区容错性):系统应该能持续提供服务,无论网络中的任何分区失效。
敲黑板:
一个分布式系统不可能同时满足一致性,可用性,和分区容忍性这三个需求,最多同时满足两个。
强一致性: 任何时刻,任何用户都能读取到最近一次更新的数据
单调一致性: 任何时刻,任何用户一旦读到某个数据在某次更新后的值,那么就不会再读到比这个值更旧的值
会话一致性: 任何用户在某次会话中,一旦读到某个数据在某次更新后的值,那么本次会话中就不会再读到比这个值更旧的值。
弱一致性: 用户无法在确定时间内读到最新更新的值
如果我们选择了强一致性,又要满足分区容错性,就势必会牺牲一部分可用性。
注意:
- CAP理论只适用于分布式系统
CAP理论的典型分布式系统
选择CP: HBASE
选择 AP: zookeeper,HDFS
选择CA: elasticsearch
大数据技术栈
-
数据采集和传输层: flume. logstash, sqoop,kafka,pulsar,HUE
-
数据存储层: HBase,Kudu, HDFS,
-
数据分析层: Spark,flink,Storm, MapReduce,HIVE,Tez,pig,mahout,phoenix
-
OLAP引擎: Druid , Kylin,lmpala, presto
-
资源管理层: yarn,kubernetes, mesos
-
工作调度器: Oozie , Azkaban
-
监测管理: openTSDB ,Ambari,ganglia
-
其他: zookeeper,chubby
-
文档存储: mongoDB, CouchDB
大数据:注重海量数据存储与处理,基本处于PaaS ,平台即服务
云计算:侧重于硬件资源虚拟化,基本处于LaaS ,基础设施即服务
不过现在的阿里云,亚马逊云等公有云,以及不单单是卖虚拟化的计算资源了,也会涉及到大数据,图像识别,数据库,云安全等,所以现在的云计算已经涵盖了laaS,PaaS,SaaS等方方面面。
除了按照这种技术栈来区分之外,有时候还会按照数据的实时处理程度分为: 批量计算和实时在线技术。
批量计算就是我们常说的离线计算。一次性处理大量数据,吞吐量大,但延时较高。适合数据ETL等场景。
大数据的适用场景
最近跟一家公司对接,他们做的就是大数据的河海农业数据分析。比如展示某一个地区的2010-2020年,10年的降水量。
最近炒得比较火的是交通大数据,实时采集交通信号灯,二氧化碳传感器,汽车位置和速度传感器,以及来自网上的社交媒体的数据,来进行分析。 帮助乘客重新规划路线,节省时间。
金融行业的智慧金融,可以分析客户的数据,来给用户精准提供贷款或者推荐商品。
人工智能,最火的例子就是google的AlphaGo, 人工智能可以进行自主学习,不断完善。 当然除了下棋,还有人脸识别,语音识别,机器翻译,无人驾驶,智能机器人等领域都有很大的威力。
大数据小故事
某比萨店的电话铃响了,客服人员拿起电话。
客服:XXX比萨店。您好,请问有什么需要我为您服务 ?
顾客:你好,我想要一份披萨
客服:先生,烦请先把您的会员卡号告诉我。
顾客:16846146***。
客服:陈先生,您好!您是住在泉州路一号12楼1205室,您家电话是2646****,您公司电话是4666****,您的手机是1391234****。请问您想用哪一个电话付费?
顾客:你为什么知道我所有的电话号码?
客服:陈先生,因为我们联机到CRM系统。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新