博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库的sacle-up和scale-out与sharding技术区分
阅读量:6582 次
发布时间:2019-06-24

本文共 697 字,大约阅读时间需要 2 分钟。

scale 英文是扩展的意思。

 

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

分为向上扩展和横向扩展,这就像一个人往上面发展与横向发展两种思路。
scale-up:往上方向去扩展,就是提高单机的性能,比如数据库调优,硬件上的调优等等。都是从一个提升上来考虑。
scale-out:横向去扩展。目标不是放在提高单机性能上。而是要做成分布式。多个机器来解决。
scale-up和scale-out的角度是机器的角度,一台机器不够的时候,是把硬件性能提升(往上面扩展),还是通过分布式(横向扩展)

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

而sharding技术是分片的意思,分片其实是指数据进行分片
分为垂直分片和水平分片。

垂直分片:典型的是将大字段拆分出去。

水平分片:按照某个字段,比如user_id进行hash,一部分到一个表,一部分到另外一张表,这就是水平分片。

 

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

 

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

解决数据库性能问题归类分为两大类:
一、scale up和scale out
二、sharding技术

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

 

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

转载于:https://www.cnblogs.com/wangtao_20/p/4124931.html

你可能感兴趣的文章
leetcode -- Combination Sum II
查看>>
1z0-052 q209_7
查看>>
PIN码计算锦集
查看>>
[Unity3D]再次点击以退出程序
查看>>
架构师的97种习惯
查看>>
PHP 开发 APP 接口 学习笔记与总结 - XML 方式封装通信接口
查看>>
IT基础架构规划方案之实际网络设计案例
查看>>
Navicat for MySQL 使用SSH方式链接远程数据库(二)
查看>>
poj 1274The Perfect Stall
查看>>
HDU 4720 Naive and Silly Muggles (外切圆心)
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
Ubuntu上运行Blender,在控制台上查看运行结果
查看>>
怎么检查网站的死链接呢?
查看>>
scrapy爬虫框架实例一,爬取自己博客
查看>>
React是UI的未来吗?
查看>>
中国人社部:2018年15个省(区、市)调整最低工资标准
查看>>
手把手教你通过Thrift 访问ApsaraDB for HBase
查看>>
MacOS安装MySQL 报错
查看>>
Java知识点总结(反射-反射操作泛型)
查看>>
Vue+webpack+Element 兼容问题总结
查看>>