会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
JMCui
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
19
下一页
2021年1月21日
分布式 ID 生成算法 — SnowFlake
摘要: 一、概述 分布式 ID 生成算法的有很多种,Twitter 的 SnowFlake 就是其中经典的一种。 SnowFlake 算法生成 ID 的结果是一个 64bit 大小的整数,它的结构如下图: 1 位,不用。二进制中最高位为 1 的都是负数,但是我们生成的 id 一般都使用整数,所以这个最高位固
阅读全文
posted @ 2021-01-21 09:47 JMCui
阅读(2096)
评论(1)
推荐(2)
2021年1月5日
InnoDB 存储引擎中的锁.
摘要: 一、锁的类型 InnoDB 存储引擎 lock 的对象是事务,用来锁定的是数据库中的对象,如表、页、行,并且一般 lock 的对象仅在事务 commit 或 rollback 后进行释放(不同事务隔离级别释放的时间可能不同)。 InnoDB 存储引擎实现了如下两种标准的行级锁,其中,X 锁与任何的锁
阅读全文
posted @ 2021-01-05 10:55 JMCui
阅读(1038)
评论(0)
推荐(0)
2020年12月29日
2020 — 危难与机遇
摘要: 一、前言 2020 年呀,不平凡的一年,百年难遇的疫情让很多事情偏离了它该有的轨迹。 2020 年呀,也是我正式毕业三年半了,也该认真做下总结,重新出发了。 二、危难与机遇 福之祸所伏,祸之福所依。 2020年3月,随着疫情爆发,我的创业故事暂时告一段落了,接踵而来的是拖薪、欠薪、失业... 202
阅读全文
posted @ 2020-12-29 23:09 JMCui
阅读(369)
评论(3)
推荐(0)
2020年12月25日
MySQL的多版本并发控制(MVCC).
摘要: 一、快照读与当前读 快照读(SnapShot Read) 是一种一致性不加锁的读,是 InnoDB 并发如此之高的核心原因之一。 在 READ COMMITTED 事务隔离级别下,一致性不加锁的读是指,总是读取被锁定行的最新一份快照数据,因此其它事务修改了该行数据,该事务也能读取到,这也贴合了 RC
阅读全文
posted @ 2020-12-25 13:43 JMCui
阅读(676)
评论(0)
推荐(0)
2020年12月21日
Elasticsearch 学习二(请求流程).
摘要: 一、写入数据 1、ES 的任意节点都可以作为协调(Coordinating)节点接受请求(包括新建、索引或者删除请求),每个节点都知道集群中任一文档位置; 2、协调节点会通过 routing 字段计算出一个主分片(primary shard),并把请求路由到主分片所在节点(routing 是一个可变
阅读全文
posted @ 2020-12-21 16:47 JMCui
阅读(1207)
评论(0)
推荐(1)
2020年12月20日
JVM系列十六(三色标记法与读写屏障).
摘要: ## 1. 垃圾回收的简单回顾 关于垃圾回收算法,基本就是那么几种:标记-清除、标记-复制、标记-整理。在此基础上可以增加分代(新生代/老年代),每代采取不同的回收算法,以提高整体的分配和回收效率。 无论使用哪种算法,标记总是必要的一步。这是理算当然的,你不先找到垃圾,怎么进行回收? 垃圾回收器的工
阅读全文
posted @ 2020-12-20 22:10 JMCui
阅读(5482)
评论(0)
推荐(4)
2020年12月17日
套接字 socket 和 tcp 连接过程
摘要: 一、socket 和 fd(file descriptor)是什么? Unix/Linux 基本哲学之一就是"一切皆文件",即一切都可以用 "open → read/write → close" 来操作,socket 也可以理解成是一种特殊的文件。 fd(file descriptor):文件描述符
阅读全文
posted @ 2020-12-17 19:49 JMCui
阅读(1651)
评论(0)
推荐(1)
2020年12月16日
网络 IO 模型简单介绍
摘要: 一、同步阻塞 IO(BIO) 当用户线程调用了 read 系统调用,内核(kernel)就开始了 IO 的第一个阶段:准备数据。很多时候,数据在一开始还没有到达(比如,还没有收到一个完整的Socket数据包),这个时候 kernel 就要等待足够的数据到来。 当 kernel 一直等到数据准备好了,
阅读全文
posted @ 2020-12-16 16:08 JMCui
阅读(864)
评论(0)
推荐(0)
2020年12月10日
SQL 中 left join 的底层原理
摘要: 01. 前言 写过或者学过 SQL 的人应该都知道 left join,知道 left join 的实现的效果,就是保留左表的全部信息,然后把右表往左表上拼接,如果拼不上就是 null。除了 left join 以外,还有 inner join、outer join、right join,这些不同的
阅读全文
posted @ 2020-12-10 20:10 JMCui
阅读(1102)
评论(0)
推荐(0)
2020年12月1日
TkMybatis 是什么?
摘要: 一、TkMybatis Tkmybatis 是基于 Mybatis 框架开发的一个工具,通过调用它提供的方法实现对单表的数据操作,不需要写任何 sql 语句,这极大地提高了项目开发效率。 二、怎么用? 1. 引用 在 pom.xml 中引入 tk.mybatis 的引用。 <dependency>
阅读全文
posted @ 2020-12-01 11:23 JMCui
阅读(10691)
评论(5)
推荐(4)
2020年11月30日
Kafka 会不会丢消息?
摘要: 一、认识 Kafka Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。 Kafka 是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 1. kafka 架构 Kafka 的整体架构非常简单,是显式
阅读全文
posted @ 2020-11-30 09:42 JMCui
阅读(3242)
评论(1)
推荐(2)
2020年11月23日
[转]浅谈高性能数据库集群 — 读写分离
摘要: 一、读写分离概述 基本架构图: 二、适用场景 读写分离不是银弹,并不是一有性能问题就上读写分离,而是应该先优化,例如优化慢查询,调整不合理的业务逻辑,引入缓存查询等只有确定系统没有优化空间后才考虑读写分离集群。 三、引入的系统复杂度问题 1. 主从复制延迟 2. 分配机制 如何将读写操作区分开来,然
阅读全文
posted @ 2020-11-23 14:51 JMCui
阅读(356)
评论(0)
推荐(0)
2020年11月8日
Elasticsearch 学习一(基础入门).
摘要: 一、Elasticsearch 简介 你可以这么形容 Elasticsearch : 一个分布式的实时文档存储,每个字段都可以被索引与搜索 一个分布式近实时分析搜索引擎 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据 Elasticsearch 是一个实时分布式搜索和分析引擎
阅读全文
posted @ 2020-11-08 14:45 JMCui
阅读(1676)
评论(0)
推荐(1)
2020年11月4日
Redis学习七(日常积累).
摘要: 一、 为什么 Redis 那么快? Redis 是基于内存的单进程单线程模型的 KV 数据库,由 C 语言编写,官方提供的数据是可以达到 100000+ QPS。 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速; 数据结构简单,对数据操作也简单,Redis 中的数据结构是专门进行设计的; 采用
阅读全文
posted @ 2020-11-04 22:05 JMCui
阅读(581)
评论(0)
推荐(0)
Redis学习六(Redis 阻塞的原因及其排查方向).
摘要: 一、慢查询 因为 Redis 是单线程的,大量的慢查询可能会导致 redis-server 阻塞,可以通过 slowlog get n 获取慢日志,查看详情情况。 二、bigkey 大对象 bigkey 大对象可能会导致的问题包括: 内存空间不均匀(平衡),例如在 Redis Cluster 中,b
阅读全文
posted @ 2020-11-04 18:30 JMCui
阅读(5130)
评论(0)
推荐(3)
上一页
1
2
3
4
5
6
7
8
···
19
下一页
公告