想了半天标题,不知如何是好。时间管理这个主题提及次数太多,道和术也太多,然而找到适合自己的才是最好的。回到问题本身,我们来谈谈时间。时间这个概念理解起来非常复杂。时间是什么?时间是左手腕上手表、墙上挂钟的滴答循环?时间是屏幕上的数字跳跃?时间是沙漏里沙子的流淌?在笔者看来,这些都只是时间的表现形式,是我们人类这样定义时间,赋予时间这样的意义。时间是个相对概念,我们靠万物生长、朝夕日落来感受时间的存在,另外一个不争的事实,我们都在老去。当我们无视时间,感受不到时间的存在,这就是「心流」。一切管理,归根结底都是对自我的管理,工具再多再好也只是辅助。

Read more...


为生产环境数据库提供审计功能是非常重要的,一方面,敏感操作和误操作有据可循,简化运维复杂度;另一方面,提高 DBA 以及相关使用方的风险意识。MySQL 提供了 3 种方式实现审计功能:audit_log.so 插件实现审计(企业版提供)、init-connect 参数 + access_log + binlog 实现审计、general log 记录所有操作。general log 会记录详细的 SQL 执行记录,但是生产环境如果业务量大,会产生大量的磁盘 IO 操作,严重降低数据库性能,所以生产环境一般不会开启 general log。除此之外,我们可以通过 init-connect 参数 + access_log + binlog 的方法进行 MySQL 的操作审计。由于 MySQL binlog 记录了所有对数据库产生实际修改的 SQL 语句、执行时间和 connection_id,但是却没有记录 connection_id 对应的详细用户信息。在后期审计进行行为追踪时,根据 binlog 记录的行为及对应的 connection_id,再加上之前连接记录进行分析,可以得出最后的结论。

Read more...


2017 年 5 月 13 日,应用性能管理大讲堂广州站圆满落幕,其中来自三七互娱的 DBA 温国兵在会场与各位进行了精彩的 Redis 技术分享。Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。如今,互联网业务的数据正以更快的速度在增长,数据类型越来越丰富,这对数据处理的速度和能力提出了更高要求。Redis 是一种开源的内存非关系型数据库,给开发人员带来的体验是颠覆性的。在自始至终的设计过程中,都充分考虑高性能,这使得 Redis 成为当今速度最快的 NoSQL 数据库。考虑高性能的同时,高可用也是很重要的考虑因素。互联网 7x24 无间断服务,在故障期间以最快的速度 Failover,能给企业带来最小的损失。那么,在实际应用中,都有哪些高可用架构呢?架构之间有何优劣?我们应该怎么取舍?有哪些最佳实践?

Read more...


数据库在使用的过程中会随着数据量的增加而需要扩容,一般需要扩容的原因如下:历史数据量增加,磁盘空间不足;计算的数据量增加,计算性能跟不上(CPU 或磁盘 IO 吞吐限制); 网络传输量增加,网卡限制。为了增加计算节点,Greenplum 提供了 gpexpand 扩容脚本。此次扩容遇到不少问题,总结如下:1. Greenplum 服务器不建议运行在非标准 SSH 端口上。2. root 和 gpadmin 用户都需要做 SSH 等效性验证。3. 扩容过程之前检测磁盘空间是否充裕、时间是否同步。4. 扩容过程中如果出现某张表没有分布,需要重新执行 gpexpand -d 60:00:00 -D gpexpand 命令。5. 扩容过程中,注意告警信息,包括 Greenplum 机器负载、流量和进程数。

Read more...


SQLAdvisor 是由美团点评公司北京 DBA 团队开发维护的 SQL 优化工具:输入 SQL,输出索引优化建议。它基于 MySQL 原生词法解析,再结合 SQL 中的 where 条件以及字段选择度、聚合条件、多表 Join 关系等最终输出最优的索引优化建议。目前 SQLAdvisor 在美团公司内部大量使用,较为成熟、稳定。美团点评开源 SQL 优化工具 SQLAdvisor 得到的优化建议比较满意,建议在线上试用一段时间。这个工具的成本在于需要在线上 DB 安装相关依赖,如果确认采用,可以考虑在初始化 DB 服务器时部署此工具。

Read more...