大数据开发知识点(一)

目录

1. cap定理及其限制?

2. 主流索引算法及其原理?

3. 分布式系统会有哪些问题?

4. 事务隔离级别有哪些?

5. 用shell统计下如下内容第三列出现的数量?

1. cap定理及其限制?

cap定理指的是在一个分布式系统中无法同时满足一致性(Consistency)、高可用性(Availablity)、分区容错性(Patition Tolerance)三个特性,最多满足其中两个。

其中

一致性(Consistency):在分布式系统中,所有节点在同一时刻的数据是完全一致的;

高可用性(Availablity):在分布式系统中,部分(非全部)节点发生故障的情况下还能正常对外提供服务;

分区容错性(Patition Tolerance):在分布式系统中,某些节点或网络分区发生故障导致时,还能正常对外部提供满足一致性或可用性的服务。

而分布系统中,分区系统中分区容错性P是必须具备的,因此分布式系统有两种选择,一种是满足高可用性和分区容错性的AP模式,另一种是满足一致性和分区容错性的CP模式。

一般而言,电商系统更多选择AP模式,银行系统选择CP模式。

2. 主流索引算法及其原理?

常见的是B-Tree,B+Tree,hashMySQL默认建表查询索引为B+tree索引

B-Tree:

这里的 B 表示 balance( 平衡的意思),B-Tree是一种多路自平衡的搜索树(B-Tree是一颗多路平衡查找树),它类似普通的平衡二叉树,不同的一点是B-Tree允许每个节点有更多的子节点。所有键值分布在整颗树中(索引值和具体data都在每个节点里)。

B+Tree:

B+Tree是B+Tree的变体,也是一种多路搜索树,将相关数据构建成一棵B+树,通过索引获取查询想要的的结果。所有的中间节点只保存索引信息,不保存数据信息(也就是说想找到数据,必须从根节点找到叶子节点)

Hash索引:

基于哈希表实现,只有匹配所有列的查询才有效。对于每一行数据,存储引擎都会对所有索引列计算一个哈希码,哈希码是一个较小的值,不同键值的行计算出的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时保存指向每个数据行的指针。

3. 分布式系统会有哪些问题?


1) 通信异常
网络本身的不可靠性,因此每次网络通信都会伴随着网络不可用的风险(光纤、路由、DNS等硬件设备或系统的不可用),都会导致最终分布式系统无法顺利进行一次网络通信,另外,即使分布式系统各节点之间的网络通信能够正常执行,其延时也会大于单机操作,存在巨大的延时差别,也会影响消息的收发过程,因此消息丢失和消息延迟变的非常普遍。
2) 网络分区
网络之间出现了网络不连通,但各个子网络的内部网络是正常的,从而导致繁个系统的网络环境被切分成了若干个孤立的区域,分布式系统就会出现局部小集群,在极端情况下,这些小集群会独立完成原本需要整个分布式系统才能完成的功能,包括数据的事务处理,这就对分布式的一致性提出非常大的挑战。
3) 节点故障
节点故障是分布式系统下另一个比较常见的问题,指的是组成分布式系统的服务器节点出现的宕机或"僵死"现象,每个节点都有可能出现故障,并且经常发生。
4)三态
分布式系统每一次请求与响应存在特有的 “三态” 概念,即成功、失败和超时。分布式系统中,由于网络是不可靠的,虽然绝大部分情况下,网络通信能够接收到成功或失败的响应,但当网络出现异常的情况下,就会出现超时现象,通常有以下两种情况:
1由于网络原因,该请求并没有被成功的发送到接收方,而是在发送过程就发生了丢失现象。
2该请求成功的被接收方接收后,并进行了处理,但在响应反馈给发送方过程中,发生了消息丢失现象。

4. 事务隔离级别有哪些?

事务的隔离级别有4种,由低到高分别为读未提交(Read uncommitted) 、读已提交(Read committed) 、可重复读(Repeatable read )、串行化(Serializable) 。

事务的并发操作中可能出现脏读,不可重复读,幻读。

读未提交可能会出现脏读,不可重复读,幻读

读已提价可能会出现不可重复读,幻读

可重复度可能会出现幻读

5. 用shell统计下如下内容第三列出现的数量?

Chrome/91.0.4472.101 HTTP/2.0 news 183.136.216.35
Safari/537.36  HTTP/1.0 user 183.136.216.35
Chrome/91.0.4472.101 HTTP/2.0 accout 183.136.216.35
Safari/537.36  HTTP/1.0 center 183.136.216.34
Chrome/91.0.4472.101 HTTP/2.0 news 183.136.216.35
Safari/537.36  HTTP/1.0 user 183.136.216.35
Chrome/91.0.4472.101 HTTP/2.0 accout 183.136.216.31
Safari/537.36  HTTP/1.0 list 183.136.216.32
Chrome/91.0.4472.101 HTTP/2.0 news 183.136.216.35
Safari/537.36  HTTP/1.0 user 183.136.216.35
Chrome/91.0.4472.101 HTTP/2.0 accout 183.136.216.35
Safari/537.36  HTTP/1.0 center 183.136.216.34
Chrome/91.0.4472.101 HTTP/2.0 news 183.136.216.35
Safari/537.36  HTTP/1.0 home 183.136.216.35
Chrome/91.0.4472.101 HTTP/2.0 accout 183.136.216.31
Safari/537.36  HTTP/1.0 list 183.136.216.32
Chrome/91.0.4472.101 HTTP/2.0 news 183.136.216.35
Safari/537.36  HTTP/1.0 user 183.136.216.35
Chrome/91.0.4472.101 HTTP/2.0 accout 183.136.216.35
Safari/537.36  HTTP/1.0 center 183.136.216.34
Chrome/91.0.4472.101 HTTP/2.0 news 183.136.216.35
Safari/537.36  HTTP/1.0 user 183.136.216.35
Chrome/91.0.4472.101 HTTP/2.0 accout 183.136.216.31
Safari/537.36  HTTP/1.0 list 183.136.216.32

 备注:数据以空格分割,共四列,分别是浏览器版本 http协议,页面名称,IP地址

答案

//先用将数据写入文件
vi shellwc
//将数据复制进去并保存,后执行下方命令
awk -F' ' '{print $3}' shellwc|sort|uniq -c //其中shellwc为文件名
//结果如下

[root@linux121 ~]# awk -F' ' '{print $3}' shellwc|sort|uniq -c
      6 accout
      3 center
      1 home
      3 list
      6 news
      5 user
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值