Home  >  Article  >  Database  >  数据库的sacle

数据库的sacle

WBOY
WBOYOriginal
2016-06-07 15:00:041871browse

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

scale 英文是扩展的意思。

 

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

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


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

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

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


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

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

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

 

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

 

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



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

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

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

 

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn