我的编程空间,编程开发者的网络收藏夹
学习永远不晚

TcaplusDB君的小知识:TcaplusDB技术原理分享

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

TcaplusDB君的小知识:TcaplusDB技术原理分享

TcaplusDB君的小知识:TcaplusDB技术原理分享

数据库技术是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论和方法来实现对数据库中的数据的处理、分析、转化等操作。 数据库技术作为计算机数据处理与信息管理系统的核心,研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。

在本篇文章中,将会介绍腾讯自研的分布式数据库TcaplusDB的技术原理。


存储原理

一个表通过HASH分表,按照路由数组长度(默认为10k)进行取模运算分片(Mod Sharding),所以每张表最多可以分成10k个分片(Shard)。以下图为例,1个TcaplusDB表被分为5个Shard文件分布到不同存储节点,每个结点分布有1个或多个分片的数据。 在这里插入图片描述

图3.1 TcaplusDB存储技术示意图

2 系统扩容

TcaplusDB扩容分别在存储层和接入层进行。从第2章节的架构图中,可以看到接入层即Tcap Proxy层,存储层即Tcapsvr层(主备节点)。对于接入层而言,采用的是无状态设计,所以可以灵活水平扩缩容,且不影响线上业务,对业务无感知 ; 对于存储层而言,由于表采用的是分片设计,在扩容时需要将原机器上的分片水平迁移到新机器上,达到扩容存储空间的目的。以图3.2为例,Table A在扩容前,只有一个分片Shard 1, 路由数组长度为10k。在扩容时,将该表分为两个分片,其中路由项0-5k放在Shard1 , 路由项5001-10k放在Shard2,2个shard分别存储到两个存储节点上。

在这里插入图片描述

图3.2 存储节点扩容示意图

数据迁移过程见图3.3,原TcaplusDB Salve节点上数据会复制到新的TcaplusDB Master节点,通过binlog同步保持数据完整性,接入层tcapoxy的数据请求重定向到新的TcaplusDB集群。

在这里插入图片描述

图3.3 扩容后请求重定向示意图 接入层扩容,如图3.4所示,通过一致性哈希路由切换,将原来由4个tcaproxy负责转发的路由,平均分配给5个tcaproxy,路由切换过程不会造成消息丢失。

在这里插入图片描述

图3.4 接入层扩容示意图

TcaplusDB的扩容基于存储节点的磁盘使用率和QPS (Queries per Second) 2个维度。当单台存储节点容量使用达到一定阈值后即触发扩容操作。


TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

TcaplusDB君的小知识:TcaplusDB技术原理分享

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

TcaplusDB君的小知识:TcaplusDB技术原理分享

数据库技术是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论和方法来实现对数据库中的数据的处理、分析、转化等操作。 数据库技术作为计算机数据处理与信息管理系统的核心,研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问
TcaplusDB君的小知识:TcaplusDB技术原理分享
2020-05-30

TcaplusDB君的小知识之TcaplusDB架构描述

数据库作为信息系统的核心,数据库设计需要根据用户的需求,针对业务逻辑上,设计结构和建立数据库。由于数据库应用系统的复杂性,数据库的设计不可能一蹴而就,也没有统一的最好的设计结构,因为对于不同的业务来说,所需要的数据库的支撑是不同的。 设计数据库架构时,应遵守以
TcaplusDB君的小知识之TcaplusDB架构描述
2016-12-22

TcaplusDB君的小知识之TcaplusDB的高可用性和数据安全性介绍

随着信息化的发展,数据库已经是企业正常运营必不可少的工具,企业的所有数据都存储在数据库上,因此可以说数据库的可靠与否关系着企业的生死存亡。 因此,数据的保护和备份是数据库业务的重中之重,系统的可用性以及数据的可靠性对数据库来说都是至关重要的。 数据库的可用性是
TcaplusDB君的小知识之TcaplusDB的高可用性和数据安全性介绍
2020-02-28

Python知识之列表的十个小技巧分享

这篇文章主要介绍了Python知识之列表的十个小技巧分享,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-04

PHP 字符串处理技术分享:解析去除右侧第一个字符的实现原理

PHP 字符串处理技术分享:解析去除右侧第一个字符的实现原理在PHP开发中,经常会遇到需要对字符串进行处理的情况,其中有一种常见的需求是去除字符串右侧的第一个字符。这一篇文章将为大家分享如何实现这一功能的具体原理和代码示例。首先,我们来
PHP 字符串处理技术分享:解析去除右侧第一个字符的实现原理
2024-03-02

编程热搜

目录