再论主键(一)
关于主键本来一直觉得这没什么好说的,很简单的内容,也没怎么太在意并强调。但最近在看了公司的数据库设计之后,发现问题还真不小。[@more@]在公司所有的数据库设计中,每个表都定义一个ID列作为主键 int类型,该列采用自增或者使用sequence。问其原因,答曰“主键要具有业务无关性”。同时baidu一把,乖乖不得了,网上铺天盖地的文章在强调主键一定要与业务无关。看看好几篇文章写的内容应该是工作了一定时间后才有的心得。我在给别人讲技术内容的时候总是喜欢先讲基础理论,然后讲应用。很多人不喜欢看基础理论,认为基础理论没什么用。
自己写的DB2->mysql复制程序初测完成,发个帖庆祝一下
目的很简单就是要实现读写分离,目前用的是sql复制和Q复制。一直想实现从DB2复制到mysql,可目前商业的软件可选择的不多,我只知道GoldenGate可以,目前已经被Oracle收购了,收费挺高,而且license跟机器绑定,NND想盗版都不行。大规模使用价格不菲,背离了目标之一成本。最后打算自己写程序实现,可咱是运维出身,以前学的编程知识都忘的差不多了,每次申请个开发的兄弟,总是说人手紧张,暂时不行。有开会讨论的时间,活都能干完了。一硬头皮自己来。到今天差不多2个月,除去其他活,写程序有一个月多时间,还好今天测试比较顺利。第一期
一个自己写的展示db2 正在执行的应用信息的工具
相信用过mysql的db2er们都会对mysql的processlist功能印象深刻,反正我是这么感觉的。非常简单但很直观。跟db2,oracle等商业数据库比mysql提供可监控的指标及相应信息等非常少,但就是这么少的东西反而被理解的很深刻应用的很好。相比之下DB2提供了如此之多的可供参考的信息,但我们db2er们又理解了多少呢?这方面真应该跟mysql DBA们多学习一下。 [@more@]工具下载:sqllist_fu废话不多说了,本来初衷是在DB2上打算写一个与mysql的processlist相似的工具,但考虑到db2上的链接动辄几百乃至上千个,都显示不直观并且对问题诊断意义也不太