2015年4月10日(咱大北京今个天气不错啊),参加了2015年北京的WOT会议,感触还是有的,想着来这做个笔记,顺便写写自己的想法!
收获最多的是今天(10日)下午,数据库技术与应用专场,干货很多,赞。
1、Percona在美团的实践
之前听到过percona,还有MariaDB,今天这哥们讲了下percona在美团的使用(这些土豪公司还是愿意和敢于去尝试新的东西,所谓的试错吧)。
1)丰富的功能,比如使用set global userstat = on ,可以查看当前实例连接。
2)相应时间。可以查看SQL执行时间分布。
3)监控报警。(比较关心这块,最近就在负责这块)使用percona+zabbix可以实现图表和报警功能。
4)Thread Pool。说是官方的MySQL版本这个东东是要收费的,线程池嘛,说白了,就是缓存数据库连接,按需取来直接用。
5)innodb_deadlocks。可以查看表锁情况。mysql不是也可以吗?好像说是这个可以看上次死锁情况。
6)max_binlog_files。这个让我想起Mongodb的capped collection,就是定容性能。不用关心磁盘会被写爆。
7)xtrabackup。在线热备工具,这个是xtradb的吗,听说xtradb引擎和Innodb有的一拼啊。
8)Toolkit。这里大牛介绍了四个小工具。pt-query-digest、pt-kill、pt-online-schema-change、pt-duplicate-key-checker。这里说下pt-online-schema-change,它主要用于修改大表ddl时不用锁表,比如增删字段等,它的原理是给新数据创建触发器写入新表,再将老数据通过insert
select的方式写入新表。这个有机会可以尝试下。
2、MySQL在58的使用
话说是58的技术委员会成员,架构师,侧重于开发数据库方向。(膜拜大牛)这哥们提的最多的就是用MySQL玩大数据。怎么玩呢?
1)数据库基础知识。分片、复制、分组、路由(range/hash/route-config-server)
2)大数据量常见问题。保证可用性、各种读写比、无缝导库、加字段、扩容等等。
3)可用性=》复制,各种读写比=》针对性设计(比较赞同这个),双写入+追日志,水平切分。
4)如何无缝导库?
a.
如果业务允许,强烈推荐锁表执行。(风险小?简单?快速?)
b.双写导库。我的理解就是导入老数据,打开双写机制,直到数据一致。他提到过从Mongodb导到MySQL,如果数据量大,如何保证数据一致呢?追日志!
5)拆库。这里讲解了4种场景
a.单key,如User表。这个好整,也相对简单,比如uid range就可以了。
b.一对多,如tiezi表。 这个包括uid,tid两个key,他提出的方式是通过tid拆分,并给uid添加tid的分库标识,这样通过user表就可以轻松找到用户发表帖子所在库了。
c.多对多,如friend关系表。(这个没听清楚)
d.多key,如order表。oid、buyer_id、seller_id,这里说是牺牲seller_id查询性能,不做拆分。
6)海量数据下MySQL怎么玩?这里没怎么记录,感触最深的就是,切实于业务需要实现,在技术上实现有损服务,所以,我们做技术,说白了就是服务于业务的,如果不了解业务,是给公司做不好技术的!
比如,跨库实现分页,怎么玩?结合业务,只做上一页和下一页,去掉跳页实现,这样就简化为id>100 limit 100
3、腾讯计费多维化监控体系-鹰眼系统。
因为数据库分会场第三场讲个什么云,就跑来这场会议了(国内出来了很多玩云的公司了,哎!)
这里讲个两个主题:1)实时业务监控(storm)2)变更专项监控(觉得这个很重要,在最早公司,听到最多的就是线上变更出现故障了,所以这个很重要啊)
包括监控体系:
基础监控
应用系统监控
离线任务监控
实时业务监控
变更专项监控
最后一个话题,也是我们准备要做的:基于微信公众号的监控报警及查询。
4、新浪数据库平台备份系统介绍
听了这个哥们Title挺高的,好像是个DBA主管。
备份的意义
第一阶段:满足需求
第二阶段:集中管理
第三阶段:效率与安全
听了这个,让我想起,现在很多小公司,尤其是初创公司,一味的追求一步到位,一开始就高薪挖来所谓的“大牛”,给公司设计和建设所谓的“架构”,到头来本末倒置,架构没建成,连核心业务也失去了竞争优势,最后只能悲悲而归啊。
你们说是平台造就了大牛,还是大牛造就了平台呢?
我觉得是,菜鸟到了平台,平台飞速发展,过程中呢,碰到了很多很多问题,并给一一解决掉了,然后就成了大牛了。所以说,是平台造就了大牛,大牛也造就了平台。
OK,回到正题,这里的备份,这哥们主要聊了下,他们从一开始几十个实例到几千上万个实例过程中,就备份这个点,是如何演变的。记得比较深的是,他们居然没有用到增量备份。有必要吗?哈哈
对了,突然想起早上会场上,印象比较深的一个帅哥,title很高,google美国总部资深架构师,讲了个DI实践(依赖注入),用的JAVA做的示例,面向对象,全部英文PPT,海归就是档次高。
今天就扯这么多了,个人感觉,所谓的WOT会议(第一次参加),包括多了点广告(这个还是能理解滴),但是干货还是有的,有干货就值了。
最后,还是要感谢下51CTO,感谢下大牛,希望WOT越办越好!明天继续!
PS:如果以上有误,希望看到的伙计,帮给指正下,谢了!