摘要:
前言 排序是数据库中的一个基本功能,MySQL也不例外。用户通过Order by语句即能达到将指定的结果集排序的目的,其实不仅仅是Order by语句,Group by语句,Distinct语句都会隐含使用排序。本文首先会简单介绍SQL如何利用索引避免排序代价,然后会介绍MySQL实现排序的内部原理 阅读全文
摘要:
#!/bin/bash redispwd=cy@123456 mkdir /application/tools -p cd /application/tools wget http://download.redis.io/releases/redis-5.0.9.tar.gz tar xzf red 阅读全文
摘要:
一、整体架构图 1、共享内存区 A、shared_buffers 共享缓冲区 它表示数据缓冲区中数据块的个数,每个数据块的大小是8KB。 数据缓冲区位于数据库的共享内存中,它越大越好,不能小于128KB。 这个参数只有在启动数据库时,才能被设置。 默认值是128MB。 推荐值:1/4 主机物理内存。 阅读全文
摘要:
MGR特点 (1)基于Paxos协议和原生复制,多数节点同意即可通过事务提交;(2)具备高可用自动故障检测,可自动切换;(3)可弹性扩展,集群自动的新增和移除节点;(4)有单主和多主模式;(5)支持多节点写入,具备冲突检测机制,可以适应多种应用场景需求。 MGR组复制是什么 (1)主从复制是异步复制 阅读全文
摘要:
Elasticsearch索引(elasticsearch index)由一个或者若干分片(shard)组成,分片(shard)通过副本(replica)来实现高可用。一个分片(share)其实就是一个Lucene索引(lucene index),一个Lucene索引(lucene index)又由 阅读全文
摘要:
整体流程: 数据写入buffer缓冲和translog日志文件中。当你写一条数据document的时候,一方面写入到mem buffer缓冲中,一方面同时写入到translog日志文件中。 buffer满了或者每隔1秒(可配),refresh将mem buffer中的数据生成index segmen 阅读全文
摘要:
由于之前开源社区版本的 MySQL 并没有提供物理备份的机制,所以数据库备份大多使用逻辑备份工具 mysqldump 。然而,mysqldump 是单线程备份,串行地从数据库中一张张导出表中的记录,备份速度是该工具最大的问题。好在开源社区提供了 mydumper 工具,一种并行的逻辑备份工具,极大解 阅读全文
摘要:
PG 相关系统日志参数 最近值班的时候遇到pg的日志问题,顺带梳理一下 pg的系统日志参数。 默认情况下,很过日志参数是缺省值,需要查看详细日志信息,必须对相关参数进行修改。 logging_collector = on/off 是否将日志重定向至文件中,默认是off, 修改该参数之后后,需要重启D 阅读全文
摘要:
在网络上看了几篇关于幻读的文章,总有些不对劲的地方,要么是解释过于官方看不懂,要么压根儿就是错的,于是我找到了著名论文 A Critique of ANSI SQL Isolation Levels ,对幻读问题做了归纳和总结,希望能帮助大家真正理解幻读,大纲如下: 什么是幻读 幻读最早由 ANSI 阅读全文
摘要:
此文章为基于MySQL 5.7.32 撰写,内容为 MGR 架构与半同步复制架构互相转换实施。 为节约时间仅部署双节点数据库进行测试,实际生产建议至少安装三节点数据库,MGR 遵循多数存活理念,即三台服务器的集群,允许其中一台宕机。 以下对本文涉及的复制架构进行简介: 半同步复制:介于异步复制和完全 阅读全文