希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则能够按照预想的合理的方式运行。 如下图所示,当向MySQL发送一个请求的时候,MySQL到底做了什么:客户端发送一条查询给服务器。服务器先检查查询
六个特点和背景介绍(Blink架构)Blink作为一个纯流式的计算平台,具备秒级甚至毫秒级的延时,能够快速容错,比如在某个计算节点挂掉的时候可以快速恢复。它还支持动态扩容,针对流计算场景做了大量优化,具备高吞吐和高资源利用率的极致性能,同时解决了非常明显的数据乱序的问题,并且支持大数据量的流计算请求
本文将分析传统数据库存在的一些问题,以及几大类 NoSQL 如何解决这些问题,希望给大家提供一些 在不同业务场景下存储技术选型方面的参考。传统数据库的缺点传统的数据库有如下几个缺点:大数据场景下 I/O 较高, 因为数据是按行存储,即使只针对其中某一列进行运算,关系型数据库也会将整行数据从存储设备中
一、引言在产品上线之后,我们的数据是相当重要的,容不得半点闪失,应该做好万全的准备,搞不好哪一天被黑客入侵或者恶意删除,那就 gg 了。所以要对我们的线上数据库定时做全量备份与增量备份。例如:每天做一次增量备份,每周做一次全量备份。GitHub 地址:https://github.com/zonez
一旦涉及到查询优化,就离不开索引的应用,本文选取mysql常用的引擎InnoDB作为研究对象,针对InnoDB引擎利用的索引结构B+树做个简单说明。InnoDB的B+树假设我们创建表Student,主键为id:CREATE TABLE `Student` ( `id` int(16) NOT N
比较 MySQL 和 MariaDB 之间的主要相似点和不同点。我们将从性能、安全性和主要功能方面对这两个数据库展开对比,并列出在选择数据库时需要考虑的重要事项。谁在使用 MySQL 和 MariaDB?MySQL 和 MariaDB 都发布了各自的用户名单。使用 MySQL 的有 Facebook
MySQL8.0毕竟一个非常大版本的改动,我们直接从5.7一下跳到8.0了,版本规则的变化,我们对产品研发过程之中会有一些跟以往不一样的路径。我今天演讲主要分这几个部分,第一个是功能方面的改进,讲的主要是MySQL8.0 里面 InnoDB,我只讲InnoDB,因为我是InnoDB组的,在MySQL
一个入门的MySQL锁机制与实践,主要里面给大家介绍一下它的源码入口之类东西,帮助大家以后这方面读源码读得更顺畅。首先我先介绍一下MySQL两层架构,MySQL的两层架构所有数据库里面,除了MySQL以外,其他数据库都没有这个特点,MySQL两层架构就是它把服务层和存储引擎层拆成两个层次来看待,服务
公司最近在搞服务分离,数据切分方面的东西,因为单张包裹表的数据量实在是太大,并且还在以每天60W的量增长。 之前了解过数据库的分库分表,读过几篇博文,但就只知道个模糊概念, 而且现在回想起来什么都是模模糊糊的。今天看了一下午的数据库分库分表,看了很多文章,现在做个总结,“摘抄”下来。(但更期待后期的
为什么用自增列作为主键?1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引、如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(ROW
本人曾经使用过 ZooKeeper 作为 Dubbo 的注册中心,另外在搭建 solr 集群的时候,我使用到了 ZooKeeper 作为 solr 集群的管理工具。前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:“①Zook
如何判断当前MySQL是否支持分区?命令:show variables like '%partition%' 运行结果:mysql> show variables like '%partition%';+-------------------+-------+| Variable_name |
可以使用BigDump工具进行导入大数据库,这个是一个来自国外的工具,根据介绍是专门用来导入phpMyAdmin遇到大数据库无法导入的问题的。其就是一个PHP文件,我们只需要传到服务器中,在线WEB打开就可以根据检测到的根目录数据库SQL地址,然后导入。第一、BigDump工具下载下载地址:http
安装lnmp环境的网友告知自己的网站无法打开,可以进入登入界面,但是输入用户名和密码进不去,这里老蒋来解决这个问题,且把整个过程记录下来,以后如果有遇到这样的问题可以参考此方法解决问题。第一、解决问题准备工作在遇到问题之前,我们还是先检查下整个环境是否有问题,这个网友采用的是linode VPS服务
一、MongoDB的认识1、什么是 MongoDB ?MongoDB 是一个介于关系数据库和非关系数据库之间的开源产品,是最接近于关系型数据库的 NoSQL 数据库。它在轻量级JSON 交换基础之上进行了扩展,即称为 BSON 的方式来描述其无结构化的数据类型。尽管如此它同样可以存储较为复杂的数据类
MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高 ,并发度最低。页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒
有些容器会自动产生一些数据,为了不让数据随着container的消失而消失,保证数据的安全性。例如:数据库容器,数据表的表会产生一些数据,如果我把container给删除,数据就丢失。为了保证数据不丢失,这就有了Volume的存在。Data Volume 结构图Docker持久化数据的方案基于本地文
什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么?持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。 Redis 提供了两种持久化方式:RDB(默认) 和AOF RDB:rdb是Redis DataBase缩写 功能核心函数rdbSave(生成RDB文件)和rdbLo
有提到redis通讯协议(RESP ),能解释下什么是RESP?有什么特点?(可以看到很多面试其实都是连环炮,面试官其实在等着你回答到这个点,如果你答上了对你的评价就又加了一分)RESP 是redis客户端和服务端之前使用的一种通讯协议; RESP 的特点: 实现简单、快速解析、可读性好For Si