分库分表,读写分离,数据库架构

MySql--数据库设计三范式

一、mysql集群搭建

1、MySQL数据库的几种常见高可用方案
2、MySQL分布式集群搭建

二、分库分表

面试总被问分库分表怎么办?这些知识点你要懂

  • 类型:
    垂直切分:垂直分库、垂直分表
    水平切分:库内分表、分库分表
  • 存数据:
    根据取值范围
    hash取模
  • 产生的问题:
    事务一致性
    分页,排序,join问题
    全局唯一主键
  • 常用中间件:
    sharding-jdbc(当当)
    TSharding(蘑菇街)
    Atlas(奇虎360)
    Cobar(阿里巴巴)
    MyCAT(基于Cobar)
    Oceanus(58同城) Vitess(谷歌)

三、读写分离

  • 读写分离,解决“数据库读性能瓶颈”问题
  • 水平切分,解决“数据库数据量大”问题

1、数据库读写分离架构,为什么我不喜欢
2、数据库读写分离架构实践
3、MySQL读写分离
4、MySQL数据库读写分离、读负载均衡方案选择

四、常见SQL优化策略

为了使SQL高效运行,通常,我们会采用以下策略进行优化:

  • DB存储引擎选择,数据库表设计,字段类型选择等。
  • 写高效的SQL语句。
  • DB配置的优化,如缓冲池的配置等。
  • 数据库索引。
  • 在DB之上加一层缓存。
  • 主从读写分离。
  • 数据库拆分,水平拆分和垂直拆分。
  • 抛弃关系型数据库,转向Hbase等NoSQL数据库。

你可能感兴趣的:(分库分表,读写分离,数据库架构)