面筋-数仓-知乎

1.Mysql锁几种

锁机制是为了解决数据库的并发控制问题而产生的。可以将锁机制理解为使各种资源在被并发访问时变得有序所设计的一种规则。
按锁级别分类,可分为共享锁、排他锁和意向锁
按锁粒度分类,可分为行级锁、表级锁和页级锁
1. 共享锁

享锁的代号是 S,是 Share 的缩写,也可称为读锁。是一种可以查看但无法修改和删除的数据锁。

共享锁的锁粒度是行或者元组(多个行)。一个事务获取了共享锁之后,可以对锁定范围内的数据执行读操作。会阻止其它事务获得相同数据集的排他锁。

2.排他锁

排他锁的代号是 X,是 eXclusive 的缩写,也可称为写锁,是基本的锁类型。

排他锁的粒度与共享锁相同,也是行或者元组。一个事务获取了排他锁之后,可以对锁定范围内的数据执行写操作。允许获得排他锁的事务更新数据,阻止其它事务取得相同数据集的共享锁和排他锁。
3. 意向锁

为了允许行锁和表锁共存,实现多粒度锁机制,InnoDB 还有两种内部使用的意向锁。

意向锁是一种表锁,锁定的粒度是整张表,分为意向共享锁(IS)和意向排他锁(IX)两类。

意向共享锁表示一个事务有意对数据上共享锁或者排他锁。“有意”表示事务想执行操作但还没有真正执行。

2.Mysql存储引擎,InnoDb?

MySQL 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。
MySQL 5.7 支持的存储引擎有 InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE 等。

存储引擎描述
InnoDB具备外键支持功能的事务处理引擎
MyISAM主要的非事务处理存储引擎
MEMORY置于内存的表
MERGE用来管理由多个 MyISAM 表构成的表集合
NDBMySQL 集群专用存储引擎
ARCHIVE用于数据存档的引擎,数据被插入后就不能在修改了,且不支持索引。
CSV在存储数据时,会以逗号作为数据项之间的分隔符。
BLACKHOLE会丢弃写操作,该操作会返回空内容。
FEDERATED将数据存储在远程数据库中,用来访问远程表的存储引擎。

2.1 InnoDB优势

1)支持事务安全
2)灾难恢复性好
3)使用行级锁
行锁定机制也为 InnoDB 在承受高并发压力的环境下增强了不小的竞争力。

4)实现了缓冲处理
5)支持外键
6)适合需要大型数据库的网站

2.2 MyISAM

优点
1)占用空间小
2)访问速度快,对事务完整性没有要求或以 SELECT、INSERT 为主的应用基本上都可以使用这个引擎来创建表
3)可以配合锁,实现操作系统下的复制备份
4)支持全文检索(InnoDB 在 MySQL 5.6 版本以后也支持全文检索)
5)数据紧凑存储,因此可获得更小的索引和更快的全表扫描性能。

缺点
1)不支持事务的完整性和并发性
2)不支持行级锁,使用表级锁,并发性差
3)主机宕机后,MyISAM表易损坏,灾难恢复性不佳
4)数据库崩溃后无法安全恢复
5)只缓存索引,数据的缓存是利用操作系统缓冲区来实现的,可能会引发过多的系统调用,且效率不佳

3.维度表和事实表区分?

事实表:表格里存储了能体现实际数据或详细数值,一般由维度编码和事实数据组成

维度表:表格里存放了具有独立属性和层次结构的数据,一般由维度编码和对应的维度说明(标签)组成

4.指标体系,指标系统

5.原子指标、度量、时间周期的关系

在这里插入图片描述
https://www.cnblogs.com/mengxiaohu/p/15589380.html
度量/原子指标:原子指标和度量含义相同,某一业务行为事件下的度量,是业务定义中不可拆分的指标,如注册数。

时间周期:用来明确数据统计的时间范围或是时间点,如最近30天、自然周、截至当日等。
度量=原子指标
原子指标+时间周期+修饰词=派生指标

6.Flink几种状态

7.DorisDB、CK、Hudi,比较,优劣

https://juejin.cn/post/7035905028397203464#heading-19

DRCK
事务性事务保证数据ACID100w以内原子性,DDL无事务保证
HDFS/Spark/Flink导入内置支持外部通过HTTP接口导入
事务性事务保证数据ACID100w以内原子性,DDL无事务保证
SQL兼容性较好
宽表与join宽表、大小表性能差,大表join性能好宽表、大小表性能优,大表join性能差
谓词下推

8.python中lamdba,1-100求和,lamdba的优势

print(reduce(lambda x, y: x + y, range(1, 101)))
# 1-100奇数、偶数求和
print(sum(list(filter(lambda x: x % 2 != 1, range(1, 101)))))
print(sum(list(filter(lambda x: x % 2 == 1, range(1, 101)))))

Lambda表达式具有以下优势:
(1)对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁;
(2)对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着互联网的发展,数据的不断膨胀,从刚开始的关系型数据库到非关系型数据库,再到大数据技术,技术的不断演进最终是随着数据膨胀而不断改变,最初的数据仓库能解决我们的问题,但是随着时代发展,企业已经不满足于数据仓库,希望有更强大的技术来支撑数据的存储,包括结构化,非结构化的数据等,希望能够积累企业的数据,从中挖掘出更大的价值。基于这个背景,数据湖的技术应运而生。本课程基于真实的企业数据湖案例进行讲解,结合业务实现数据湖平台,让大家在实践中理解和掌握数据湖技术,未来数据湖的需求也会不断加大,希望同学们抓住这个机遇。项目中将以热门的互联网电商业务场景为案例讲解,具体分析指标包含:流量分析,订单分析,用户行为分析,营销分析,广告分析等,能承载海量数据的实时分析,数据分析涵盖全端(PC、移动、小程序)应用。Apache Hudi代表Hadoop Upserts anD Incrementals,管理大型分析数据集在HDFS上的存储。Hudi的主要目的是高效减少摄取过程中的数据延迟。Hudi的出现解决了现有hadoop体系的几个问题:1、HDFS的可伸缩性限制 2、需要在Hadoop中更快地呈现数据 3、没有直接支持对现有数据的更新和删除 4、快速的ETL和建模 5、要检索所有更新的记录,无论这些更新是添加到最近日期分区的新记录还是对旧数据的更新,Hudi都允许用户使用最后一个检查点时间戳,此过程不用执行扫描整个源表的查询。 本课程包含的技术: 开发工具为:IDEA、WebStorm Flink1.9.0、HudiClickHouseHadoop2.7.5 Hbase2.2.6Kafka2.1.0 Hive2.2.0HDFS、MapReduceSpark、ZookeeperBinlog、Canal、MySQLSpringBoot2.0.2.RELEASE SpringCloud Finchley.RELEASEVue.js、Nodejs、HighchartsLinux Shell编程课程亮点: 1.与企业接轨、真实工业界产品 2.ClickHouse高性能列式存储数据库 3.大数据热门技术Flink4.Flink join 实战 5.Hudi数据湖技术6.集成指标明细查询 7.主流微服务后端系统 8.数据库实时同步解决方案 9.涵盖主流前端技术VUE+jQuery+Ajax+NodeJS 10.集成SpringCloud实现统一整合方案 11.互联网大数据企业热门技术栈 12.支持海量数据的实时分析 13.支持全端实时数据分析 14.全程代码实操,提供全部代码和资料 15.提供答疑和提供企业技术方案咨询企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。  版权归作者所有,盗版将进行法律维权。  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值