数据存储
收集数据库与数据仓库等存储系统的经验之谈
jinixin
这个作者很懒,什么都没留下…
展开
-
「Redis」概述
概述 Redis是由C编写的key-val型内存数据库, 可以被当做数据结构服务器 value提供了如下数据结构: string(字符串), list(链表), set(集合), zset(有序集合), hash(字典) 与memcache比较 都是key-value型数据库, 都存储在内存中 memcache的value仅支持string redis支持数据持久化, 重启时可重新加载, memcache不支持持久..原创 2020-11-23 18:52:30 · 314 阅读 · 0 评论 -
「MySQL」归档日志 重做日志 回滚日志 MVCC
MySQL分层 接入层 -> MySQL服务层 -> 存储引擎层 -> 系统文件层 接入层: 不同语言客户端通过MySQL协议与MySQL服务器连接通信, 该层负责权限验证, 连接池管理 MySQL服务层: SQL解析器, SQL优化器, 缓存 存储引擎层 系统文件层: 保存数据, 索引, 日志 binlog (归档日志) 逻辑日志, binlog是MySQL Server的日志, 用于..原创 2020-10-24 19:54:06 · 451 阅读 · 1 评论 -
「MySQL」拾零
存储过程: 预编译的SQL语句, 优点: 1) 避免传递SQL, 使用效率高, 2) 避免对表的直接访问, 权限控制; 缺点: 互联网因迭代快, 写在服务层其实更好. 目前不建议使用 varchar不是无限的, 取决于字符集, 一般是65536/字符集规定每个字符最大占用的字节数; char(10)与varchar(10)与int(10)区别 超大分页的优化 mysql中"limit offset, num", 是取出offset+num, 然后抛弃前offset条, 这样..原创 2020-09-28 22:53:41 · 167 阅读 · 0 评论 -
「MySQL」隔离性与锁
多个事务同时操作带来的问题 多个事务并发执行, 由此引出隔离性的问题 脏读 一个事务更新了数据, 另个事务读取了同份数据, 但前份数据回滚了 不可重复读 一个事务中两次查询的数据不一致, 因为之间另一事务提交了更新数据 幻读 一个事务中两次查询到的数据笔数不一致, 因为之间另一事务插入了数据 事务隔离级别 读取未提交内容 (read uncommited) 事务A可以读到事务B未提交的修改. 会导致...原创 2020-08-20 00:22:58 · 188 阅读 · 0 评论 -
「MySQL」存储结构与索引
innodb引擎的存储结构 mysql服务器中对数据的读取和写入是交给存储引擎来处理的 mysql索引分为聚簇索引, 二级索引和联合索引 记录 每条记录存储的格式称为行格式, 一般格式为: "可变字段长度列表,null值列表,记录的头信息,每列的具体数据". 头信息的delete_mask位用来标记该记录是否被删除. 头信息的record_type位表示记录类型 (0为普通记录, 1为目录项记录, 2为最小记录, 3为最大记录), 头记录的next_recor..原创 2020-08-28 13:46:50 · 234 阅读 · 0 评论