(1) 一定要区分业务类型,可能达到千万用户级别的应用业务场景,可归类描述为: SNS社交平台、SNS社交游戏、即时通信IM系统、电子商务、邮件系统、新闻门户网站等,这些不同类型的业务场景做法会不一样,主要是由他们业务性质决定,后续分析项中逐一描述;
(2) 应用业务的核心KPI数值,产品每天的日活跃用户量大概多少?若是网站类型应用,还需要加入其他参数PV,UV等数据辅助决策,即时通信IM的消息量,邮件系统的新增邮件数,SNS社交平台的Feeds量等核心数据;
(3) 系统中每个用户可能产生的数据量大概多大,分固定部分,以及动态部分的方式统计分析,对非固定部分以参考值和结合实践跨度(注释:1年为硬性指标,2年为预期,3年可选,再长的时间段不考虑)的方式进行分析,然后预测出整个系统的用户锁产生的数据条数和数据容量大概的估值;
架构的话有很多尝试,传统的Oracle和 Postgre用的比较广泛, 很多架构在此基础上同时应用 NoSQL。因为大多数LBS并不涉及更复杂的空间数据存储,例如多边形或者三维数据,因此,大多数generic的数据库架构都可以应用。但是,从产品核心的设计以及发展来看,如果像FourSquare(4SQ)进行数据挖掘并提供收费的数据分析服务,那么基于空间的利用文件数据结构,以空间POI为基础的NoSQL,是比较好的选择。除了其他人介绍的很多LBS,比如街旁和4SQ,应用的Mongo DB, 还有Couch DB, 根据之前来讲课的澳洲政府的一个大型空间数据库项目(集成了多种现有的空间数据库)的构架师介绍,这个项目应用了Couch DB。虽然理论上Graphic的NoSQL对于存储空间数据也有很大优势,但是毕竟相对不成熟,所以实际应用中的NoSQL还是以doc结构的Mongo和Couch为主。
如何提高命中率关键是对存储的空间数据认识程度和对用户query的类型的统计分析,并在此基础上开发出适合的算法,建立缓存或者对传统的空间索引进行组合,例如应用一些refine-filter策略。空间数据的索引与传统的索引不同,但是又部分基于传统索引的基础之上的。这里只介绍一些简单的空间索引入门算法,最后简单谈一下缓存建立的策略。
数据库优化是系统工程,性能的提升靠整体。本课程将面面俱到的讲解提升数据库性能的各种因素,让你在最短的时间从小白到资深,将数据库整体架构了然于胸
第1章 实例和故事 试看7 节 | 50分钟
决定电商11大促成败的各个关键因素。
收起列表
视频:1-1 什么决定了电商双11大促的成败 (04:04)试看
视频:1-2 在双11大促中的数据库服务器 (06:03)
视频:1-3 在大促中什么影响了数据库性能 (07:55)
视频:1-4 大表带来的问题 (14:13)
视频:1-5 大事务带来的问题 (17:27)
作业:1-6 讨论题在日常工作中如何应对高并发大数据量对数据库性能挑战
作业:1-7 讨论题在MySQL中事务的作用是什么?
第2章 什么影响了MySQL性能 试看30 节 | 210分钟
详细介绍影响性能各个因素,包括硬件、 *** 作系统等等。
收起列表
视频:2-1 影响性能的几个方面 (04:08)试看
视频:2-2 CPU资源和可用内存大小 (10:54)
视频:2-3 磁盘的配置和选择 (04:44)
视频:2-4 使用RAID增加传统机器硬盘的性能 (11:30)
视频:2-5 使用固态存储SSD或PCIe卡 (08:35)
视频:2-6 使用网络存储SAN和NAS (07:16)
视频:2-7 总结:服务器硬件对性能的影响 (03:27)
视频:2-8 *** 作系统对性能的影响-MySQL适合的 *** 作系统 (03:50)
视频:2-9 CentOS系统参数优化 (11:43)
视频:2-10 文件系统对性能的影响 (03:29)
视频:2-11 MySQL体系结构 (05:29)
视频:2-12 MySQL常用存储引擎之MyISAM (13:23)
视频:2-13 MySQL常用存储引擎之Innodb (10:44)
视频:2-14 Innodb存储引擎的特性(1) (15:24)
视频:2-15 Innodb存储引擎的特性(2) (08:44)
视频:2-16 MySQL常用存储引擎之CSV (09:19)
视频:2-17 MySQL常用存储引擎之Archive (06:08)
视频:2-18 MySQL常用存储引擎之Memory (10:40)
视频:2-19 MySQL常用存储引擎之Federated (11:21)
视频:2-20 如何选择存储引擎 (04:33)
视频:2-21 MySQL服务器参数介绍 (08:04)
视频:2-22 内存配置相关参数 (09:24)
视频:2-23 IO相关配置参数 (10:01)
视频:2-24 安全相关配置参数 (06:13)
视频:2-25 其它常用配置参数 (03:41)
视频:2-26 数据库设计对性能的影响 (04:36)
视频:2-27 总结 (01:32)
作业:2-28 讨论题你会如何配置公司的数据库服务器硬件?
作业:2-29 讨论题你认为对数据库性能影响最大的因素是什么
作业:2-30 讨论题做为电商的DBA,建议开发选哪种MySQL存储引擎
第3章 MySQL基准测试8 节 | 65分钟
了解基准测试,MySQL基准测试工具介绍及实例演示。
收起列表
视频:3-1 什么是基准测试 (02:20)
视频:3-2 如何进行基准测试 (09:00)
视频:3-3 基准测试演示实例 (11:18)
视频:3-4 Mysql基准测试工具之mysqlslap (13:30)
视频:3-5 Mysql基准测试工具之sysbench (11:07)
视频:3-6 sysbench基准测试演示实例 (17:11)
作业:3-7 讨论题MySQL基准测试是否可以体现出业务系统的真实性能
作业:3-8 实 *** 题参数不同取值对性能的影响
第4章 MySQL数据库结构优化14 节 | 85分钟
详细介绍数据库结构设计、范式和反范式设计、物理设计等等。
收起列表
视频:4-1 数据库结构优化介绍 (06:52)
视频:4-2 数据库结构设计 (14:49)
视频:4-3 需求分析及逻辑设计 (11:00)
视频:4-4 需求分析及逻辑设计-反范式化设计 (06:44)
视频:4-5 范式化设计和反范式化设计优缺点 (04:06)
视频:4-6 物理设计介绍 (05:17)
视频:4-7 物理设计-数据类型的选择 (18:59)
视频:4-8 物理设计-如何存储日期类型 (13:37)
视频:4-9 物理设计-总结 (02:37)
图文:4-10 说明MyISAM和Innodb存储引擎的5点不同
作业:4-11 讨论题判断表结构是否符合第三范式要求如不满足要如何修改
作业:4-12 实 *** 题请设计一个电商订单系统的数据库结构
作业:4-13 讨论题以下那个字段适合作为Innodb表的主建使用
作业:4-14 讨论题请为下表中的字段选择合适的数据类型
第5章 MySQL高可用架构设计 试看24 节 | 249分钟
详细介绍二进制日志及其对复制的影响、GTID的复制、MMM、MHA等等。
收起列表
视频:5-1 mysql复制功能介绍 (04:58)
视频:5-2 mysql二进制日志 (22:05)
视频:5-3 mysql二进制日志格式对复制的影响 (09:37)
视频:5-4 mysql复制工作方式 (03:08)
视频:5-5 基于日志点的复制 (20:06)
视频:5-6 基于GTID的复制 (22:32)
视频:5-7 MySQL复制拓扑 (13:58)
视频:5-8 MySQL复制性能优化 (09:23)
视频:5-9 MySQL复制常见问题处理 (08:31)
视频:5-10 什么是高可用架构 (14:09)
视频:5-11 MMM架构介绍 (08:09)
视频:5-12 MMM架构实例演示(上) (09:16)试看
视频:5-13 MMM架构实例演示(下) (18:55)
视频:5-14 MMM架构的优缺点 (08:01)
视频:5-15 MHA架构介绍 (10:02)
视频:5-16 MHA架构实例演示(1) (13:11)
视频:5-17 MHA架构实例演示(2) (16:54)
视频:5-18 MHA架构优缺点 (05:14)
视频:5-19 读写分离和负载均衡介绍 (11:42)
视频:5-20 MaxScale实例演示 (18:25)
作业:5-21 讨论题MySQL主从复制为什么会有延迟,延迟又是如何产生
作业:5-22 实 *** 题请为某互联网项目设计9999%MySQL架构
作业:5-23 讨论题如何给一个已经存在的主从复制集群新增一个从节点
作业:5-24 讨论题给你三台数据库服务器,你如何设计它的高可用架构
第6章 数据库索引优化8 节 | 65分钟
介绍BTree索引和Hash索引,详细介绍索引的优化策略等等。
收起列表
视频:6-1 Btree索引和Hash索引 (20:09)
视频:6-2 安装演示数据库 (01:19)
视频:6-3 索引优化策略(上) (17:33)
视频:6-4 索引优化策略(中) (13:02)
视频:6-5 索引优化策略(下) (12:30)
作业:6-6 讨论题一列上建立了索引,查询时就一定会用到这个索引吗
作业:6-7 讨论题在定义联合索引时为什么需要注意联合索引中的顺序
作业:6-8 实 *** 题SQL建立索引,你会考虑那些因素
第7章 SQL查询优化9 节 | 62分钟
详细介绍慢查询日志及示例演示,MySQL查询优化器介绍及特定SQL的查询优化等。
收起列表
视频:7-1 获取有性能问题SQL的三种方法 (05:14)
视频:7-2 慢查询日志介绍 (08:57)
视频:7-3 慢查询日志实例 (08:27)
视频:7-4 实时获取性能问题SQL (02:21)
视频:7-5 SQL的解析预处理及生成执行计划 (16:02)
视频:7-6 如何确定查询处理各个阶段所消耗的时间 (09:35)
视频:7-7 特定SQL的查询优化 (10:34)
作业:7-8 讨论题如何跟据需要对一个大表中的数据进行删除或更新
作业:7-9 讨论题如何获取需要优化的SQL查询
第8章 数据库的分库分表5 节 | 48分钟
详细介绍数据库分库分表的实现原理及演示案例等。
收起列表
视频:8-1 数据库分库分表的几种方式 (04:34)
视频:8-2 数据库分片前的准备 (13:53)
视频:8-3 数据库分片演示(上) (11:40)
视频:8-4 数据库分片演示(下) (17:02)
作业:8-5 讨论题对于大表来说我们一定要进行分库分表吗
第9章 数据库监控7 节 | 29分钟
介绍数据库可用性监控、性能监控、MySQL主从复制监控等
收起列表
视频:9-1 数据库监控介绍 (04:46)
视频:9-2 数据库可用性监控 (07:20)
视频:9-3 数据库性能监控 (09:39)
视频:9-4 MySQL主从复制监控 (06:16)
作业:9-5 讨论题QPS是否可以真实的反映出数据库的负载情况
作业:9-6 讨论题如何正确评估数据库的当前负载状况
作业:9-7 实 *** 题开发一个简单监控脚本,监控mySQL数据库阻塞情况
BI的数据仓库的架构主要有星型和雪花型两种方式。
星型架构:一种使用关系数据库实现多维分析空间的模式,称为星型模式。星型模式的基本形式必须实现多维空间,以使用关系数据库的基本功能。
雪花架构:当星型模式的维度需要进行规范化时,星型模式就演进为雪花模式。
比如商业智能FineBI的FineCube,高性能列式存储的文件型数据库,因为采用MOLAP的形式,在大数据处理方面有不错的支撑,数据处理能力强。
1、Client/Server架构简析Client/Server是随着PC性能的和关系数据库的发展,在大型机(Framework)之后兴起的应用软件技术架构
Client/Server架构由后台的关系数据库服务器和前台的用户程序构成
每个用户前端都需要安装可执行程序
在C/S架构中,每个前端可执行程序需要与后台服务器建立固定的数据连接(Connection)
由于需要建立固定的数据连接,并且相对数据传输量较大,C/S架构的程序一般应用在高速局域网(LAN)内
Client/Server架构的优点是实现简单,在本地访问速度快,不足之处在于不适应远程应用,并且部署和升级工作量大
2、Application/Server架构简析Application/Server是一种过渡技术,它能在不改变现有应用程序的前提下,通过MTS等技术,实现应用程序的集中部署和远程访问
Application/Server由后台数据库服务器、终端服务器(TerminateServices)和用户端的TerminateClient构成
应用程序运行在终端服务器上,客户端通过上传键盘和鼠标指令,下载屏幕响应和打印数据流,实现远程应用
Application/Server架构的优点是便于集中部署,客户端部署简单,不足之处是对终端服务器压力过大,并且,对于远程通信线路的稳定性要求高,用户交互响应速度和远程打印都容易受远程网络压力大
并且,部署终端服务器的License成本相对较高
、3、Multi-Layer架构简析Multi-Layer架构,是在C/S基础上发展起来的技术
Multi-Layer架构之前主要在客户端执行的业务逻辑处理单独放在中间层运行,这样,前端用户界面不需要直接连接数据库服务器,不需要建立固定的数据连接
而处于中间的应用服务器可以基于连接池(ConnectionPool)的形式访问数据库,便于控制连接数据和数据库性能
Multi-Layer一般可以通过中间层实现前端的自动升级(Auto-Update),相对容易部署,并且,客户前端与中间层之间通过数据压缩等手段,可以适应远程访问
Multi-Layer的优点是适应远程访问,用户交互性好,但是Multi-Layer和Client/Server一样,需要每个客户端进行首次安装
4、Browser/Server架构简析Browser/Server是所有Internet应用采用的技术架构
Browser/Server架构适于远程应用,随着的WebServer和ApplicationServer技术的发展,是目前在internet上应用最广的技术
Browser/Server架构的优点是构建简单、易于部署,易于升级
但是由于基于HTML文本传输,通信效率相对较低,而基于Browser的 *** 作界面,用户交互性弱,适应于查询和简单的交互,不太适合大量、快速录入和编辑要求的应用环境,5、SmartClient架构简析SmartClient是近几年发展起来的,它充分综合了和C/S和B/S的优点
Smart/Client由后台数据库服务器、基于WebServer的中间层应用服务器、前端的ThinClient构成
中间层通过WebServices技术进行接口封装,这样,前端和中间就基于XML进行数据传递
Smart/Client技术本身支持Auto-Update形式的自动升级、可以基于Web的首次安装等特性
由于ThinClient和应用服务器之间传递的全部是业务数据,不包含UI元素,所以,相比B/S,它具有更高的响应速度
以上就是关于如何构建千万用户级别 后台数据库架构设计的思路全部的内容,包括:如何构建千万用户级别 后台数据库架构设计的思路、LBS数据库的架构是怎样的、扛得住的MySQL数据库架构等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)