数据库
文章平均质量分 93
娟宝宝萌萌哒
https://github.com/hanjg
展开
-
redis数据结构
文章目录redis特点数据结构SDSlinkedlisthashtableskiplistintsetziplist对象类型StringListHashSetZset相关参考redis特点优点:性能极高。Redis能读的速度是110000次/s,写的速度是81000次/s 。原子性。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。数据类型丰富。Redis支持Strings, Lists, Hashes, Sets 及 Ordered Sets 等数据类型操作原创 2021-02-08 19:33:55 · 455 阅读 · 0 评论 -
mysql(七)——部分语句实现
文章目录deleteoptimizerecreate锁表ddlOnline ddl对比count几种计数方式count原则count函数对比order by全字段排序rowid 排序不排序joinIndex Nested-Loop JoinBlock Nested-Loop Joingroup by基本流程使用原则deleteinnodb_file_per_table = ON,表数据存在文件中,而不是共享表空间。drop table可以直接删除文件。delete 把记录的位置标记为可复用,磁盘上原创 2020-12-01 01:17:49 · 562 阅读 · 0 评论 -
mysql(六)——高可用
文章目录主备主备同步双M结构同步流程并行复制主备延迟定义来源主备切换主从主备切换逻辑过期读处理方案可用性检测外部检测内部检测主备binlog实现。主备同步双M结构备库设成readonly(对super用户无效,比如同步更新的线程):取数等放在备库,可以防止误操作。防止切换过程的bug,造成双写主备不一致。readonly属性可以用来判断节点角色。server id解决循环复制问题。binlog中记录业务操作的mysql的sever id。每个库收到binlog后,丢弃和原创 2020-12-01 01:16:34 · 483 阅读 · 0 评论 -
ElasticSearch 安装和使用
文章目录安装es安装kibana安装命令行使用索引操作文档操作搜索操作java客户端使用初始化文档操作搜索操作安装es安装下载:官网、历史版本,或者国内镜像。教程。配置 config/elasticsearch.yml。参考。cluster.name: my-clusternode.name: my-node1network.host: 0.0.0.0http.port: 9200cluster.initial_master_nodes: ["my-node1"]bin/ela原创 2020-08-26 00:18:19 · 322 阅读 · 0 评论 -
ElasticSearch 架构和原理
文章目录部署架构存储架构写入过程请求链路创建文档translog文件segment文件删除文档更新文档读取过程查询文档搜索文档参考部署架构master节点。管理元数据,负责索引创建、删除、数据rebalance等。通常奇数个master节点。数据节点。存储数据和倒排索引,负载数据的索引和检索,负载较高。协调节点。处理客户端请求,转发至相关的数据节点,并聚合结果返回客户端。存储架构索引。index。文档的集合,由多个分片组成。分片。shard。一个原创 2020-08-26 00:09:37 · 613 阅读 · 0 评论 -
redis高可用
文章目录高可用复制完整重同步部分重同步命令传播哨兵模式正常运行命令连接订阅连接检查下线主观下线客观下线故障转移Leader选举故障恢复高可用主从复制+哨兵模式。复制命令:SLAVEOF ip完整重同步步骤从向主发送SYNC主执行BGSAVE,生成RDB文件,并使用缓冲记录快照之后的所有写命令。主发送RDB文件至从,从阻塞请求加载RDB文件。主发送缓冲区命令至从,从执行到同步。缺点:消耗资源,主持久化、网络传输RDB、从阻塞请求。部分重同步实现方式:主从复制偏原创 2020-08-12 00:46:48 · 570 阅读 · 0 评论 -
redis持久化方式
文章目录RDBSAVEBGSAVE还原AOF写入还原AOF重写对比RDBAOF特点RDB快照式持久化。SAVE阻塞redis主进程,直到RDB创建完成。手动触发。BGSAVEfork子进程。子进程创建RDB文件,主进程继续处理请求。子进程共享父进程的内存空间,该空间只读。父进程修改时,对应的内存页copyonwrite,修改复制之后的内存页。只会同时执行一个BGSAVE命令。可手动触发,也可以设置多个save条件,任意满足时执行bgsave持久化。save 900原创 2020-08-06 00:41:11 · 433 阅读 · 0 评论 -
redis集群方案
文章目录redis集群架构容错机制codis架构特点参考客户端分片架构特点参考redis集群架构redis集群两两之间互相通信,并将16384个哈希槽分配给每个节点。当需要在 Redis 集群中set一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希...原创 2020-02-01 22:27:57 · 1108 阅读 · 1 评论 -
redis实现CAS
文章目录CASmultiwatchJedis实现CASmysql的UPDATE,hbase的checkAndPut提供CAS操作。redis基于watch和multi也可以实现CAS乐观锁。multimulti:multi开启事务(非原子性),包含多个命令。exec触发。可以理解为打包的批量执行脚本,某条命令执行失败不会导致之前的命令回滚,后续命令也会继续执行。watch...原创 2019-12-13 08:18:51 · 1952 阅读 · 0 评论 -
redis内存和过期策略
文章目录简介redis内存空间键空间过期字典key过期策略定期删除惰性删除内存淘汰简介https://blog.csdn.net/qq_40369829/article/details/79824618redis内存空间键空间dict字典保存数据库所有键值对。键:字符串对象。值:5中对象中的一种。过期字典expires字典保存所有键的过期时间。键:数据的键。值:毫秒...原创 2019-12-04 19:30:25 · 300 阅读 · 0 评论 -
redis线程模型
文章目录文件事件线程模型套接字I/O多路复用程序文件事件分派器事件处理器时间事件模型高效的单线程文件事件线程模型事件驱动设计,采用reactor模式——每当一个Event输入到Service Handler之后,该Service Handler会主动的根据不同的Event类型将其分发给对应的Request Handler来处理。套接字每个套接字准备好执行连接应答、写入、读取、关闭等...原创 2019-12-04 19:29:19 · 448 阅读 · 0 评论 -
hbase不睡觉书重点
文章目录简介使用场景对比关系型数据库存储架构部署架构集群region serverstore访问流程增删改实质查询架构写入顺序查询顺序API简介使用场景数据量超过千万。数据分析需求弱,复杂查询少。实时性要求不高。对比关系型数据库关系型数据库:行的各个列都是不可分割的,存储在一起。Hbase:行是抽象的概念,每一列是离散的,不同列可在不同机器上。存储架构namespa......原创 2019-10-24 19:12:16 · 556 阅读 · 0 评论 -
mysql(三)——日志
文章目录分类实现redoundopurge事务的隔离级别分类扁平事务。所有事务在同一层次。带保存点的扁平事务。放弃整个事务开销大,可回滚至保存点。链事务。提交一个事务后,把上下文传递给第二个事务。嵌套事务。顶层事务提交,子事务才会提交。分布式事务。实现redoredo在Innodb存储引擎产生,是物理日志,记录页修改操作,在事务进行过程中不断写入。对比:biglog在my...原创 2019-08-30 12:11:39 · 322 阅读 · 0 评论 -
mysql(五)——锁
文章目录锁的分类读取和锁一致性非锁定读一致性锁定读自增长和锁外键和锁锁的算法Record LockGap LockNext-Key Lock例子锁的分类Innodb的锁分为两种:1、轻量级的闩锁(latch),保护内存中的数据结构;2、锁(lock),保护数据,一般仅在commit或rollback后释放。lock的分类,SS兼容,其余互斥:共享锁(S Lock),允许事务读一行记录。...原创 2019-08-30 12:08:25 · 509 阅读 · 0 评论 -
增删改数据和操作表——mysql必知必会(二)
增删改数据插入数据更新数据删除数据删除和更新的原则操作表创建表更新表删除表重命名表增删改数据插入数据INSERT INTO + VALUES。INSERT INTO customers(cust_name, cust_address)VALUES('Pep2', '100 Main Street'),('Pep3', '10...原创 2018-01-08 21:41:05 · 403 阅读 · 0 评论 -
高级特性——mysql必知必会(三)
视图使用索引使用存储过程使用游标使用触发器使用事务处理字符集和校对安全管理设置账户设置账户权限性能分析EXPLAIN视图作用: 重用 sql语句。简化复杂的sql。保护数据,给予用户部分数据的访问权限而不是整个表。更改数据的格式和表示。视图不包含数据,是虚拟的表。每次使用视图时,必须处理查询的所有检索,...原创 2018-01-09 22:15:45 · 1747 阅读 · 0 评论 -
事务隔离级别和锁
简介数据库操作中为了有效保证并发读取数据的正确性,定义事务隔离级别,共有4级。mysql默认 REPEATABLE_READ , Oracle默认 READ_COMMITTED 。隔离级别逐渐增强,每种都是为了解决 脏读、不可重复读、幻读 中的一个问题。READ_UNCOMMITTED一个事务可以读取另一个未提交事务的数据。最低隔离级别,存在脏读问题:事务读取另一个事务......原创 2018-02-24 14:53:50 · 901 阅读 · 1 评论 -
事务传播行为
简介Service层除了Dao层的方法之外,还调用了其他service方法,为了保持事务特性,定义事务传播行为。分为3类7种。实例:ServiceA { void methodA() { ServiceB.methodB(); } } ServiceB { void methodB() { ...原创 2018-02-24 14:57:03 · 393 阅读 · 0 评论 -
牛客网sql练习重点
group by 和 max 的结合自联结应用从查询的结果中查询删除重复记录group by 和 max 的结合统计各个部门最高薪水的员工,联结查询分组之后使用max函数。原题select de.dept_no, de.emp_no, max(s.salary) as salaryfrom dept_emp de inner join salar...原创 2018-05-01 17:31:00 · 186 阅读 · 0 评论 -
数据库相关
如何建表HAVINGStatement和PreparedStatement区别悲观锁 与 乐观锁 的比较悲观锁乐观锁关键点数据库的三大范式第一范式第二范式第三范式参考数据库连接池SQL常用命令:视图如果视图定义中有如下子句则不能更新优点缺点完整性约束索引索引类型(Oracle)优缺点实现索引之间的关系存储过程优点缺点日...原创 2017-11-08 11:50:20 · 721 阅读 · 0 评论 -
mysql(四)——快照读
文章目录简介MVCC原理回滚指针快照参考简介Innodb高并发的原因:所有普通select均为快照读,快照读使用 MVCC ,不加锁。MVCC实现RC,RR隔离级别,其余两个隔离级别和MVCC无关。MVCC原理回滚指针旧数据存在undo日志中,通过DB_ROLL_PTR(回滚指针)查找历史版本数据。插入时,回滚指针为null。更新时。排他锁锁定行,修改前的值copy到undo......原创 2019-06-10 00:41:45 · 742 阅读 · 0 评论 -
3种系统下mysql安装踩坑
文章目录主要流程服务启动mysql配置主要流程https://jingyan.baidu.com/article/597035521d5de28fc00740e6.html服务启动启动命令。mysqld --remove //删除mysql服务mysqld --install //安装mysql服务 mysqld --initialize //一定要初始化 net sta...原创 2019-08-30 11:49:55 · 372 阅读 · 0 评论 -
mysql(一)——架构和执行流程
文章目录mysql简介mysql架构主要存储引擎mysql连接方式Innodb架构后台线程内存池CheckPoint分类关键特性插入缓冲两次写自适应hash索引异步IO刷新临近页存储mysql简介mysql架构连接池组件对接各种客户端,插件式基于表的存储引擎管理底层文件。主要存储引擎Innodb。支持事务,面向在线事务处理(OLTP),行锁设计,支持外键,默认读取不产生锁。My......原创 2019-08-30 11:53:51 · 329 阅读 · 0 评论 -
mysql(二)——索引
文章目录索引分类聚集索引辅助索引使用使用条件联合索引覆盖索引不使用索引ICP优化索引分类聚集索引按照主键构建B+树,叶子节点存放整张表的行记录,称为数据页。每张表只能有一个。聚集索引逻辑上连续,物理上不一定连续:数据页通过双向链表链接,按照主键排序。每个页中的记录通过双向链表维护,物理上不一定按照主键的顺序。辅助索引可以有多个。叶子节点包含键值和指向行数据的书签。......原创 2019-08-30 12:05:57 · 690 阅读 · 0 评论 -
检索数据——mysql必知必会(一)
检索数据SELECT检索分页限制结果排序检索 #排序数据降序排序过滤数据WHERE过滤通配符过滤正则表达式过滤计算拼接字段算数计算文本处理函数日期和时间处理函数数值处理函数聚集函数分组数据过滤分组SELECT子句顺序子查询用作过滤用作计算联结内部联结自联结外部联结使用聚集函数的联结组合查询全文本搜索扩展查询...原创 2018-01-07 20:53:27 · 752 阅读 · 0 评论