
数据库
文章平均质量分 67
Mountainest
这个作者很懒,什么都没留下…
展开
-
时序数据库的存储结构
哈希取余倒排索引符号表正则匹配block合并,主要是合并索引。通过WAL预写日志的方式,防止数据丢失。参考:12原创 2021-06-13 17:26:21 · 969 阅读 · 1 评论 -
MySQL事务
事务四大特征(ACID):原子性(A):事务是最小单位,不可再分。一致性(C):事务要求所有的DML语句(data manipulation language,包括INSERT、UPDATE、DELETE)操作的时候,必须保证同时成功或者同时失败。隔离性(I):事务A和事务B之间具有隔离性持久性(D):是事务的保证,事务终结的标志(内存的数据持久到硬盘文件中)隔离性有4个隔离级别,从上往下隔离强度逐渐增强:读未提交:read uncommitted。事物A未提交的数据,事物B可以读取到,这里读原创 2021-03-19 14:46:36 · 262 阅读 · 0 评论 -
Redis高可用方案的实现原理
Redis哨兵模式哨兵也是一种特殊的redis,哨兵节点采用raft一致性算法,所以要求哨兵节点至少3个并且奇数。1、每个哨兵每秒对各个Redis数据节点做心跳检测。2、如果发现某个节点超时未响应,则对该节点进行主观下线。如果主管下线的节点是master节点,还要咨询其他的哨兵节点,如果过半节点都认为该节点下线,则对该节点做客观下线。3、同时这也是一个选主的过程,一般第一个发现主观下线的节点,会被选为leader哨兵节点。4、由leader哨兵节点对redis数据节点进行故障转移。1)lead原创 2021-04-28 23:29:02 · 235 阅读 · 0 评论 -
慢SQL优化思路
原则1、是否向数据库请求了不需要的数据。2、MySQL server是否在分析大量超过需要的数据。具体思路是否加锁了?加锁是否合理?是否使用了索引?索引覆盖、索引合并、索引下推、MRR如果是复杂查询是否可以考虑拆分为多条语句?可以提高缓存利用率,减少了关联查询(MySQL只是嵌套循环关联,非哈希关联,效率低)当limit的偏置比较大时,可以使用延迟关联异步读,冗余读重写轻读数据库是否有多从缓存分区分表是否是网速限制限流降级...原创 2021-04-27 23:00:21 · 226 阅读 · 0 评论 -
彻底弄清分布式锁、分布式队列
<div class="htmledit_views" id="content_views"> <h1><a name="t0"></a>本文概要</h1><p><img alt="" class="has" src="http...原创 2019-09-15 22:30:26 · 262 阅读 · 0 评论 -
一文学习redis底层数据结构
string int: 数值作为redisObject的指针地址。 raw: redisObject + sdshdr,指针指向sdshdr,redisObject里面保存指针。 embstr: redisObject + sdshdr一起申请一块连续的内存,适合于短字符串。 hash ziplist:采用一块连续内存模拟的双向链表,为了均衡内存使用率和性能,不需要每次申请内存,也省去了next指针的空间的内存开销,pre指针的开销并没有省掉。一般要求节点数小于10...原创 2021-04-25 20:38:05 · 147 阅读 · 0 评论 -
一文读懂MySQL事务与mvcc、锁的关系
什么是mvcc?目的:提高事务的并发性能。原则:写加锁,读不加锁,读写不冲突,只有写写才冲突。具体措施:保存数据库每个修改的版本,增加两个字段创建时间和删除时间,分别存储创建和删除的事务ID,作为版本号。事务处理的常见问题?脏读:读取未提交的数据,该数据可能会回退。不可重复读:两次读取的数据不一致,针对的update。幻读:读取同一范围的数据,读取的行记录不一样,有新增行或者删除行。更新丢失:其他事务的更新,被覆盖了。事务的acid是怎么保证的?通过mvcc和锁一起共同保证的。原创 2021-04-21 00:21:17 · 1452 阅读 · 1 评论 -
MySQL知识点总结
数据库表设计三范式:1、字段原子性,字段不可再分割。2、消除对主键的部分依赖,某个字段依赖复合主键中的一部分。3、消除对主键的传递依赖,不能通过其他字段间接依赖于主键。比如任课老师取决于是什么课,而是什么课又取决于主键id,可以拆分为日程表和任课老师表。索引(B+树)全文索引:模糊查询时使用。普通索引:对关键字没有限制。唯一索引:要求记录提供的关键字不能重复。主键索引:要求关键字唯一且不为null。可以作为外键,唯一索引不可以。一张表只能有一个主键索引,而唯一索引未必。索引使用场原创 2021-03-23 16:44:44 · 367 阅读 · 0 评论 -
redis常见问题汇总
redis vs memcachedredis支持持久化。 RDB(Redis DataBase,是将redis某一时刻的数据持久化到磁盘中,是一种快照式的持久化方法) AOF(Append Only File,AOF方式是将执行过的写指令记录下来,在数据恢复时按照从前到后的顺序再将指令都执行一遍)redis的数据结构更丰富。redis是目前最快的。参考:https://blog.youkuaiyun.com/liqingtx/article/details/60330555...原创 2021-04-07 15:43:33 · 2308 阅读 · 0 评论