美文网首页
数据库优化

数据库优化

作者: 秦汉邮侠 | 来源:发表于2016-08-02 21:58 被阅读43次

总体思路

  • 客户端(1):优化客户端的应用,做Sql优化,看看是否有不必要的压力给了数据库(应用优化),难度指数低,改进效果不明显
  • 服务端(2):读写分离,难度指数低,改进效果不明显
  • 服务端(3):看看有没有其他办法可以降低对数据库的压力,例如引入缓存、加搜索引擎等,难度指数中等,改进效果明显,10G-100GB的 数据,完全无压力
  • 服务端(4):把数据库的数据和访问分到多台数据库上,分开支持,分为垂直分割和水平分割,难度指数大,改进效果明显,适合TB级的数据量

方法3

  • 加入缓存或者搜索引擎
  • 缓存和队列:缓存是降低数据库读取量的出色技术。有许多应用使用这种技术可以降低数据库读负载高达80-95%。与之相对的是队列,它是用来优化写操作的。通过合并多次写操作,提高了对数据库操作的效率。大部分大型应用都应该重点考虑这两种技术。Memcached和Redis是MySQL领域非常流行的两种缓存技术。对于队列,最流行的技术是ActiveMQ和RabbitMQ,以及较新的kafka
  • 外部支持技术:MySQL在很多方面都很出色,但也不是所有方面都强。如果你需要高性能全文检索,应该考虑ElasticSearch、Sphinx或者Lucene。如果你想做大规模数据分析,可以考虑基于Hadoop的基础架构或者Vertica也是不错的选择。你应该让MySQL处理它擅长的事,把其它事留给外部支持工具来做

方法4

  • 垂直分割和水平分割
  • 垂直分割:把一个数据库中不同业务单元的数据分到不同的数据库里面
  • 水平分割:根据一定的规则把同一业务单元的数据拆分到多个数据库中
  • 垂直分割和水平分割的理解
  • 分片不是万能药,使用分片的场景
  • 对垂直分割和水平分割都有的影响:
  • 单机的ACID保证被打破了
  • Join操作被影响
  • 依靠外键去进行约束的场景会有影响
  • 另外对于水平分割的影响:
  • 依靠单库的自增序列生成唯一ID 会受影响
  • 针对单个逻辑意义上的表的查询要跨库

相关文章

  • zabbix优化之进阶版

    官网调优 1. 数据库优化 1.设置数据库分区优化,buffer优化,hash优化, 说明:数据库分区优化的优点:...

  • 数据库存储原理特性索引优化

    说一下mysql数据库存储的原理? 事务的特性? 数据库索引 数据库怎么优化查询效率? 数据库优化方案 优化索引、...

  • MySQL优化

    数据库SQL优化大总结之 百万级数据库优化方案

  • 数据库索引创建与优化

    对于数据库的优化主要包括三个部分:查询优化、索引优化和字段类型优化,其中,索引优化则是数据库优化的重中之重。一个查...

  • 数据库调优

    数据库优化

  • 如何设计一个高并发的系统

    数据库的优化,包括合理的事务隔离级别、SQL语句优化、索引优化 使用缓存、尽量减少数据库IO 分布式数据库、分布式...

  • Web性能优化常见技巧

    阶段一:访问网页地址 阶段二:发出请求:http请求优化 阶段三:访问数据库 (SQL数据库优化)后端优化 阶段四...

  • MySql数据库的优化--数据库设计上的优化

    Mysql数据的优化分为两个部分,一个是数据库设计上的优化,另一个是数据库执行时的优化。 数据库设计上的优化 有些...

  • MySQL数据库优化的这几种方式你都知道吗?

    数据库优化涉及到方方面面的知识,每种数据库的架构,优化方式也都有着很大的差异,如果想做好数据库优化要了解数据库的技...

  • mysql数据库优化 摘要

    数据库优化 sql语句优化 索引优化 加缓存 读写分离 分区 分布式数据库(垂直切分) 水平切分 MyISAM和I...

网友评论

      本文标题:数据库优化

      本文链接:https://www.haomeiwen.com/subject/yatslttx.html