SQL性能优化常见流程


SQL优化 进行SQL优化之前,我们首先要确定是具体的某条SQL差。一般来说实际开发之中,无非就是两种情况需要对SQL做优化。 开发的时候根据业务需求要做SQL优化 除了实际开发的时候,往往还会有一些SQL会在项目正常运行一定时间之后,才会出现性能差的问题。 针对这种情况。我们可以通过以下几种方式来

Mysql - Innodb 隔离级别的实现 (MVCC、锁机制)


隔离级别与隔离问题 这个部分算是基础知识,稍微提及一下,具体不再介绍 READ_UNCOMMITED 读未提交 最弱的隔离级别,完全没有隔离效果,等同于可以读取到别人事务之中还没有提交的内容,也就是出现所谓的脏数据的场景。 READ_COMMITED 读已提交 查询只查询到别人已经在事务之中提交了的

Mysql-Innodb单表超过2kw逻辑验证


Mysql单表存储不要超过2kw? 有不少文章在解释,Mysql单表最好不要超过2kw,了解时感觉头头是道实际上漏洞百出经不起推敲。有的人甚至会说Mysql指针大小是6,有的又说是12,搞的一塌糊涂根本不知道什么是什么,怪的很。但最终他们的结论是对的,实在有点难绷,为了避免以后又被这群人搞懵导致记错

ElasticSearch的调优


ElasticSearch的调优 跟Mysql类似的,ES的调优也可以主要分为几个方面的优化,首先是数据结构的声明方面,其次是ES操作方面的优化,最后是操作系统方面的调优。 在结构方面 在声明mapping的时候,我们可以尽量避免以下的操作来尽量避免影响性能问题出现。 少声明字段:如果我们声明字段过

ELK日志架构


ELK日志架构 首先要明确一点的是,ELK需要以下多个工具组件来结合才能使用: Filebat 轻量级的日志收集工具 Logstash,主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式 一般分为两个版本, client 端我们会通过 Filebat 代替;而 server 端则还是

ElasticSearch部署


ElasticSearch ElasticSearch本体 一般来说,如果我们的服务器能够正常通过wget下载东西的话,我们可以通过以下命令直接进行下载工作: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearc

ElasticSearch基础&查询


ElasticSearch 基本概念 集群 Es集群的特点:多个ES服务器可以组成集群存储大量的数据,并提供相关的服务 高可用性 (服务可用性、数据可用性) 可扩展性 并发量提高、数据量增多的时候,可以增加节点来直接解决。 集群状态 ES将索引和集群的健康情况都做了以下三种状态的区别,每个索引或者集

ElasticSearch进阶查询


组合查询 在上面之中我们学习到了 match 和 term 进行查询的时候,只介绍了单个 api 做一个简单的查询效果,没有提供组合查询的效果的效果。 Bool Query,布尔查询效果,可以组合多过滤语句来帮助我们过滤文档。 Boosting Query,通过 positive 块指定匹配文档的评

ES存储 & 搜索原理


ES索引 倒排索引的实现 问题 倒排索引的实现问题,涉及到存储、快速定位词项本身、词项匹配文档数 分词形成的词项(term)可能是海量的,需要可以在内存和磁盘上高效存储; 既然词项是海量的,那么如何快速找到对应的词项也是个问题; 每个词项对应的文档数可能非常多,也就是上图中文档列表的链表很长; 在词

ElasticSearch集群问题&原理


ElasticSearch搭建集群 构建集群的节点 部署的时候集群节点无非就两种,一种是计算机 / 服务的数量不够,通过单个节点承担多个角色的方式来搭建索引;另外一种就是让单个节点承担单个角色。 对于第一种的情况其实没啥好介绍的,看着来就行了,毕竟资源受限最多也就只能那样了;而针对第二个情况,在资源