数据库索引和高并发架构设计策略
需积分: 0 141 浏览量
更新于2024-06-30
收藏 1.14MB DOCX 举报
"2019面试策略"
索引
索引是数据库中一种重要的数据结构,用于提高数据的检索速度。索引的概念类似于书籍的索引,它允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。
索引的优点
1. 创建唯一性索引,保证数据库表中每一行数据的唯一性
2. 大大加快数据的检索速度,这也是创建索引的最主要的原因
3. 减少磁盘IO(向字典一样可以直接定位)
索引的缺点
1. 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
2. 索引需要占用额外的物理空间
3. 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度
索引的分类
1. 普通索引和唯一性索引
* 普通索引:CREATE INDEX mycolumn_index ON mytable(mycolumn)
* 唯一性索引:保证在索引列中的全部数据是唯一的,CREATE UNIQUE INDEX mycolumn_index ON mytable(mycolumn)
2. 单个索引和复合索引
* 单个索引:对单个字段建立索引
* 复合索引:又叫组合索引,在索引建立语句中同时包含多个字段名,最多16个字段,CREATE INDEX name_index ON userInfo(firstname, lastname)
3. 顺序索引、散列索引、位图索引
高并发
高并发是互联网分布式架构设计中的一种重要概念,用于提高系统的并发能力。主要有两种方式:
1. 垂直扩展(ScaleUp):提升单机处理能力
* 增强单机硬件性能,例如:增加CPU核数、升级更好的网卡、升级更好的硬盘、扩充硬盘容量、扩充系统内存
* 提升单机架构性能,例如:使用Cache来减少IO次数、使用异步来增加单服务吞吐量、使用无锁数据结构来减少响应时间
2. 水平扩展(ScaleOut):增加机器数量,分布式处理请求
负载均衡
负载均衡是互联网分布式架构设计中的一种重要技术,用于将入站流量分配到多个服务器上,以提高系统的并发能力和可用性。常见的负载均衡方式有:
1. 轮询法(Round Robin):将入站流量轮询分配到多个服务器上
2. 随机法(Random):将入站流量随机分配到多个服务器上
3. 最少连接法(Least Connection):将入站流量分配到当前连接数最少的服务器上
4. IP哈希法(IP Hash):将入站流量根据客户端的IP地址分配到多个服务器上
领导选举型
领导选举型是一种分布式系统中的一种常见的设计模式,用于解决多个节点之间的协调问题。在领导选举型中,多个节点之间会选举出一个领导节点,领导节点负责协调其他节点之间的通信和操作。
流量分发
流量分发是互联网分布式架构设计中的一种重要技术,用于将入站流量分配到多个服务器上,以提高系统的并发能力和可用性。常见的流量分发方式有:
1. 轮询法(Round Robin):将入站流量轮询分配到多个服务器上
2. 随机法(Random):将入站流量随机分配到多个服务器上
3. 最少连接法(Least Connection):将入站流量分配到当前连接数最少的服务器上
4. IP哈希法(IP Hash):将入站流量根据客户端的IP地址分配到多个服务器上
2021-11-14 上传
2019-02-19 上传
2019-08-10 上传
2021-11-14 上传
2020-02-27 上传
2019-04-02 上传
滕扬Lance
- 粉丝: 26
- 资源: 304
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载