Mysql数据库常用分库和分表方式

1 分库

1.1 按照功能分库

按照功能进行分库。常见的分成6大库:

1 用户类库:用于保存了用户的相关信息。例如:db_user,db_system,db_company等。

2 业务类库:用于保存主要业务的信息。比如主要业务是笑话,用这个库保存笑话业务。例如:db_joke,db_temp_joke等。

3 内存类库:主要用Mysql的内存引擎。前台的数据从内存库中查找,速度快。例如:heap。

4 图片类库:主要保存图片的索引以及关联。例如:db_img_index,db_img_res。

5 日志类库:记录点击,刷新,登录等日志信息。例如:db_log_click,db_log_fresh,db_log_login。

6 统计类库:对业务的统计,比如点击量,刷新量等等。例如db_stat。

1.2 安装城市站分库

如果业务遍布全国,在按照功能分库库,每一个城市复制一份一模一样的库,只是库后缀都是城市名称。比如db_log_click_bj,db_log_click_tj,db_log_click_sh;

2 分表

2.1 按照用户或业务的编号分表

对与用户或业务可以按照编号%n,进行分成n表。

例如:笑话表。

tb_joke_01,tb_joke_02,tb_joke_03,tb_joke_04........

2.2 按照日期分表

对于日志或统计类等的表。可以按照年,月,日,周分表。

例如 点击量统计。

tb_click_stat_201601,tb_click_stat_201602,tb_click_stat_201603

3 Mysql数据库常用架构

核心:一主多从,读写分离。

时间: 2024-10-27 03:04:36

Mysql数据库常用分库和分表方式的相关文章

mysql大数据分库和分表 php解决方案!

当Mysql数据量过大时,就会面临压力分解,这时分库分表是一个不错的解决方案,现在我们就来谈谈Mysql如何分库分表比较理想,然后再用php如何调用. 1,主从复制,读写分离 对主库修改数据,查询使用从库.一主多从,来降低数据库读取压力. 2,分库分表 根据实体业务来分库,分表.如,根据数据的活跃性,根据用户uid等. 3,MySQL 不同存储引擎区别 InnoDB 用于数据完整性/写性能要求比较高的应用. MyISAM 适合查询应用. 分表是分散数据库压力的好方法. 分表,最直白的意思,就是将

数据库水平切分的原理探讨、设计思路--数据库分库,分表,集群,负载均衡器

本文转载:http://www.cnblogs.com/olartan/archive/2009/12/02/1615131.html 第1章  引言 数据量巨大时,首先把多表分算到不同的DB中,然后把数据根据关键列,分布到不同的数据库中.库分布以后,系统的查询,io等操作都可以有多个机器组成的群组共同完成了.本文主要就是针对,海量数据库,进行分库.分表.负载均衡原理,进行探讨,并提出解决方案. 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每

关于论坛数据库的设计(分表分库等-转)

关于论坛数据库的设计 文章分类:数据库 一个简单的论坛系统 1:包含下列信息: 2:每天论坛访问量300万左右,更新帖子10万左右. 请给出数据库表结构设计,并结合范式简要说明设计思路. 一. 发帖主题和回复信息存放在一张表,并在这个表中增加user_name字段 对数据库的操作而言,检索数据的性能基本不会对数据造成很大的影响(精确查找的情况下),而对表与表之间的连接却会产生巨大的影响, 特别在有巨量数据的表之间:因此对问题的定位基本可以确定:在显示和检索数据时,尽量减少数据库的连接以及表与表之

你的数据库数据量上亿,为了提高效率,要分库还是分表?具体怎么做 - 开源中国社区

你的数据库数据量上亿,为了提高效率,要分库还是分表?具体怎么做 - 开源中国社区 你的数据库数据量上亿,为了提高效率,要分库还是分表?具体怎么做

MYSQL数据库常用知识整理

Evernote Export MYSQL数据库常用知识整理 什么是MYSQL MYSQL的特性 MYSQL存储引擎的分类以及数据文件的介绍 MYSQL赋权 MYSQL备份与恢复 MYSQL的基本操作:增删查改 MYSQL的基本故障判断与处理 MYSQL的调优 MYSQL主主.主从复制的实现 MYSQL大数据备份和恢复 数据文件的损坏与修复 什么是MYSQL MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.目前MySQL被广泛地应用在Internet上的中

分库、分表

数据分表小结 https://www.cnblogs.com/wangiqngpei557/p/9347232.html 背景 分库.分表带来的后遗症 分表策略 一些注意事项 背景 最近一段时间内结束了数据库表拆分项目,这里做个简单的小结. 本次拆分主要包括订单和优惠券两大块,这两块都是覆盖全集团所有分子公司所有业务线.随着公司的业务飞速发展,不管是存储的要求,还是写入.读取的性都基本上到了警戒水位. 订单是交易的核心,优惠券是营销的核心,这两块基本上是整个平台的正向最核心部分.为了支持未来三到

常见的分表方式 都有哪些,各自的优缺点

下面来分析一下: 一.时间结构 如果业务系统对时效性较高,比如新闻发布系统的文章表,可以把数据库设计成时间结构,按时间分有几种结构: 1) 平板式 表类似: article_200901 article_200902 article_200903 用年来分还是用月可自定,但用日期的话表就太多了,也没这必要.一般建议是按月分就可以. 这种分法,其难处在于,假设我要列20条数据,结果这三张表里都有2条,那么业务上很有可能要求读三次表.如果时间长了,有几十张表,而每张表是0条,那不就是要读完整个系统的

MySQL 数据库常用命令小结

1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 表的详细描述 select 中加上distinct去除重复字段 mysqladmin drop databasename 删除数据库前,有提示. 显示当前mysql版本和当前日期 select version(),current_dat

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.特点: Mysql是开源的,所以你不需要支付额外的费用.Mysql支持大型的数据库.可以处理拥有上千