
大数据技术
文章平均质量分 97
duration~
将语言当做协议,聊天当做通信,将说话的内容当做数据。上下层之间进行交互时所遵循的约定叫做“接口”,通信双方同一层之间的交互所遵循的约定叫做“协议”。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PostgreSQL并发控制
PostgreSQL 通过多版本并发控制(MVCC)机制,为开发者提供了高效的并发访问管理工具。MVCC 的核心理念是为每个 SQL 语句提供一个数据快照,使其在执行期间看到的数据始终一致,从而避免由于并发事务修改数据而产生的不一致问题。与传统数据库依赖加锁不同,MVCC 避免了读写之间的冲突:查询不会阻塞写操作,写操作也不会阻塞查询,即使在可序列化快照隔离(SSI)这种最高级别的事务隔离中,这种读写无冲突的特性也依然保持。原创 2025-07-27 22:00:31 · 1153 阅读 · 0 评论 -
PostgreSQL表操作
如果要更新物化视图,可以采用触发器的形式,当原表中的数据被写后,可以通过触发器执行同步物化视图的操作。在语句级别的触发器以及INSERT操作,这个变量是null。当对标进行 insert,update,delete,truncate 操作时,会触发表的 Trigger(看触发器的创建时指定的事件)相比之前的普通视图,物化视图就不需要每次都查询复杂SQL,每次查询的都是真实的物理存储地址中的一份数据(表)。在存储数据时,数据肯定要落到磁盘上,基于构建的tablespace,指定数据存放在磁盘上的物理地址。原创 2025-07-05 21:47:34 · 988 阅读 · 0 评论 -
PostgreSQL数据类型
PostgreSQL 的数据类型系统是其强大灵活的基础之一,既覆盖传统 SQL 标准,也支持现代开发需求如 JSON、数组、范围、网络等。合理选择数据类型,不仅可以提升系统表达力和执行效率,还能提升数据一致性和开发体验。在实际设计表结构时,应结合业务需求、数据特点、未来可扩展性,选择合适的数据类型,不应该选择过于复杂的类型,相反,应该越简单越好(数值、字符、日期)。原创 2025-05-03 19:43:01 · 1245 阅读 · 1 评论 -
PostgreSQL初试
PostgreSQL 是一个功能强大、开源的对象-关系型数据库系统,以其可靠性、数据完整性、可扩展性而著称,底层使用 C 语言实现。它采用与 Linux 内核相同的开源协议 ——BSD 协议。这一协议非常宽松,与 MIT 协议类似,允许你在遵守基础条款的前提下进行二次开发,甚至将其商业化并收费。自 1986 年起由加州大学伯克利分校开始开发,PostgreSQL 目前在全球范围拥有活跃的社区和商业支持。PostgreSQL 最初的前身是名为 Ingres 的数据库系统。原创 2025-05-02 01:08:15 · 972 阅读 · 0 评论 -
ELK日志系统
ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎;Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。Elastic Stack 是 ELK Stack 的更新换代产品。原创 2025-04-19 12:35:47 · 1047 阅读 · 0 评论 -
Minio文件系统
MinIO是全球领先的对象存储先锋,是一个非常轻量的服务,可以很简单的和其他应用的结合使用。高性能,在标准硬件上,读/写速度上高达183GB/秒和171GB/秒,拥有更高的吞吐量和更低的延迟可扩展性,为对象存储带来了简单的缩放模型,通过添加更多集群可以扩展空间简单,极简主义是MinIO的指导性设计原则,即可在几分钟内安装和配置与Amazon S3兼容,兼荣亚马逊云的S3 API(接口协议/云存储服务接口)是在全球范围内达到共识的对象存储的协议,是全世界内大家都认可的标准数据安全。原创 2025-04-07 16:57:57 · 1030 阅读 · 0 评论 -
Zookeeper
ZooKeeperZooKeeperZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是HadoopHadoopHadoop和HbaseHbaseHbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。维护、协调、管理、监控。原创 2024-10-27 19:10:07 · 1943 阅读 · 2 评论 -
InfluxDB快速掌握
时序数据库是近几年一个特殊的概念,与传统的Mysql关系型数据库相比,它的最大的特点是:数据按照时间顺序存储。举例来说,日志数据,是以时间顺序存储的,所以用时序数据库存储是一种很好的选择。使用Mysql在存储的过程中,不对这种基于时间的数据进行优化的,所以在查询、插入上有一些瓶颈。专为时间序列数据编写的自定义高性能数据存储。TSM引擎允许高摄取速度和数据压缩完全用 Go 语言编写。它编译成单个二进制文件,没有外部依赖项简单,高性能的写入和查询HTTP API。原创 2024-10-12 18:34:13 · 2689 阅读 · 3 评论 -
MongoDB数据库
介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现了类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。特性面向集合文档的存储:适合存储Bson(json的扩展)形式的数据;格式自由,数据格式不固定,生产环境下修改结构都可以不影响程序运行;原创 2024-09-25 16:30:35 · 1272 阅读 · 0 评论 -
Neo4j图数据库
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,急需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。社交领域:Facebook, Twitter,Linkedin用它来管理社交关系,实现好友推荐零售领域:eBay,沃尔玛使用它实现商品实时推荐,给买家更好的购物体验金融领域:摩根大通,花旗和瑞银等银行在用图数据库做风控处理。原创 2024-09-11 17:59:30 · 5963 阅读 · 0 评论 -
Kafka API操作
了解基础API的使用,通过代码使用Kafka。创建maven测试项目,引入如下依赖——最主要的是Kafka的客户端依赖:在目录下创建日志配置文件:1_Topic基本操作 DML管理:Kafka的服务器地址。2_生产者创建连接bootstrap.servers:Kafka的服务器地址acks:表示当生产者生产数据到Kafka中,Kafka中会以什么样的策略返回key.serializer:Kafka中的消息是以key、value键值对存储的,而且生产者生产的消息是需要在网络上传到的,这里指原创 2024-09-09 17:45:48 · 1112 阅读 · 2 评论 -
Kafka (快速)安装部署
进行下载,Scala 2.12 和 Scala 2.13 主要是使用Scala编译的版本不同,两者皆可。接下来我们还需要在每个 zookeeper 节点的数据目录下创建对应的服务id文件与上面配置的。针对每个节点修改主机名称,查看当前主机的ip地址并固定,添加子网掩码,网关,DNS1。Kafka一般情况下都是分布式架构的,单机节点的使用情况基本不存在——了解即可。当然,也可以只安装并配置一台zookeeper,然后将整个软件拷贝过去。环境变量,以及将$ZK_HOME/bin文件夹加入PATH环境变量中。原创 2024-09-08 00:09:00 · 21690 阅读 · 0 评论 -
ApacheKafka中的设计
Kafka 是由 Apache 软件基金会开发的一个开源流处理平台,由 Scala 和 Java 编写。Kafka是一种高吞吐量、低延迟和高可扩展的分布式发布订阅消息系统,它可以收集并处理用户在网站中的所有动作流数据以及物联网设备的采样信息。Kafka 集群由多个 Broker 组成。每个 Broker 是 Kafka 的一个实例,负责存储数据和处理读写请求。Kafka 的高可用性和可扩展性来自于多个 Broker 的协同工作。Topic(主题):Topic 是 Kafka 中的数据分类方式。原创 2024-09-07 15:20:38 · 1389 阅读 · 5 评论 -
mysql中提供的函数
MySQL 是一个功能强大的关系型数据库管理系统,其中包含了丰富的内置函数,用于处理各种数据操作和查询。这些函数可以分为多种类型,包括字符串函数、数值函数、日期和时间函数、聚合函数以及控制流函数。本文将介绍这些常用的 MySQL 函数,帮助您更好地利用 MySQL 进行数据操作和分析。流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。介绍:将一列数据作为一个整体,进行纵向计算。注意 : NULL值是不参与所有聚合函数运算的。来保持与其他数据库系统的一致性。原创 2024-07-25 13:17:06 · 971 阅读 · 0 评论 -
MySQL中的数据类型
仅做本人快速查询字段属性使用原创 2024-07-18 15:52:43 · 810 阅读 · 2 评论 -
事务底层与高可用原理
在聚簇索引中,记录是按照主键值的大小连成了一个单向链表的,如果我们更新了某条记录的主键值,意味着这条记录在聚簇索引中的位置将会发生改变,比如你将记录的主键值从1更新为10000,如果还有非常多的记录的主键值分布在1 ~ 10000之间的话,那么这两条记录在聚簇索引中就有可能离得非常远,甚至中间隔了好多个页面。更新记录时,对于被更新的每个列来说,如果更新后的列和更新前的列占用的存储空间都一样大,那么就可以进行就地更新,也就是直接在原记录的基础上修改对应列的值。往这张表中插入多条记录。原创 2024-06-08 15:15:26 · 1021 阅读 · 0 评论 -
InnoDB引擎底层解析
InnoDB的内存结构和磁盘存储结构图总结如下:其中的Insert/Change Buffer主要是用于对二级索引的写入优化,Undo空间则是undo日志一般放在系统表空间,但是通过参数配置后,也可以用独立表空间存放,所以用虚线表示。原创 2024-06-06 22:12:54 · 1210 阅读 · 0 评论 -
MySQL的执行原理、下
MySQL执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者说代价最低的那种方案去真正的执行查询。I/O成本我们的表经常使用的MyISAM、InnoDB存储引擎都是将数据和索引都存储到磁盘上的,当我们想查询表中的记录时,需要先把数据或者索引加载到内存中然后再操作。这个从磁盘到内存这个加载的过程损耗的时间称之为I/O成本。CPU成本读取以及检测记录是否满足对应的搜索条件、对结果集进行排序等这些操作损耗的时间称之为CPU成本。对于InnoDB存储引擎来说,页是磁盘和内存之间交互的基本单位。原创 2024-06-05 22:04:13 · 853 阅读 · 0 评论 -
MySQL的执行原理FIRST
连接的本质就是把各个连接表中的记录都取出来依次匹配的组合加入结果集并返回给用户。所以我们把e1和e2两个表连接起来的过程如下图所示:这个过程看起来就是把e1表的记录和e2的记录连起来组成新的更大的记录,所以这个查询过程称之为连接查询。连接查询的结果集中包含一个表中的每一条记录与另一个表中的每一条记录相互匹配的组合,像这样的结果集就可以称之为笛卡尔积。因为表e1中有3条记录,表e2中也有3条记录,所以这两个表连接之后的笛卡尔积就有3×3=9行记录。原创 2024-06-05 20:55:22 · 1141 阅读 · 0 评论 -
Explain执行计划
有了慢查询语句后,就要对语句进行分析。一条查询语句在经过MySQL查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划,这个执行计划展示了接下来具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访问方法来具体执行查询等等。EXPLAIN语句来帮助我们查看某个查询语句的具体执行计划,我们需要搞懂EPLATNEXPLAIN的各个输出项都是干嘛使的,从而可以有针对性的提升我们查询语句的性能。原创 2024-06-05 16:06:37 · 1744 阅读 · 1 评论 -
MySQL中的系统库
MySQL有几个系统数据库,这几个数据库包含了MySQL服务器运行过程中所需的一些信息以及一些运行状态信息,我们现在稍微了解一下。这个数据库里主要保存MySQL服务器运行过程中的一些状态信息,算是对MySQL服务器的一个性能监控。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等等信息。这个数据库保存着MySQL服务器维护的所有其他数据库的信息,比如有哪些表、哪些视图、哪些触发器、哪些列、哪些索引。这些是一些描述性信息,称之为元数据。sys。原创 2024-06-03 16:31:55 · 1200 阅读 · 0 评论 -
MySQL体系架构
使用独立表空间来存储表数据的话,会在该表所属数据库对应的子目录下创建一个表示该独立表空间的文件,文件名和表名相同,只不过添加了一个.ibd的扩展名而已,所以完整的文件名称长这样:表名.ibd。这个文件是所谓的自扩展文件,也就是当不够用的时候它会自己增加文件大小,当然,如果你想让系统表空间对应文件系统上多个实际文件,或者仅仅觉得原来的ibdata1这个文件名难听,那可以在MySQL启动时配置对应的文件路径以及它们的大小,我们也可以把系统表空间对应的文件路径不配置到数据目录下,甚至可以配置到单独的磁盘分区上。原创 2024-06-02 22:20:15 · 1023 阅读 · 0 评论 -
MySQL8新特性(对比5.7)
一个staff表,里面有id,有name还有一个 m_id,这个是对应的上级id。数据如下:如果我们想查询出每一个员工的上下级关系,可以使用以下方式。原创 2024-06-02 11:30:51 · 1013 阅读 · 0 评论 -
MySQL中的锁
InnoDB 中锁非常多,总的来说,可以如下分类原创 2024-06-01 20:58:54 · 998 阅读 · 0 评论 -
MySQL事务与MVCC
事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(多个DML语句,select语句不包含事务),要不全部成功,要不全部不成功。A 给B 要划钱,A 的账户-1000元, B 的账户就要+1000元,这两个update 语句必须作为一个整体来执行,不然A 扣钱了,B 没有加钱这种情况就是错误的。那么事务就可以保证A 、B 账户的变动要么全部一起发生,要么全部一起不发生。原创 2024-06-01 08:26:09 · 1427 阅读 · 0 评论 -
MySQL调优
慢查询日志,顾名思义,就是查询花费大量时间的日志,是指mysql记录所有执行超过参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。如何开启,我们稍后再说。这一点,也是针对联合索引来说的,前面我们反复强调过,所有记录都是按照索引列的值从小到大的顺序排好序的,而联合索引则是按创建索引时的顺序进行分组排序。原创 2024-05-31 19:36:25 · 951 阅读 · 0 评论 -
MySQL中的索引
全文索引、哈希索引,其中比较关键的是B+树索引。原创 2024-05-30 19:41:39 · 955 阅读 · 0 评论 -
数据库范式化设计
范式来自英文Normal Form,简称NF。实际上你可以把它粗略地理解为一张数据表的表结构所符合的某种设计标准的级别。就像家里装修买建材,最环保的是E0级,其次是E1级,还有E2级等等目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF),在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。原创 2024-05-30 16:56:32 · 875 阅读 · 0 评论 -
密码加密方式
SpringSecurity提供了实现PasswordEncoder接口的密码加密工具类:BcryptPasswordEncoder,该类基于Bcrypt强哈希算法来加密密码,更加安全;Bcrypt强哈希方法每次加密相同的明文得到的密文结果都不一样,这样即使数据库泄露,黑客也很难破解密码;1)Bcrypt加密一般在注册用户时,Bcrypt使用SHA-256加密算法+随机盐值+秘钥(明文密码)进行加密处理,得到的密文存入数据库中;@Test} else {生成加密的代码。原创 2024-03-11 12:22:25 · 2815 阅读 · 0 评论 -
Sharding-JDBC
Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,核心由:JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成;功能特性:它们均提供标准化的数据水平扩展分布式事务和分布式治理等功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。接下来将介绍介绍:Sharding-JDBC;Sharding-jdbc 是ShardingSphere的其中一个模块,定位为轻量级Java框架。原创 2024-03-09 16:02:15 · 1491 阅读 · 0 评论 -
分库分表_
分库分表本质上就是为了解决由于库表数据量过大而导致数据库性能降低的问题;将原来独立的数据库拆分成若干数据库组成;将原来的大表(存储近千万数据的表)拆分成若干个小表;使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的;原创 2024-03-08 19:55:17 · 2165 阅读 · 0 评论 -
Hadoop基本操作 - HDFS文件系统操作
组件内置了HDFS集群的一键启停脚本。,一键启动HDFS集群执行原理:在执行此脚本的机器上,启动读取内容(fs.defaultFS项),确认NameNode所在机器,启动NameNode读取workers内容,确认DataNode所在机器,启动全部DataNode,一键关闭HDFS集群执行原理:在执行此脚本的机器上,关闭SecondaryNameNode。原创 2023-09-29 19:17:57 · 1078 阅读 · 2 评论 -
Hadoop部署安装
配置workers# 进入配置文件目录# 编辑workers文件# 填入如下内容node1node2node3填入的node1node2node3表明集群记录了三个从节点(DataNode)配置# 填入如下内容配置在文件内部填入如下内容hdfs://node1:8020为整个HDFS内部的通讯地址,应用协议为hdfs://Hadoop内置协议)表明DataNode将和node1的8020端口通讯,node1。原创 2023-09-29 13:14:00 · 582 阅读 · 1 评论