何为云数据库之云数据库产品的特点

三月 12, 2013 by · Leave a Comment 

何为云数据库

导读

当下国内环境,“云”等同于“骗”,但鉴于文章篇幅的限制,只探讨何为云数据库、云数据库产品的特点和重要性。

l  何为云数据库

 

云数据库是一种基于云的数据存储,提供数据的变更、查询、计算服务,对应用程序而言只需要提交一个数据库连接字符串即可访问的服务,且云数据库的用户不能直接控制运行原始数据库的主机。 Read more

原创文章,转载请注明: 文章地址何为云数据库之云数据库产品的特点

master_pos_wait函数与MySQL数据库主从复制切换

十月 9, 2012 by · 2 Comments 

背景

  主从切换是高可用MySQL架构的必要步骤(即使用不发生,也要有备无患)。一般设置为双M(M1、M2),假设当前状态为写M1,而M2只读,切换的大致流程如下:

1、  停止应用写M1,将M1设置为只读
2、  检查M2的slave status直到赶上M1
3、  将M1设置为可写

其中在第2步细化为
a)       在M1上show master status;得到binlog位置P,因为已经设为只读,不会变化 Read more

原创文章,转载请注明: 文章地址master_pos_wait函数与MySQL数据库主从复制切换

全球级的分布式数据库 Google Spanner原理

九月 20, 2012 by · 5 Comments 

Google Spanner简介

Spanner 是Google的全球级的分布式数据库 (Globally-Distributed Database) 。Spanner的扩展性达到了令人咋舌的全球级,可以扩展到数百万的机器,数已百计的数据中心,上万亿的行。更给力的是,除了夸张的扩展性之外,他还能同时通过同步复制和多版本来满足外部一致性,可用性也是很好的。冲破CAP的枷锁,在三者之间完美平衡。

Spanner是个可扩展,多版本,全球分布式还支持同步复制的数据库。他是Google的第一个可以全球扩展并且支持外部一致的事务。Spanner能做到这些,离不开一个用GPS和原子钟实现的时间API。这个API能将数据中心之间的时间同步精确到10ms以内。因此有几个给力的功能:无锁读事务,原子schema修改,读历史数据无block。 Read more

原创文章,转载请注明: 文章地址全球级的分布式数据库 Google Spanner原理

Transfer在MySQL数据库双主同步架构中的应用

九月 5, 2012 by · 1 Comment 

有同学讨论到Transfer能否支持双主结构,答案是支持的,这里简要描述下。

背景

       Transfer既可以当作主从库之外的工具来用,也可以本身充当slave的角色。本文分别描述在这两种使用场景下的部署结构和切换动作。 

Slave模式

a)      结构

这个就是最简单的双主啦,Transfer呢?代码直接写到这两个Master里面啦,所以他们就是Transfer. Read more

原创文章,转载请注明: 文章地址Transfer在MySQL数据库双主同步架构中的应用

MySQL多线程同步MySQL-Transfer介绍

七月 8, 2012 by · 2 Comments 

一、关于Transfer

MySQL-Transefer(下称Transfer)是一个基于MySQL+patch后得到的主从同步工具。
其主要目的是为了解决原生版本的主从同步里,从库是单线程apply主库的binlog,导致的延迟。

最近完成测试的版本将multi-master (by P.Linux)合并到Transfer中并针对支付宝的应用需求做了定制性能改进。

这里做一个已经完成的完整功能介绍。 Read more

原创文章,转载请注明: 文章地址MySQL多线程同步MySQL-Transfer介绍

弃用NoSQL数据库 CouchDB再见了

五月 17, 2012 by · 1 Comment 

【导读】

2012年5月10日,Sauce Labs公司的首席架构师Steven Hazel,写了一篇关于弃用NoSQL数据库CouchDB产品,介绍他们将Couch数据库的数据迁移到MySQL数据库平台中。

