MySQL数据库架构方案
MySQL的同步相当简单,但是怎么用好同步,根据业务需求为应用层提供高性能、高可用是一个值得探讨的问题。下面讨论一下几个常见MySQL数据库架构的优缺点。
一、(多)单库结构
这个恐怕是最最简单的一种方案了,完全没有数据一致性问题。最大的缺点是无法容灾,并且只能承受较小的压力,不管压力来自读或者写。不过在分布式数据层解决方案目不暇接的今天,单库结构可以拓展成多单库结构来平分压力。数据库可以从业务上先进行垂直拆分,将关联性较强的表放在一个库中,将数据变化较小的表也放在一个库中;其次是将读写频繁的表进行水平拆分,以某字段值为基础,根据业务需求来选取适当的表路由算法。
(多)单库结构是除了环状结构之外所有复杂结构的基础,只有在此基础上合理分布数据,才能为高性能打好基础。其它数据库结构,只是更好地拓展了(多)单库结构而已。
二、MS结构
MS江湖人称主备结构。优点有两个,读写分离和实时备份。缺点也有两个,数据一致性难以保障和切换麻烦。MS结构非常适合读多写少的应用场景(比如说论坛、博客)。
从容灾的角度讲,主库和备库的一致性一定要保证。数据一致性不用多说,硬件配置和MySQL版本、各种参数配置最好都要一样,这样才能保证出问题时应用程序能够平滑地从主库切换到备库上。但是从性能角度来看,主备不一致某些时候是可以容忍的。比如说,主备库上相同的表有不同的索引。此时将查询条件不同的select语句路由到相应的库上去执行,应用得到结果集的时间将会大大缩短。
三、MM结构
MS的切换是个弱点,而且切换所带来的麻烦会随着备库的增多而逐步上升。不过好在很多应用都不需要多个备库的数据库结构。如果备库只是用来实时备份数据和承担小部分读压力,那么MM结构将会是取代MS结构的不二之选。
MM就是传说中的主主结构。MM结构中的某一个库加了read-only参数,用来确保一个时间点只存在一个可写的数据库。优点是切换迅速,在应用程序足够强壮的前提下,甚至可以做到数据库宕机时应用不停止服务。缺点也很明显,拓展性不如MS结构强。
四、复合结构
在(多)单库结构的时候我已经提到,目前流行的复杂结构数据库全部是以(多)单库结构为基础,将单点替换为MS或MM结构而形成的。
将(多)单库结构进行一定程度的替换,我们就可以获得目前流行的大部分MySQL架构了。
在资金投入有限的情况下,DBA需要在高性能、高稳定、可拓展这三个要素中玩跷跷板。
如何定位这个平衡点,还是要根据企业的现
相关文档:
基本查询
SELECT语句用于查询数据库和SQL中的所有输出操作。
SELECTc_u_name, emailfromcooya_users;
输出cooya_users表中所有行(或记录)的属性c_u_name和email的值。
如果需要所有属性,可以使用星号(*)的快捷方式。
SELECT* from cooya_users;
SELECT语句还可以输出不是数据库中的数据及可以用作简单的计算符 ......
安装后MYSQL5后,发现启动出错.
出错代码:1067
解决办法如下:
删除%windows%/my.ini
删除其它地方的my.ini
在mysql安装目录下把my-small.ini复制为my.ini
在my.ini最后一行插入:
CODE:
[mysqld]
#设置basedir指向mysql的安装路径
basedir=C:\mysql-5.1.11-beta-win32
datadir=C:\mysql-5.1.11-beta-win32\dat ......
MySql简易笔记
1:安装http://download.mysql.cn/src/2006/0710/5543.html;
2:打开mysql的CMD
3:创建一个数据库及表:
mysql> CREATE DATABASE bbs;
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHA ......
俺今天这么激动又想写文章的原因是MySQL5.1的发布带来了设计超强动力数据库的强有力的武器,任何MySQL的DBA都应该尽快学习并使用它。俺觉得如果能很好滴使用这个5.1版带来的新特性,DBA可以使自己管理的VLDB(不知道什么是VLDB?告诉你,是好大好大的数据库的意思,Very Large DB)或数据仓库奇迹般的获得巨大的性能提升。 ......