过去可知却不可控,未来可控却不可知
Redis笔记 Redis笔记
常见应用¶ 分布式锁¶ set key value ex 秒数 nx 客户端加锁失败¶ 三种方式: 直接抛出异常,通知用户稍后重试 sleep一会重试 将请求转移到延时队列,一会儿再重试 超时问题¶ 不要用于较长时间的任务. set指令
2024-09-08
TiDB及其TiKV学习记录 TiDB及其TiKV学习记录
总体概览¶ 整个TiDB体系有三个部分组成:PD Cluster、Storage Cluster、TiDB Server。 TiDB Server¶ 主要功能¶ 处理客户端的连接 SQL语句的解析和编译 关系型数据与KV的转化 SQL语
2022-04-02
基于Go实现分布式对象存储 基于Go实现分布式对象存储
背景¶ 对象存储与传统网络存储的区别 网络文件系统 块存储 对象存储 数据管理方式 以文件形式管理 以数据块形式管理 以对象的方式管理 访问数据方式 通过NFS等网络协议 通过数据块的地址访问 通过REST网络服务
2022-03-18
CMU-15445 CMU-15445
背景¶ 在没有数据库的情况下,我们可以使用简单的csv文件来存储文件,并编写简单的脚本文件来查找数据。但是这种方案会有很多缺陷: 数据的质量 很难保证同一类型记录中相应字段的一致性 很难阻止用户写入该字段不合法的数据 很难优雅的处理数据
2022-03-04
MySQL整理与总结 MySQL整理与总结
MySQL基础架构¶ MySQL大致可以分成Server层和存储引擎层。 连接器¶ 连接器负责跟客户端建立链接、获取权限、维持和管理链接。 一个用户成功创建连接后,即使对该用户修改权限,也不会影响当前存在连接的权限。修改完成之后,只有创建
2022-03-01
数据存储与检索 数据存储与检索
背景¶ 现在主流的数据存储与检索引擎可以大致分为两种:OLTP和OLAP. OLTP指的是online transaction processing. OLAP指的是online analysis processing. 维度 OLT
2021-11-13
硬盘IO总结 硬盘IO总结
背景¶ 随着计算机硬件在过去10年中遵循摩尔定律的发展,通用计算机的CPU主频早已超过了4GHz,内存已早已进入了DDR4的时代。但是传统机械磁盘的读写性能并没有明显提升,而SSD的价格又过高。因此,探究传统机械硬盘的物理结构与性能优化方式
2021-10-03
KV存储引擎学习笔记 KV存储引擎学习笔记
SkipList¶ 背景¶ 跳表全称叫做跳跃表,简称跳表。跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。跳表不仅能提高搜索性能,同时也可以提高插入和删除
2021-09-09