热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

数据库的sacle-mysql教程

scale英文是扩展的意思。数据库要进行扩展,指的是存储系统不够,或者性能不够,要提升的时候,就要进行扩展。分为向上扩展和横向扩展,这就像一个人往上面发展与横向发展两种思路。scale-up:往上方向去扩展,就是提高单机的性能,比如数据库调优,硬件

scale 英文是扩展的意思。 数据库要进行扩展,指的是存储系统不够,或者性能不够,要提升的时候,就要进行扩展。 分为向上扩展和横向扩展,这就像一个人往上面发展与横向发展两种思路。 scale-up:往上方向去扩展,就是提高单机的性能,比如数据库调优,硬件

scale 英文是扩展的意思。

数据库要进行扩展,指的是存储系统不够,或者性能不够,要提升的时候,就要进行扩展。

分为向上扩展和横向扩展,这就像一个人往上面发展与横向发展两种思路。


scale-up:往上方向去扩展,就是提高单机的性能,比如数据库调优,硬件上的调优等等。都是从一个提升上来考虑。

scale-out:横向去扩展。目标不是放在提高单机性能上。而是要做成分布式。多个机器来解决。
scale-up和scale-out的角度是机器的角度,一台机器不够的时候,是把硬件性能提升(往上面扩展),还是通过分布式(横向扩展)

横向扩展是一个战略上的,要做成分布式,怎么把数据分散到多个机器上呢,现在要谈战术上用什么技术手段,技术手段就是sharding技术。


而sharding技术是分片的意思,分片其实是指数据进行分片

分为垂直分片和水平分片。

垂直分片:典型的是将大字段拆分出去。
水平分片:按照某个字段,比如user_id进行hash,一部分到一个表,一部分到另外一张表,这就是水平分片。

我觉得,sharding侧重的点不同,侧重的点是对数据,数据库中的数据如何进行分片上(分散到多个点存储,这个点可以是服务器,也可以是小到一个库,小到一个表)。

而sacle侧重是整个数据库如何扩展。是整体上的。



解决数据库性能问题归类分为两大类:

一、scale up和scale out
二、sharding技术

网上关于分表的资料很多。

以上只是为个人做概念区分。不正确之处,等待完善

推荐阅读
author-avatar
冷月荐向_878
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有