前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据分区设计(0)-前言

数据分区设计(0)-前言

作者头像
JavaEdge
发布2022-09-14 08:03:28
2990
发布2022-09-14 08:03:28
举报
文章被收录于专栏:JavaEdge

对大数据集或非常高吞吐量,仅复制还不够,还需将数据拆分,成为分区(partitions),也称分片(sharding)1

分区 (partition),对应MongoDB、ES中的shard,HBase 的Region,Bigtable的tablet,Cassandra的vnode,Couchbase的vBucket。但分区 (partitioning)更普遍。

0.1 定义

每条数据(或每条记录,每行或每个文档)属于且仅属于某特定分区。每个分区都能视为一个完整小型数据库,虽然数据库可能存在跨分区操作。

0.2 目的

提高可扩展性。不同分区可放在一个无共享集群的不同节点。这样的一个大数据集可分散在更多磁盘,查询负载也随之分布到更多处理器。

单分区查询时,每个节点对自己所在分区查询可独立执行查询操作,添加更多节点就能提高查询吞吐量。大型复杂查询尽管比较困难,但也能做到跨节点并行处理。

分区DB在1980s由Teradata、NonStop SQL等产品率先推出,最近因NoSQL和基于Hadoop的数仓重新被关注。有些系统是为事务处理而设计,有些则用于分析:这种差异会影响系统运作方式,但是分区基本原理都适用于这两种工作方式。

  • 本文先介绍分割大型数据集的方法,并观察索引如何与分区配合
  • 然后讨论rebalancing,若想添加、删除集群中的节点,则须rebalancing
  • 最后,概述DB如何将请求路由到正确的分区并执行查询

  1. 一种故意将大型DB分解成小型DB的方式。和 网络分区(network partitions, netsplits) 无关,这是节点之间网络故障的一种。 ↩︎
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/08/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.1 定义
  • 0.2 目的
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档