上一页 1 2 3 4 5 6 7 ··· 18 下一页
摘要: 一、Rowkey 优化 Rowkey 是行的主键,它是以字典顺序排序的。所以 Rowkey 的设计是至关重要的, 关系到你应用层的查询效率。 整规化 Rowkey 有时作为 Rowkey 的字段长度不一样,比如 user_id, 而通过对 Rowkey 进行规整化,能够避免 Rowkey 长度不一致 阅读全文
posted @ 2021-04-02 18:15 JMCui 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 一、HBase 是什么? HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统” 。就像 Bigtable 利用了 Google 文件系统(File System)所提供的分布式数据存储一样 阅读全文
posted @ 2021-04-01 16:24 JMCui 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 一、简介 接着上篇 数据库事务简介,来聊聊 Spring 事务。 Spring 本身并不实现事务,Spring 事务的本质还是底层数据库对事务的支持,没有数据库事务的支持,Spring 事务就不会生效。 Spring 事务提供了一套抽象的事务管理,并且结合 Spring IOC 和 Spring A 阅读全文
posted @ 2021-03-31 18:15 JMCui 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 一、MySQL 体系架构和存储引擎 1、MySQL 被设计成一个单进程多线程架构的数据库,MySQL 数据库实例在系统上的表现就是一个进程。 2、MySQL 的体系架构,需要特别注意的是,存储引擎是基于表的,而不是数据库。 3、InnoDB 存储引擎是面向在线事务处理(OLTP)应用的首选,其特点是 阅读全文
posted @ 2021-02-25 20:25 JMCui 阅读(219) 评论(1) 推荐(0) 编辑
摘要: 一、事务分类 事务是访问并更新数据库中各种数据项的一个程序执行单元,事务会把数据库从一种一致状态转换为另一种一致状态,这就是事务的目的,也是事务模型区别与文件系统的重要特性之一。 InnoDB 存储引擎中的事务(READ REPEATABLE 隔离级别)完全符合 ACID 的特性。ACID 是以下 阅读全文
posted @ 2021-02-24 20:05 JMCui 阅读(837) 评论(0) 推荐(0) 编辑
摘要: 一、概述 分布式 ID 生成算法的有很多种,Twitter 的 SnowFlake 就是其中经典的一种。 SnowFlake 算法生成 ID 的结果是一个 64bit 大小的整数,它的结构如下图: 1 位,不用。二进制中最高位为 1 的都是负数,但是我们生成的 id 一般都使用整数,所以这个最高位固 阅读全文
posted @ 2021-01-21 09:47 JMCui 阅读(1822) 评论(1) 推荐(2) 编辑
摘要: 一、锁的类型 InnoDB 存储引擎 lock 的对象是事务,用来锁定的是数据库中的对象,如表、页、行,并且一般 lock 的对象仅在事务 commit 或 rollback 后进行释放(不同事务隔离级别释放的时间可能不同)。 InnoDB 存储引擎实现了如下两种标准的行级锁,其中,X 锁与任何的锁 阅读全文
posted @ 2021-01-05 10:55 JMCui 阅读(947) 评论(0) 推荐(0) 编辑
摘要: 一、前言 2020 年呀,不平凡的一年,百年难遇的疫情让很多事情偏离了它该有的轨迹。 2020 年呀,也是我正式毕业三年半了,也该认真做下总结,重新出发了。 二、危难与机遇 福之祸所伏,祸之福所依。 2020年3月,随着疫情爆发,我的创业故事暂时告一段落了,接踵而来的是拖薪、欠薪、失业... 202 阅读全文
posted @ 2020-12-29 23:09 JMCui 阅读(347) 评论(3) 推荐(0) 编辑
摘要: 一、快照读与当前读 快照读(SnapShot Read) 是一种一致性不加锁的读,是 InnoDB 并发如此之高的核心原因之一。 在 READ COMMITTED 事务隔离级别下,一致性不加锁的读是指,总是读取被锁定行的最新一份快照数据,因此其它事务修改了该行数据,该事务也能读取到,这也贴合了 RC 阅读全文
posted @ 2020-12-25 13:43 JMCui 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 一、写入数据 1、ES 的任意节点都可以作为协调(Coordinating)节点接受请求(包括新建、索引或者删除请求),每个节点都知道集群中任一文档位置; 2、协调节点会通过 routing 字段计算出一个主分片(primary shard),并把请求路由到主分片所在节点(routing 是一个可变 阅读全文
posted @ 2020-12-21 16:47 JMCui 阅读(1007) 评论(0) 推荐(1) 编辑
摘要: ## 1. 垃圾回收的简单回顾 关于垃圾回收算法,基本就是那么几种:标记-清除、标记-复制、标记-整理。在此基础上可以增加分代(新生代/老年代),每代采取不同的回收算法,以提高整体的分配和回收效率。 无论使用哪种算法,标记总是必要的一步。这是理算当然的,你不先找到垃圾,怎么进行回收? 垃圾回收器的工 阅读全文
posted @ 2020-12-20 22:10 JMCui 阅读(5210) 评论(0) 推荐(4) 编辑
摘要: 一、socket 和 fd(file descriptor)是什么? Unix/Linux 基本哲学之一就是"一切皆文件",即一切都可以用 "open → read/write → close" 来操作,socket 也可以理解成是一种特殊的文件。 fd(file descriptor):文件描述符 阅读全文
posted @ 2020-12-17 19:49 JMCui 阅读(1323) 评论(0) 推荐(0) 编辑
摘要: 一、同步阻塞 IO(BIO) 当用户线程调用了 read 系统调用,内核(kernel)就开始了 IO 的第一个阶段:准备数据。很多时候,数据在一开始还没有到达(比如,还没有收到一个完整的Socket数据包),这个时候 kernel 就要等待足够的数据到来。 当 kernel 一直等到数据准备好了, 阅读全文
posted @ 2020-12-16 16:08 JMCui 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 01. 前言 写过或者学过 SQL 的人应该都知道 left join,知道 left join 的实现的效果,就是保留左表的全部信息,然后把右表往左表上拼接,如果拼不上就是 null。除了 left join 以外,还有 inner join、outer join、right join,这些不同的 阅读全文
posted @ 2020-12-10 20:10 JMCui 阅读(958) 评论(0) 推荐(0) 编辑
摘要: 一、TkMybatis Tkmybatis 是基于 Mybatis 框架开发的一个工具,通过调用它提供的方法实现对单表的数据操作,不需要写任何 sql 语句,这极大地提高了项目开发效率。 二、怎么用? 1. 引用 在 pom.xml 中引入 tk.mybatis 的引用。 <dependency> 阅读全文
posted @ 2020-12-01 11:23 JMCui 阅读(10068) 评论(5) 推荐(4) 编辑
上一页 1 2 3 4 5 6 7 ··· 18 下一页