数据库架构设计

数据库架构设计

数据库架构设计是为了满足数据存储和访问的需求,并确保数据的完整性、一致性和安全性。在设计数据库架构时,需要考虑以下几个方面:
数据的结构和关系:数据库架构需要对数据进行分类和组织,并确定不同数据之间的关系,以便于快速、准确地检索和处理数据。

数据的访问方式:需要根据应用程序的需要,选择适当的数据访问方式,如关系型、文档型、键值型、列族型等不同类型的数据库。

数据的存储和管理:数据库架构需要考虑数据的存储和管理方式,包括数据的分区、备份、恢复、加密、压缩等,以确保数据的安全性和可靠性。

数据的性能和扩展性:数据库架构需要考虑数据的访问性能和扩展性,包括缓存、索引、分片、负载均衡、集群等技术,以满足高并发、大数据量和高可用性的需求。

数据的权限和安全:数据库架构需要考虑数据的访问权限和安全控制,包括用户认证、授权、审计、加密等,以确保数据的隐私和保密性。

访问量上来了,SQL操作自然也就多了,单台数据库读性能到达瓶颈,响应很慢;业务读多写少,需要提升读性能,考虑扩展数据库架构

  • 一主多从
    基于binlog异步复制,多个从库同步主库
  • 读写分离
    a) 代码逻辑层区分读写库。
    b) 使用中间件代理,对SQL解析区分处理;开源主流的有: Atlas、MyCat等
  • 分库、分表、分区
    分库:根据业务类型分离相关表到不同数据库:例如WEB、BBS、Bloa等.
    分表:单个表上千万条记录,操作耗时长,采用垂直拆分和水平拆分,将数据分散存储到不同小表上
    分区:根据表字段分成多个区块,这些区块可以分布在不同磁盘上
    以上主要是分散磁盘I/O压力,提高处理性能。
  • 从库四层负载均衡
    当多个从库时,采用LVS实现负载均衡,对程序提供VIP,访问透明.
  • HA
    主库和从库LB: Keepalived

数据库架构设计_第1张图片

你可能感兴趣的:(数据库架构,数据库)