数据库架构设计

数据库架构设计

数据库架构的设计分为底层规划和上层规划。底层规划中有I/O的设计、内存的设计、CPU的设计;在上层规划中包括表、事物、编程的设计;如下图所示

image

I/O及磁盘设计

image 

在I/O的设计中主要包括上图中的几部分的设计;

在数据块的设计

在数据块的设计中可以估算一下一条记录所站空间的大小或者在运行一段时间后找到一条记录所占磁盘空间的大小,然后把数据块设置成此值,以减少寻址的时间。

 

磁盘的保护

磁盘的保护一版都会采用RAID技术,可以使用SCSI和IDE两种,RAID又可以是RAID5或RAID0+1形式的,SCSI形式的可以并行存储根据实际情况来使用。

SCSI和IDE的性能对比请看:SCSI RAID与IDE RAID性能对比说明

 

OS格式化标准

关于磁盘的格式化标准,业界一般都认为Solaris 操作系统的文件系统相对比较稳定,NTFS的也不错,自己根据需要来选择。

 

分布式存储

目前分布式存储主要有:NAS和SAN;NAS的优点就是有自己的文件管理系统,并且能够均匀的散落到不同的存储设备上;有关NAS和SAN的区别请看:

NAS和SAN存储和恢复技术介绍

 

数据库分区

数据库的分区有分区、分库等策略,分区策略可以根据1G的磁盘有多少数据来切分DB文件,经验数据时100万数据有1G的大小;分库策略可以根据以下几点来分

  1. 时间:比如博客访问时间,在黄金时间的数据可以分库
  2. 读、写:可以做读、写分离,读写分离也消除了数据库的事务锁
  3. 业务:可以按照业务的使用频度分库
  4. 角色:按照系统的角色的行为来分库

数据库的切割最好是能够让数据块均匀的分布在磁盘和分区上。

原文地址:https://www.cnblogs.com/HeroBeast/p/1792955.html