mysql-数据库架构
数据库
xiaochen1999
这个作者很懒,什么都没留下…
展开
-
数据库架构--mysql基准测试
基准测试是针对系统设置的一种压力测试基准测试:直接、简单、易于比较,用于评估服务器的处理能力压力测试:对真实的业务数据进行测试,获得真实系统所能承受的压力目的:1、建立mysql服务器的性能基准线,确定当前mysql服务器运行情况2、模拟比当前系统更高的负载,以找出系统的扩展瓶颈,增加数据库并发,观察QPS,TPS变化,确定并发量与性能最优的关系3、测试不同的硬件、软件和操...原创 2019-01-16 23:52:49 · 189 阅读 · 0 评论 -
数据库架构--影响数据库性能
1、硬件:Mysql不支持多CPU对同一SQL并发处理web类应用:核心数量比频率重要2、操作系统3、数据库存储引擎的选择MyISAM:不支持事务,表级锁InnoDB:事务级存储引擎,完美支付行级锁,事务ACID特性4、数据库参数配置5、数据库结构设计和SQL语句...原创 2019-01-16 23:52:09 · 227 阅读 · 0 评论 -
数据库架构--高可用
通过缩短因日常维护操作和突发的系统崩溃所导致的停机时间,以提高和应用的可用性1、严重的主从延迟2、主从复制中断3、锁引起的大量阻塞 4、软硬件故障造成的服务器宕机等如何实现高可用1、避免导致系统不可用的因素,减少系统不可用的时间影响因素1、服务器磁盘空间耗尽2、性能糟糕的SQL3、表结构和索引没有优化4、主从数据不一致5、人为的操作失误等解决方案1、建立完善的监控及报警系统2、对备份数据进行恢复...原创 2018-07-07 23:02:43 · 1152 阅读 · 0 评论 -
数据库架构--数据库监控
一、对数据库服务可用性进行监控1、数据库进程或者端口存在并不意味着数据库就是可用的2、通过网络连接到数据库并且确定数据库是可以对外提供服务的3、使用mysqladmin -umonitor_user -p -h ping4、telnet ip db_port5、使用程序通过网络建立数据库连接(最好的方式)6、确认数据库是否可读:检查数据库的read_only参数是否为off定期对主从服务器中的主数...原创 2018-07-06 23:12:19 · 1571 阅读 · 1 评论 -
数据库架构--分库分表
一、分库分表的几种方式1、把一个实例中的多个数据库拆分到不同的实例2、把一个库中的表分离到不同的数据库中二、数据库分片前的准备ps:数据库分区表是在同一个节点进行的1、对一个库中相关表进行水平拆分到不同实例的数据库中2、如何选择分区键2.1、分区键要尽量避免跨分片查询到发生2.2、分区键要尽量使用各个分片中的数据平均3、如何存储无需分片的表3.1、每个分片中存储一份相同的数据3.2、使用额外的节点...原创 2018-07-04 23:30:12 · 201 阅读 · 0 评论 -
数据库架构--SQL查询优化
查询优化,索引优化,库表结构优化需要齐头并进一、如何获取有性能问题的SQL1、通过用户反馈获取存在性能问题的SQL2、通过慢查日志获取存在性能问题的SQL2.1、磁盘IO和存储日志所需要的磁盘空间2.2、存储日志所需要的大量的磁盘空间 slow_query_log 启动停止记录慢查日志set gloal slow_query_log=onslow_query_log_file 指定慢查日志的存储路...原创 2018-07-04 00:02:22 · 264 阅读 · 0 评论 -
数据库架构--索引
类型:B-tree索引,常见的索引(顺序存储)B-tree过引以B+树的结构存储数据B-tree索引能够加快数据的查询速度B-tree索引更适合进行范围查找使用场景:1、全值匹配的查询 order_sn= ‘1234432424242'2、匹配最左前缀的查询3、匹配列前缀查询 order_sn like ‘809090'4、匹配范围值的查询 order_sn > ‘22222223’ ...原创 2018-07-02 23:42:48 · 164 阅读 · 0 评论 -
数据库架构--mysql复制
MySQL复制功能提供分担读负载功能为高可用,灾难恢复,备份提供更多的选择通过二进制日志,将数据库复制到备库中(异步)可以实现不同服务器上的数据分布利用二进制日志增量进行不需要太多的带宽但是使用基于行的复制再进行大批量的更改时,会给带宽带来一定的压力特别是跨IDC环境下进行复制应该分批进行实现数据读取的负载均衡需要其它组件配合完成利用DNS轮询的方式把程序的读连接到不同的备份数据库使用LVS,ha...原创 2018-07-01 22:18:28 · 202 阅读 · 0 评论 -
数据库架构--物理设计
物理设计1、定义数据库、表及字段的命名规范1.1、数据库、表及字段的命名要遵守:可读性原则1.2、数据库、表及字段的命名要遵守:表意性原则 1.3、数据库、表及字段的命名要遵守:长名原则(适度)2、选择合适的存储引擎存储引擎 事务 锁粒度 主要应用 忌用MyISAM 不支持 支持并发插入的表级锁 SELECT,INSERT ...原创 2018-07-01 15:42:28 · 2368 阅读 · 0 评论 -
数据库架构--结构优化
三、数据库结构优化的目的1、减少数据的冗余2、尽量避免数据维护中出现更新,插入和删除异常插入异常:如果表中的某个实体随着另一个实体而存在更新异常:如果更改表中的某个实体的单独属性时,需要对多行进行更新 删除异常:如果删除表中的某一实例则会导致其他实体的消失节约数据存储空间数据库结构设计的步骤 需求分析:1、全面了解产品设计的存储需求2、数据处理需求3、数据的安全性和完整性...原创 2018-07-01 15:40:00 · 472 阅读 · 0 评论