芋道源码---数据库实体设计 | 数据库设计 | 数据库架构设计的三种模式:share nothing , share everythong , share disk |
---|
冷门又重要的6个技巧,高并发数据库优化,架构师一定要掌握 |
---|
微服务手册:分库分表从分析到实践,不再停留只会说分库分表 | redis的7种类型100个方法全解析 |
---|
Database Design Course - Learn how to design and plan a database for beginners |
---|
SQL Tutorial - Full Database Course for Beginners | 自学SQL---good |
---|
动态数据源例子---基于springboot的快速集成多数据源的启动器 已付费 |
---|
常用数据库建模工具 | 关于电商网站数据库的设计 | 研发库表设计规范 |
---|
超给力,一键生成数据库文档-数据库表结构逆向工程 | 一文快速入门分库分表(必修课) |
---|
- 数据库概述
- 数据库设计
- 一步步带你了解分布式数据库的架构演变之路
- 支撑百万并发的数据库架构如何设计?
- 需求建模
- 需求分析---就是要明确系统的数据存储需求
- 概念设计
-
- E-R图
-
- 表结构设计
- 2.1 表结构设计工具
- MySQL workbench
- Navicat
- phpMyAdmin
-
- 列的约束,限制
-
- 索引的设计
-
- 关系数据库
- NoSQL数据库
- 内存数据库
- Redis---内存数据库,redis只支持kv不支持sql
- Apache Ignite---内存数据库,数据网格,计算网格,服务网格,sql网格,数据结构,流计算,文件系统,高级集群等模块,都是放在内存操作
- sqlite---内存sql数据库,但不支持分布式
- NON-SQL Database
- K-V存储---解决关系数据库无法存储数据结构的问题,以Redis 为代表
- 文档数据库---解决关系数据库强schema 约束的问题,以MongoDB 为代表
- 列式数据库: 解决关系数据库大数据场景下的I/O 问题,以HBase 为代表
- 全文搜索引擎:解决关系数据库的全文搜索性能问题,以Elasticsearch 为代表
- Memcache
- 图数据库 Neo4j
- 内存数据库
- Distribute Database
- Cloud Database
- Database Tools
数据库的高性能方案有:优化当前数据库,和建立集群。 当数据库开始出现性能下降的时候,最优先的方案是:优化当前数据库的性能,而非立刻建立集群。应该保持简单原则,毕竟会增加很大复杂度。
对于数据量不是很大,关联性不是很复杂的数据,可以使用传统的关系数据库,如MySQL或者Oracle。对于数据量较大,更新不是很频繁的数据,可以使用MongoDB等NoSQL数据库。对于一些关系复杂,关联比较多的数据,则可以使用图数据库,如Neo4j等。这样针对不同的业务特性,使用合适的数据库
1.当前数据库优化策略:
建立索引 优化sql 使用效率更高的操作方式。如大量数据批量插入。
2.建立集群:
读写分离 从库的负载均衡 分片、分库、分表(sharding)
3.mysql集群搭建方案:
使用官方推荐:Mysql Cluster方案 使用mysql中间件atlas方案 其他集群方案