1. 为什么要放弃oracle,采用mysql?
A:oracle属于商业软化,mysql开源,节约成本;另外,互联网大规模应用对扩展性的要求,分布式架构战胜了集中式架构,开源系统战胜了商业系统;
为了解决mysql可能丢数据的问题:数据同步和数据冗余,master-master方案和master-slave机制;以及淘宝对mysql的semi sync做了一些改动;硬件故障是很难避免的,我们要做的是出现硬件故障后,如何实现数据库秒级切换,快速恢复,减少对业务的影响。切换步骤:1)db主备库切换,2)app数据源切换,通过zdatasource来做;
http://wenku.baidu.com/view/5ea43b0aba1aa8114431d972.html
2. TDDL是什么?
TDDL是淘宝数据库体系里非常重要的一个中间件产品。它的功能包括:1.主备库动态切换;2.读写分离;3. 单线程重试;4.集中式数据源信息管理和动态变更等。
Tddl整个产品包括对应用透明的分库分表层 和 具有众多特性的动态数据源,本次先开源动态数据源,下期开源分库分表层。动态数据源的主要特性有:1.数据库主备和动态切换2.带权重的读写分离 3.单线程读重试 4.集中式数据源信息管理和动态变更 5.剥离的稳定jboss数据源 6.支持mysql和oracle数据库 7.基于jdbc规范,很容易扩展支持实现jdbc规范的数据源 8.无server,client-jar形式存在,应用直连数据库 9.读写次数,并发度流控,动态变更 10.可分析的日志打印,日志流控,动态变更这些特性解决了一些数据库使用的基本问题,并且降低了数据库运维的成本. TDDL以jar包的方式部署
http://rdc.taobao.com/team/jm/archives/1642
3. Google大数据的三架马车:GFS,MyReduce,bigTable
谈到分布式系统,就不得不提Google的三驾马车:Google File System(GFS),Mapreduce(Simplifed Data Processing on Large Clusters),Bigtable(A Distributed Storage System for Structured Data)
虽然Google没有公布这三个产品的源码,但是他发布了这三个产品的详细设计论文。而且,Yahoo资助的Hadoop也有按照这三篇论文的开源Java实现:Hadoop对应Mapreduce, Hadoop Distributed File System (HDFS)对应Google fs,Hbase对应Bigtable。不过在性能上Hadoop比Google要差很多
http://blog.sina.com.cn/s/blog_4ed630e801000bi3.html
http://www.cnblogs.com/heshizhu/archive/2011/06/02/2068722.html
以hbase为代表的NosqlDB
4. hive
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
datax测试读mysql 写hdfs:http://blog.csdn.net/moxpeter/article/details/7635540
5. datax
淘宝的数据解决方案:datax - DataX产品说明:http://yangshen998.iteye.com/blog/1336565
DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,由淘宝数据平台部门完成
6. 云梯