前言: 在实现前端监控系统的最初,使用了 Mongo 作为日志数据存储库.文档型存储,在日志字段扩展和收缩上都能非常方便.天生的 JSON 格式和 NodeJs 配合也非常贴合.就这样度过了几个月的蜜月期. 而后有一天发现,表里的数据越来越大了(单表上亿),查询变慢了,特别是聚合查询.于是使用了各种优化手段:复合索引.时间条件约束.定期清理过老数据等等,但最终效果都不理想. 在事情的发展过程中也从同事口中了解到有一个叫 ClickHouse 的数据库,也许对目前的场景比较有帮助.于是,自己经历了…
一条SQL查询语句是如何执行的? 前言 ​ 大家好,我是WZY,今天我们学习下MySQL的基础框架,看一件事千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题.同样,对于MySQL 的学习也是这样.平时我们使用数据库,看到的通常都是一个整体.比如,你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时: mysql> select * from T where ID=10: ​ 我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的…
一.MySQL 基础架构   整体来说 MySQL 主要分为两个部分,一个部分是:Server 层,另一部分是:存储引擎层. 其中 Server 层包括有连接器.查询缓存.分析器.优化器.执行器等,存储引擎层支持 InnoDB.MyISAM.Memory 等. 现在最常用的存储引擎是 InnoDB,同时也是 MySQL 默认的存储引擎. 通过分析器知道要做什么. 通过优化器知道怎么做. 通过执行器调用存储引擎接口,进行数据的查询.   俗话说:"一图胜千言",我们还是来看下面这张流程图…
导读:不知道大家有没有意识到一个现实:大部分时候,我们已经不像以前一样,通过命令行,或者可视窗口来使用一个系统了. 前言 现在我们上微博.或者网购,操作的其实不是眼前这台设备,而是一个又一个集群.通常,这样的集群拥有成百上千个节点,每个节点是一台物理机或虚拟机.集群一般远离用户,坐落在数据中心.为了让这些节点互相协作,对外提供一致且高效的服务,集群需要操作系统.Kubernetes 就是这样的操作系统. 比较 Kubernetes 和单机操作系统,Kubernetes 相当于内核,它负责集群软硬…
有没有这种场景:当你被问起某一项知识点时,你大脑里想起经常看到过这样的问题,可是具体是怎么样就是说不清楚. 好吧,我就是这样的,于是整理一下,实在记不住,以后找起来也方便. 当你在浏览器地址栏里输入一个网址,比如:https://www.zhihu.com/, 我们就会看到知乎的首页.实际上背后的经过,是酱紫的. 一.浏览器解析输入的网址 首先,浏览器会解析我们输入的网址,那么https://www.zhihu.com/的域名是由什么组成的? 1.http 通常被译为超文本传输协议.不过我看书上…
申明 本文章首发自本人公众号:壹枝花算不算浪漫,如若转载请标明来源! 感兴趣的小伙伴可关注个人公众号:壹枝花算不算浪漫 22.jpg 前言 之前出过一个设计模式的系列文章,这些文章和其他讲设计模式的文章 有些不同 文章没有拘泥于讲解设计模式的原理,更多的是梳理工作中实际用到的一些设计模式,并提取出对应业务模型进行总结,回顾下之前的一些文章: [一起学设计模式]策略模式实战一:基于消息发送的策略模式实战 [一起学习设计模式]策略模式实战二:配合注解 干掉业务代码中冗余的if else… [一起学设…
一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴切老师上课所讲述的内容,可以说是对上课内容的一次再现,也是对课上知识点的补充. 在进行完上述学习之后进而学习了<Vim编辑器>这一章节的内容,在学习内容上没有太大的困难,主要都是相应的指令的练习,按部就班的完成就行.但在个人来看学习内容中有过多细碎的指令,在实际运用当中会有一定困难,但感觉主要联系…
一.客户端通过监听连接到数据库,数据库开启一个server process进程来接收客户端传过来的sql. 1.这条sql语句从来都没有被执行过.(硬解析) 2.这条sql语句被执行过.(软解析) 二.我们来看一条SQL语句内部解析到底经历了什么? sql硬解析解析的步骤 1.语法检测:检测sql语句有没有语法错误,是否符合sql规范 2.语义检测:检测sql语句涉及的对象是否存在. 3.检查共享池中是否存在相同的已经执行过的sql语句. 4.通过数据字典的统计信息,来计算最优执行计划. 5.拿…
            作为一个程序员, 因为受够了”给别人实现梦想太累”的念头, 又受到”外面给出更高薪水”的诱惑, 果断离职创业. 但原本是要创业的, 过了半年, 变成了失业, 这其中到底经历了哪些坎坷?        坎坷一: 学习      为什么学习也会成为一个坎? 因为只有一个人创业, 需要身兼多职, 仅技术来说, web前端, iOS端, 服务端都需要一个人搞定. 而我要学习的正是iOS端. 开局不错, 在两周时间里, 动手实践, 效果显著(之前或多或少看过点书). 可惜好景不长,…