MySQL多服务器批量执行SQL脚本

3月 10th, 2010 | Posted by | Filed under 程序设计

主要应用场景是,假设我们有一个库DB进行了水平拆分,DB1~10都需要更改表结构,如果手动到各个服务器去执行,效率太低,写了个脚本来做这个事情,叫mybatsql。

用法很简单,需要两个文件,server.list和sql.list,跟脚本放在同一目录下。
server.list中放服务器的主机名/IP,用户名,密码;sql.list中放需要批量执行的SQL
例如:
server.list

127.0.0.1,root,111
127.0.0.2,root,111

sql.list

show status;
show variables;

这两个文件表示,我要在127.0.0.1和127.0.0.2上执行show status;show variables;语句。

也可以通过参数-l/-s指定这两个文件的地址:perl mybatsql.pl -l server_server_file -s sql_file

  mybatsql.pl (4.1 KiB, 1,540 hits)


阅读全文…

数据库的拆分与合并

3月 9th, 2010 | Posted by | Filed under 数据库

数据库每天都承受着数据量的增长,慢慢的我们发现,对数据库得访问变得非常慢了,这个时候,不外乎两种做法:一是增加单机的配置,升CPU升内存升硬盘;二是“脑裂”,把数据库拆成多份分开存放。
第二个思路必然是最终的方案,因为无论如何单机的承受能力是有限的,业务量的增长必然最终还是要走第二条路。
其实拆分,并不是一个难事,按主键水平拆分,按列垂直拆分,操作上都难,最难的问题是发生在合并的时候,尤其是需要排序的时候(数据库的GROUP/DISTINCT也是先排序做的),合并会变得很麻烦。
一个很糟糕的办法是,设置一台排序专用的机器,访问数据库通过这台机器,发现要排序了就在本地排序,把结果转发给客户端。并发量一大,这台排序用的机器就悲剧了。
第二个方法是,我们希望我们从各个分库中拿出的数据,本身就是按我们所要的方式排序的,数据路由只要组装数据即可,不需要再次排序。
这个如何实现呢,来举个例子,假设我们有个社区系统,有一张用户表U(U_ID,Info,Date)三个字段,分别是主键、信息、注册时间。有一张关系表R(U_ID_1,U_ID_2),表示U_ID_1和U_ID_2是朋友。我们经常有这样的需求,想知道某个人有哪些朋友。
假设A和B是朋友,我们就在R表插入2条记录R(A,B),(B,A),为什么要两条呢,数据冗余啦!不错,就是要冗余,冗余可以让后面的工作很Easy。
现在数据量大的惊人,要拆表!
假设业务需求如下:
1. 用户的U.Info查询很少,但是这个部分很长。
2. 经常用U.Date经常被用来排序。
3. 经常要知道某个人有哪些好友。
4. 凡是显示用户都按注册先后排序。
阅读全文…

每周推特 2010-03-09

3月 9th, 2010 | Posted by | Filed under 生活轨迹
  • 没玩过这么好的服务器,还没反应过来就导完数据了 #
  • 加班ing,今天没有晚餐票~哇呜~等待项目发布完吃个KFC去?犹豫中 #
  • 项目发布完成,Oh,Yeah #
  • RT @anyshpm: @plinux 你用什么同步微博?//Twitter Tools #
  • @nzinfo 投资固定建设还能创造一点价值,如果是抄投资品,那就悲剧了,最终要么是价格松动带来抛售,要么是价格超越承受范围无人接盘还是会跌,这样的经济很危险。投资可以刺激经济,抄投资品没什么效果。 in reply to nzinfo #
  • 昨天12点项目发布成功才睡,今天我竟然按时起床了,哈哈~ #
  • PostgreSQL的商业版EnterpriseDB是很有潜力的~ #
  • 分析性能问题不是一门科学,而是一门艺术 #
  • 一激动又买了300多块钱的书,4本MySQL的,1本Perl,要全面深入学习源代码 #
  • 一份投诉信,IDC就乖了 #
  • RT @xuxuzoe: 有没有人跟我一样有文件夹和文件名整理强迫症? {me,too} #
  • LARGE PAGE虽说会减少缺页中断,但是也会带来更多的内存浪费,适合大块数据的随机访问 #
  • 大学学的理论还是有点用得,从操作系统原理来看一些性能数据,就清晰了 #
  • 看完段页式管理和文件系统,大亮啊,睡觉 #

Powered by Twitter Tools

标签:

当国家的经济指标被投资品绑架之后

3月 7th, 2010 | Posted by | Filed under 经济管理

阳哥聊天的时候,突然意识到这个问题。
一个正常的经济体系,经济的增长点应该是在消费上,消费产生需求,需求带动生产,生产产生价值,价值回馈消费者,消费者购买产品,消费用于再生产……这样一个循环是经济良性循环的增长点,经济的增量是依靠生产和消费来互相刺激的,具有很好的可持续性,因为只要有消费,就会有生产,这个作用是循环的,但本质上是消费刺激生产。
但是当一个经济体的主要组成部分是投资品之后,维护经济的增长就只能靠一个手段,投资品不断的升值,否则,经济会迅速下滑。原理很简单,投资品,它必须有投资价值,就是它的价值必然会上涨,如果不满足这个条件,资金就会从这个投资品中撤出,价格就会下跌,这个是连锁反应,在都想止损的情况下,一旦投资品价格下跌成定局,价格下泄速度将不可逆转。
如今中国的经济,就是彻底被投资品绑架了,当房屋从家的作用变成投资的作用,当这件投资品被当做经济的主要增长点,那么,要想经济量增长,就必须维持这件投资品的高位,并且给出上涨的趋势,否则,价值一旦松动,投资者必然转而投资其他有上涨趋势的产品,于是价值继续下跌,带动更多的抛售,抛售引起更大的下跌……进入一个恶性循环。
但投资品的价值总是有一个合理点,一旦远远超出了这个合理点,将无人接盘,没有买家接盘,就会失去市场,结果也是必然引起价值下降,一样的后果。
被投资品绑架的经济,我很担忧。

把自己的小房间收拾好了

3月 7th, 2010 | Posted by | Filed under 随笔日记

昨天我买的书架和从学校快递过来的包裹都到了,晚上就组装了一下,把书整理了一下。
今天晚上再稍微打扫下,呵呵。
硬硬的床板终于有垫子了,厚被子也来了,哈哈~
今天睡得很舒服。

阅读全文…

标签: