欢迎投稿

今日深度:

数据库学习,数据库

数据库学习,数据库


  • 大规模并发
    • 优化服务器配置
    • 使用负载均衡
    • 数据库结构设计
    • 中间件优化
    • 数据缓存使用
  • 数据库高并发
    • 数据库并发策略
  • 数据库设计建议
    • 表设计的具体问题
    • 查询优化
    • 注意事项
    • 算法优化

大规模并发

当网站有很多人访问的时候,并发量增大,这个时候我们所设计的网站就会遇到挑战。很多本来是没有问题的设计,这个时候可能就会暴露出问题了。

就像宏观物理定理不适合微观一样。
下面是一些优化的建议方法。

优化服务器配置

这个是在硬件上提升服务器,因为任何软件上的优化都是有瓶颈和极限的,所以提高服务器数量和配置是比较简单也很有效的解决办法。假如性能不是很好,那么就保证数量。最好再有一台作为冗余的来保障服务器的故障,提高鲁棒性。

使用负载均衡

这个词在现在很火,因为很多网站都在收集大量的数据,所以数据的并发量也很好。负载均衡是解决集中并发访问的核心技术,也是一种比较有效的方法。

主要设备就是负载均衡服务器,安装负载均衡软件,把大规模用户产生的高并发均衡分流到各个服务器上。

数据库结构设计

这部分内容也很多,一般都是对数据库结构,数据库语句进行优化。下面我会详细写一下数据库的优化方法。

中间件优化

这部分我接触不多,当时也没好好学。
如Apache, IIS, Tomact, WebLogin 这些都是中间件。

数据缓存使用

缓存是把数据库的常用数据用Cache缓存起来,减少服务器重新请求的压力。提高速度。

数据库高并发

数据库高并发的情况,要先找一下瓶颈所在。CPU还是IO还是网络。
所以我们可以有下面的一些解决方案:

  • 提高网络带宽
  • 高性能的数据库服务器和Web服务器
  • 优化分页存取数据
  • 稳定高性能的数据库访问层
  • 优化数据库缓存,多用内存缓存的方式来处理数据
  • 数据库的索引优化
  • 对事务处理的设计要严谨
  • 记录完成的操作日志,容易定位错误。
  • 增加负载均衡服务器
  • 优化前端代码
  • 考虑用压缩方式传输HTML和Javascript代码。

数据库并发策略

数据库设计建议

这里写下我平时学的还有书上的一些知识,关于数据库的一些设计简易。
1. 多表设计。
2. 不要用自增属性作为主键与子表进行关联,不便于系统迁移和恢复。

表设计的具体问题

查询优化

放弃索引会进行全表扫描的操作

  • 对NULL值进行判断。( 默认值为0会改善 )
  • 用!= 或者 <> 操作符
  • 用or链接

注意事项

算法优化

尽量避免使用游标,基于集的方法可能更有效。
建立高效的索引。

大型数据库一般有两种索引:簇索引和非簇索引。

没有簇索引的表是按照堆结构存储的。所数据添加在表的尾部。

一个表只有一个簇索引,数据在物理上是按照簇索引的顺序存储的(B树结构)。提高查询速度。会降低插入更新删除操作的性能。

大致如上。学习笔记。

www.htsjk.Com true http://www.htsjk.com/shujukunews/7602.html NewsArticle 数据库学习,数据库 大规模并发 优化服务器配置 使用负载均衡 数据库结构设计 中间件优化 数据缓存使用 数据库高并发 数据库并发策略 数据库设计建议 表设计的具体问题 查询优化...
评论暂时关闭