大数据技术
文章平均质量分 96
duration~
将语言当做协议,聊天当做通信,将说话的内容当做数据。上下层之间进行交互时所遵循的约定叫做“接口”,通信双方同一层之间的交互所遵循的约定叫做“协议”。
展开
-
Hadoop部署安装
配置workers# 进入配置文件目录# 编辑workers文件# 填入如下内容node1node2node3填入的node1node2node3表明集群记录了三个从节点(DataNode)配置# 填入如下内容配置在文件内部填入如下内容hdfs://node1:8020为整个HDFS内部的通讯地址,应用协议为hdfs://Hadoop内置协议)表明DataNode将和node1的8020端口通讯,node1。原创 2023-09-29 13:14:00 · 276 阅读 · 1 评论 -
mysql中提供的函数
MySQL 是一个功能强大的关系型数据库管理系统,其中包含了丰富的内置函数,用于处理各种数据操作和查询。这些函数可以分为多种类型,包括字符串函数、数值函数、日期和时间函数、聚合函数以及控制流函数。本文将介绍这些常用的 MySQL 函数,帮助您更好地利用 MySQL 进行数据操作和分析。流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。介绍:将一列数据作为一个整体,进行纵向计算。注意 : NULL值是不参与所有聚合函数运算的。来保持与其他数据库系统的一致性。原创 2024-07-25 13:17:06 · 882 阅读 · 0 评论 -
mybatis中的缓存(一级缓存、二级缓存)
在计算机的世界中,缓存无处不在,重要性不言而喻。作为一款优秀的ORM框架,MyBatis中又岂能少得了缓存,本博客基于mybatis 3.5.11版本,全面介绍mybatis一级缓存、二级缓存以及自定义缓存的使用方法、实现原理、应用场景、优缺点等,并进行验证,带你彻底掌握MyBatis缓存。原创 2024-07-23 15:38:42 · 2022 阅读 · 1 评论 -
MySQL中的数据类型
仅做本人快速查询字段属性使用原创 2024-07-18 15:52:43 · 546 阅读 · 0 评论 -
事务底层与高可用原理
在聚簇索引中,记录是按照主键值的大小连成了一个单向链表的,如果我们更新了某条记录的主键值,意味着这条记录在聚簇索引中的位置将会发生改变,比如你将记录的主键值从1更新为10000,如果还有非常多的记录的主键值分布在1 ~ 10000之间的话,那么这两条记录在聚簇索引中就有可能离得非常远,甚至中间隔了好多个页面。更新记录时,对于被更新的每个列来说,如果更新后的列和更新前的列占用的存储空间都一样大,那么就可以进行就地更新,也就是直接在原记录的基础上修改对应列的值。往这张表中插入多条记录。原创 2024-06-08 15:15:26 · 985 阅读 · 0 评论 -
InnoDB引擎底层解析
InnoDB的内存结构和磁盘存储结构图总结如下:其中的Insert/Change Buffer主要是用于对二级索引的写入优化,Undo空间则是undo日志一般放在系统表空间,但是通过参数配置后,也可以用独立表空间存放,所以用虚线表示。原创 2024-06-06 22:12:54 · 1059 阅读 · 0 评论 -
MySQL的执行原理、下
MySQL执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者说代价最低的那种方案去真正的执行查询。I/O成本我们的表经常使用的MyISAM、InnoDB存储引擎都是将数据和索引都存储到磁盘上的,当我们想查询表中的记录时,需要先把数据或者索引加载到内存中然后再操作。这个从磁盘到内存这个加载的过程损耗的时间称之为I/O成本。CPU成本读取以及检测记录是否满足对应的搜索条件、对结果集进行排序等这些操作损耗的时间称之为CPU成本。对于InnoDB存储引擎来说,页是磁盘和内存之间交互的基本单位。原创 2024-06-05 22:04:13 · 752 阅读 · 0 评论 -
MySQL的执行原理、上
连接的本质就是把各个连接表中的记录都取出来依次匹配的组合加入结果集并返回给用户。所以我们把e1和e2两个表连接起来的过程如下图所示:这个过程看起来就是把e1表的记录和e2的记录连起来组成新的更大的记录,所以这个查询过程称之为连接查询。连接查询的结果集中包含一个表中的每一条记录与另一个表中的每一条记录相互匹配的组合,像这样的结果集就可以称之为笛卡尔积。因为表e1中有3条记录,表e2中也有3条记录,所以这两个表连接之后的笛卡尔积就有3×3=9行记录。原创 2024-06-05 20:55:22 · 1039 阅读 · 0 评论 -
Explain执行计划
有了慢查询语句后,就要对语句进行分析。一条查询语句在经过MySQL查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划,这个执行计划展示了接下来具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访问方法来具体执行查询等等。EXPLAIN语句来帮助我们查看某个查询语句的具体执行计划,我们需要搞懂EPLATNEXPLAIN的各个输出项都是干嘛使的,从而可以有针对性的提升我们查询语句的性能。原创 2024-06-05 16:06:37 · 942 阅读 · 0 评论 -
MySQL中的系统库
MySQL有几个系统数据库,这几个数据库包含了MySQL服务器运行过程中所需的一些信息以及一些运行状态信息,我们现在稍微了解一下。这个数据库里主要保存MySQL服务器运行过程中的一些状态信息,算是对MySQL服务器的一个性能监控。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等等信息。这个数据库保存着MySQL服务器维护的所有其他数据库的信息,比如有哪些表、哪些视图、哪些触发器、哪些列、哪些索引。这些是一些描述性信息,称之为元数据。sys。原创 2024-06-03 16:31:55 · 1064 阅读 · 0 评论 -
MySQL体系架构
使用独立表空间来存储表数据的话,会在该表所属数据库对应的子目录下创建一个表示该独立表空间的文件,文件名和表名相同,只不过添加了一个.ibd的扩展名而已,所以完整的文件名称长这样:表名.ibd。这个文件是所谓的自扩展文件,也就是当不够用的时候它会自己增加文件大小,当然,如果你想让系统表空间对应文件系统上多个实际文件,或者仅仅觉得原来的ibdata1这个文件名难听,那可以在MySQL启动时配置对应的文件路径以及它们的大小,我们也可以把系统表空间对应的文件路径不配置到数据目录下,甚至可以配置到单独的磁盘分区上。原创 2024-06-02 22:20:15 · 899 阅读 · 0 评论 -
MySQL8新特性(对比5.7)
一个staff表,里面有id,有name还有一个 m_id,这个是对应的上级id。数据如下:如果我们想查询出每一个员工的上下级关系,可以使用以下方式。原创 2024-06-02 11:30:51 · 738 阅读 · 0 评论 -
MySQL中的锁
InnoDB 中锁非常多,总的来说,可以如下分类原创 2024-06-01 20:58:54 · 885 阅读 · 2 评论 -
MySQL事务与MVCC
事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(多个DML语句,select语句不包含事务),要不全部成功,要不全部不成功。A 给B 要划钱,A 的账户-1000元, B 的账户就要+1000元,这两个update 语句必须作为一个整体来执行,不然A 扣钱了,B 没有加钱这种情况就是错误的。那么事务就可以保证A 、B 账户的变动要么全部一起发生,要么全部一起不发生。原创 2024-06-01 08:26:09 · 1271 阅读 · 0 评论 -
MySQL调优
慢查询日志,顾名思义,就是查询花费大量时间的日志,是指mysql记录所有执行超过参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。如何开启,我们稍后再说。这一点,也是针对联合索引来说的,前面我们反复强调过,所有记录都是按照索引列的值从小到大的顺序排好序的,而联合索引则是按创建索引时的顺序进行分组排序。原创 2024-05-31 19:36:25 · 858 阅读 · 0 评论 -
MySQL中的索引
全文索引、哈希索引,其中比较关键的是B+树索引。原创 2024-05-30 19:41:39 · 844 阅读 · 0 评论 -
数据库范式化设计
范式来自英文Normal Form,简称NF。实际上你可以把它粗略地理解为一张数据表的表结构所符合的某种设计标准的级别。就像家里装修买建材,最环保的是E0级,其次是E1级,还有E2级等等目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF),在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。原创 2024-05-30 16:56:32 · 736 阅读 · 0 评论 -
Sharding-JDBC
Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,核心由:JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成;功能特性:它们均提供标准化的数据水平扩展分布式事务和分布式治理等功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。接下来将介绍介绍:Sharding-JDBC;Sharding-jdbc 是ShardingSphere的其中一个模块,定位为轻量级Java框架。原创 2024-03-09 16:02:15 · 853 阅读 · 0 评论 -
分库分表
分库分表本质上就是为了解决由于库表数据量过大而导致数据库性能降低的问题;将原来独立的数据库拆分成若干数据库组成;将原来的大表(存储近千万数据的表)拆分成若干个小表;使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的;原创 2024-03-08 19:55:17 · 1153 阅读 · 1 评论 -
Java 正则表达式
例如,当解释为正则表达式时,字符串字面值 “\b” 与单个退格字符匹配,而 “\b” 与单词边界匹配。就足以具有转义的作用,而在 Java 中正则表达式中则需要有两个反斜杠才能被解析为其他语言中的转义作用。可以看到这个例子是使用单词边界,以确保字母 “c” “a” “t” 并非仅是一个较长的词的子串。Start 方法返回在以前的匹配操作期间,由给定组所捕获的子序列的初始索引,end 方法最后一个匹配字符的索引加 1。例如,正则表达式 (dog) 创建了单一分组,组里包含"d",“o”,和"g"。原创 2024-03-03 18:12:01 · 1166 阅读 · 0 评论 -
Hadoop基本操作 - HDFS文件系统操作
组件内置了HDFS集群的一键启停脚本。,一键启动HDFS集群执行原理:在执行此脚本的机器上,启动读取内容(fs.defaultFS项),确认NameNode所在机器,启动NameNode读取workers内容,确认DataNode所在机器,启动全部DataNode,一键关闭HDFS集群执行原理:在执行此脚本的机器上,关闭SecondaryNameNode。原创 2023-09-29 19:17:57 · 863 阅读 · 2 评论