原文链接:http://www.jianshu.com/p/89311703b320
传统的分库分表
传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都是普通的表和库。
分库
分库的原因
首先,在单台数据库服务器性能足够的情况下,分库对于数据库性能是没有影响的。在数据库存储上,database只起到一个namespace的作用。database中的表文件存储在一个以database名命名的文件夹中。比如下面的employees数据库:
mysql> show tables in employees;
+---------------------+
| Tables_in_employees |
+---------------------+
| departments |
| dept_emp |
| dept_manager |
| employees |
| salaries |
| titles |
+---------------------+
在操作系统中看是这样的:
ls /usr/local/var/mysql/employees
db.opt dept_emp.frm dept_manager.ibd salaries.frm titles.ibd
departments.frm dept_emp.ibd employees.frm salaries.ibd
departments.ibd dept_manager.f