在Sauce Lab(酱油实验室)里,我们刚刚庆祝完成一个重大项目—将最后的CouchDB数据库转变为MySQL数据库,以提高服务正常运行时间和可靠性。 由于大部分无故停机的是由于CouchDB数据库宕机引起的,因此完成这种迁移是我们一个重要的里程碑。

CouchDB数据库开始时,是一个非常宝贵的经验,在1.2版本时它的可靠性还是可以的。 但我们的服务对可靠性要求非常高,于是最终决定:这种转变是前进中最有效的方式。

一旦决使用MySQL(具体而言,是Percona的基于InnoDB存储引擎的XtraDB存储引擎,),我们就重构了数据库抽象层,并迁移了所有各种类型的数据库。 在过去几个月,迁移完成后,我们的服务正常运行时间大大提高了。

这篇文章介绍了我们使用CouchDB数据库的经验,以及在哪里遇到了麻烦。我也谈了这方面的经验,如何影响了我们对NoSQL数据库的整体观点,以及在熟悉了NoSQL数据库后,如何积极权衡对MySQL数据库的安装配置。

Read more

原创文章,转载请注明: 文章地址弃用NoSQL数据库 CouchDB再见了

系统设计黄金法则 简单之美

四月 25, 2012 by · 2 Comments 

系统设计黄金法则 简单之美

 

作者:包云岗 (baoyungang@gmail.com)

最近多次看到系统设计与实现的文章与讨论,再加上以前读过的其他资料以及自己的一些实践教训,让我觉得应该把这些资料汇总整理一下。如果要从讨论不同系统的众多资料中总结一条黄金法则的话,那只有一个词——“简单”;如果用一个英语单词来表达的话,那就是——KISS (Keep It Simple, Stupid!)。

1.       麻省理工方法与新泽西方法(MIT Approach vs. New Jersey Approach) 【1】【2

Read more

原创文章,转载请注明: 文章地址系统设计黄金法则 简单之美

MySQL Cluster 与 MongoDB 复制群集分片设计及原理

四月 5, 2012 by · 5 Comments 

分布式数据库计算涉及到分布式事务、数据分布、数据收敛计算等等要求

分布式数据库能实现高安全、高性能、高可用等特征,当然也带来了高成本(固定成本及运营成本),我们通过MongoDB及MySQL Cluster从实现上来分析其中的设计思路,用以抽象我们在设计数据库时,可以引用的部分设计方法,应用于我们的生产系统

 首先说说关系及非关系数据库的特征

 MySQL的Innodb及Cluster拥有完整的ACID属性

A 原子性  整个事务将作为一个整体,要么完成,要么回滚

C 一致性 事务开始之前和事务结束以后,数据库的完整性限制没有被破坏 Read more

原创文章,转载请注明: 文章地址MySQL Cluster 与 MongoDB 复制群集分片设计及原理

Twitter开源的通用性数据切分中间件Gizzard

十二月 6, 2011 by · 1 Comment 

Gizzard是Twitter在11年4月份新推出的一个通用数据切分中间件,在Twitter的架构中占用重要的作用。

从图中看到Gizzard主要用于在MYSQL之上,作用是实现数据切分。但目前据说 Gizzard最主要的作用在用于在memcache和redis上。众所周知,memcache和redis本身缺少(或者实现较弱)主从同步机制。在 这里Gizzard的作用就不仅仅是数据切分,还有备份多写、异常队列等多项功能。
Read more

原创文章,转载请注明: 文章地址Twitter开源的通用性数据切分中间件Gizzard

又拍网技术架构中的分库设计

十一月 30, 2011 by · 4 Comments 

又拍网是一个照片分享社区,从2005年6月至今积累了260万用户,1.1亿张照片,目前的日访问量为200多万。5年的发展历程里经历过许多起伏,也积累了一些经验,在这篇文章里,我要介绍一些我们在技术上的积累。
Read more

原创文章,转载请注明: 文章地址又拍网技术架构中的分库设计

Next Page »

知识共享许可协议
作品采用知识共享署名 2.5 中国大陆许可协议进行许可。