摘要:一个问题? InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。 我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。在计算 阅读全文
MySQL在并发场景下的问题及解决思路
2018-01-15 08:29 by 飘扬的红领巾, 18772 阅读, 23 推荐, 收藏, 编辑
摘要:目录 1、背景 2、表锁导致的慢查询的问题 3、线上修改表结构有哪些风险? 4、一个死锁问题的分析 5、锁等待问题的分析 6、小结 1、背景 对于数据库系统来说在多用户并发条件下提高并发性的同时又要保证数据的一致性一直是数据库系统追求的目标,既要满足大量并发访问的需求又必须保证在此条件下数据的安全, 阅读全文
使用binlog2sql做数据恢复的简单示例
2017-10-17 11:59 by 飘扬的红领巾, 1714 阅读, 4 推荐, 收藏, 编辑
摘要:有时我们会遇到操作人员误删或者误更新数据的情况,这时我们迫切希望把原来的数据还原回来,今天我们介绍一个简单的工具来方便的实现此功能。 前提条件 在实现数据恢复之前,需要我们的MySQL满足以下配置条件: [mysqld] server_id = 1 log_bin = bin max_binlog_size = 1G binlog_format = row binlog_row_image... 阅读全文
MyCAT-EYE开源
2017-09-29 17:34 by 飘扬的红领巾, 3098 阅读, 2 推荐, 收藏, 编辑
摘要:MyCAT EYE MySQL数据库监控工具,实现了对MySQL节点的管理和监控,可供开发人员和DBA使用。后续版本将整合MyCAT2.0的管理和配置。 开源地址: https://gitee.com/redtie/mycateye 演示地址: 开发人员视图:http://120.77.46.146:7001 DBA或管理人员视图:http://120.77.46.146:7002 登录用户名、密... 阅读全文
深入理解JVM(八)——java堆分析
2017-09-12 11:39 by 飘扬的红领巾, 8366 阅读, 6 推荐, 收藏, 编辑
摘要:上一节介绍了针对JVM的监控工具,包括JPS可以查看当前所有的java进程,jstack查看线程栈可以帮助你分析是否有死锁等情况,jmap可以导出java堆文件在MAT工具上进行分析等等。这些工具都非常有用,但要用好他们需要不断的进行实践分析。本文将介绍使用MAT工具进行java堆分析的案例。 内存溢出(OOM)的原因 我们常见的OOM(OutOfMemoryError)发生的原因不只是堆... 阅读全文
NOSQL EYE开源
2017-09-06 12:04 by 飘扬的红领巾, 2165 阅读, 4 推荐, 收藏, 编辑
摘要:简介 NOSQL数据库监控工具,目前实现了对Redis、MongoDB的监控功能。 功能列表 下载地址 http://git.oschina.net/redtie/nosqleye 演示地址 http://106.14.181.95:7004 登录用户名、密码:admin/admin 安装环境 推荐 阅读全文
深入理解JVM(七)——性能监控工具
2017-09-01 17:20 by 飘扬的红领巾, 32886 阅读, 9 推荐, 收藏, 编辑
摘要:前言 工欲善其事必先利其器,性能优化和故障排查在我们大都数人眼里是件比较棘手的事情,一是需要具备一定的原理知识作为基础,二是需要掌握排查问题和解决问题的流程、方法。本文就将介绍利用性能监控工具,帮助开发者更快更准的找到问题产生的根源。本文分为三部分,第一部分将介绍在Linux环境下的常用监控工具,第 阅读全文
深入理解JVM(六)——类加载器原理
2017-08-25 17:41 by 飘扬的红领巾, 8106 阅读, 0 推荐, 收藏, 编辑
摘要:我们知道我们编写的java代码,会经过编译器编译成字节码文件(class文件),再把字节码文件装载到JVM中,映射到各个内存区域中,我们的程序就可以在内存中运行了。那么字节码文件是怎样装载到JVM中的呢?中间经过了哪些步骤?常说的双亲委派模式又是怎么回事?本文主要搞清楚这些问题。 类装载流程 1、加载 加载是类装载的第一步,首先通过class文件的路径读取到二进制流,并解析二进制流将里面... 阅读全文
深入理解JVM(五)——垃圾回收器
2017-08-21 09:46 by 飘扬的红领巾, 9929 阅读, 0 推荐, 收藏, 编辑
摘要:轻松学习JVM(五)——垃圾回收器 上一篇我们介绍了常见的垃圾回收算法,不同的算法各有各的优缺点,在JVM中并不是单纯的使用某一种算法进行垃圾回收,而是将不同的垃圾回收算法包装在不同的垃圾回收器当中,用户可以根据自身的需求,使用不同的垃圾回收器,以便让自己的java程序性能到达最佳。 在介绍垃圾回收 阅读全文
深入理解JVM(四)——垃圾回收算法
2017-08-18 15:30 by 飘扬的红领巾, 11503 阅读, 2 推荐, 收藏, 编辑
摘要:我们都知道java语言与C语言最大的区别就是内存自动回收,那么JVM是怎么控制内存回收的,这篇文章将介绍JVM垃圾回收的几种算法,从而了解内存回收的基本原理。 stop the world 在介绍垃圾回收算法之前,我们需要先了解一个词“stop the world”,stop the world会在 阅读全文