1 Equity High o Cash n
h
esearch searchz Szh B Equity % Loan A
C3%
3 Loan D
%search21C Mortgage % Szh 4 Fhaloanrateequitymortgage CE Equity C1% Fhaloanrateequitymortgage F%7 Fhaloanrateequitymortgage C Loan %5 Mortgage C Mortgage %search4%10 High E
%
5searchD Fhaloanrateequitymortgage Loan Equity a Loan e Fhaloanrateequitymortgage s1a Mortgage csearchar Forum t Fhaloanrateequitymortgage e High u
t
msearchrsearchg Rate g Cash Says @ 10-08-24 1:12 pm
@Rebill
考虑到公司机密问题,不便再次透露过都细节,实在抱歉;
应用接口统一后的API并不是在一处以远程服务提供,而是部署到其他应用中,injvm;
对自己写一个中间层提供jdbc访问很感兴趣,不知道这个中间层是否同时实现了缓存等功能?应该不是简单的代理吧。
作为一个几乎可以肯定是国内访问压力最高的互联网应用,对mysql的探索有着标志意义,也让别的架构师在选择mysql作为后端时有了足够的信息,不过共享的信息过少…..
请教一下朝阳大师,像你们在迁移过程中,数据量那是非常巨大的,TB级的肯定。看了BLOG说到也就只停机10分钟,怎么保证迁移的过程是完全平滑过渡的呢。因为你生产库的数据是一直快速增长,在你迁移的过程中肯定也是高速增长的。你在迁移完成前,怎么来保证迁移的数据是完整的呢。有没有什么好点的思路
对于热点数据的迁移,比如现在分库1中的一个用户的数据很平稳,过了段时间,成为热点,那怎么迁移出去呢。有什么可以借鉴的思路不。最近也在做产品线的水平切分,对热点的迁移头都大了
作者去参加SACC2010去了?
@灵猫
不知道你这里有没有注意到,我在文中列出了数据迁移的4个步骤,正是由于使用了文中所说的那4个复杂的步骤,才保证了停机时间非常短。
4个步骤中,是有同时写 Oracle 和 MySQL 这一环节的。
对你与这里提到的热点数据的问题,其实一般都会遇到,我个人觉得主要也就以下这么几种解决方案:
1、考虑合理的拆分规则,让数据在Sharding后尽可能平均,通过拆分规则来避免热点数据带来的影响;
2、如果实在找不到合理的拆分规则来避免热点带来的问题,可以考虑合适的 Cache 规则,起始热点数据更适合 Cache;
3、上面两招还是搞不定,基本上就只能再对热点进行拆分了,呵呵。
请教朝阳大师,你们用的MySQL版本多少呢,或者说你觉得几版本的是比较成熟稳定的。上次参加淘宝的数据库技术论坛,当时MySQL中国研发区的一个人说目前5.5是最稳定的。
还有就是关于MyISAM和InnoDB的选择,什么情况下选择哪个,有什么好的经验吗关于这个的选择,虽然说一般是数据量大的情况选择InnoDB,但是太笼统了。不知道大师有什么思路建议,比如说读多写少的用哪个,写多读少,写多读多,数据量到多少选择哪个比较好
学习呀~~~
自己还是“菜菜”一碟
马上我也要面临对核心业务从O拆迁到M,现在还无头绪。谢谢大师的分享!
朝阳老师。分享很不错,感谢无私的奉献。请问下朝阳老师您几个问题:
1、在第四阶段 数据都在本地磁盘存储是吗?
2、是不是换成集群的MySQL读写之后,写是一份数据,读也是一份数据了。读的数据要从写的数据去同步? 还是读写都在一起,采用集中控制的呢?
3、朝阳老师,各个节点怎么保证HA的呢?
@黄兵
首先,老师这个称呼实在受不起,还是叫我朝阳或者sky比较合适,呵呵。
你这里提到的3个问题,分别如下:
1. MySQL中的数据始终存储在本地磁盘
2. 读写使用的相同的节点,确保数据始终一致,但每个节点都有一个在线热备的节点与之对应,配置成Dual Master
3. 在线的Dual Master节点直接的HA判断由中间应用层确保,当一个节点有异常后,应用连接主动切换到另外的一个备用节点。
您好! 朝阳。 首先感谢您分享这么好的观点! 有个问题请教下您。
1、在第一阶段:•应用接口统一中,提到以服务化的方式统一接口。 服务化应该如何理解呢?
2、服务化是否在JDBC上面一层。在以前的JDBC和应用层之间增加了一层(服务层)。这一层统一了上层应用系统的请求,向JDBC提供了更加有序的API请求?可否这么理解。
3、再想请教下您,服务层怎么去做的呢? 是否是SQL语句和服务化接口的一个映射? 不是很理解服务层是怎样的。
1. 使用传统硬盘的2路 PC Server 基本上一个 MySQL Instance 肯定是可以将硬件资源利用的比较充分的,我们当时也是单实例。如果使用 SSD硬盘或者是 Fusion-IO 的 IODrive 这类高性能 IO 设备的话,CPU 肯定需要配置得比较高端(或者是4路)才能完全发挥出 IO 设备的能力,在这种情况下,如果不是使用 最新的 MySQL版本,建议使用双实例(2个Instance);
2. 这里其实就只有2种选择:“同库不同表名 ” 或者 “同表名不同库”,从开发角度来说,尽量保证SQL语句一致可能会更方便一些,所以我们采用了同表名不同库的方式。