bilibili分布式数据库演进之道(3)

简介: bilibili分布式数据库演进之道

五、效率


最后是自动化效率的问题,不管是TiDB这种原生的分布式数据库还是我们基于Proxy和业务层自研的分布式数据库能力,同时比如Redis这种超大规模集群,我们现在经常会超过Redis本身的上限,因gossip通信机制,如果节点数量过大会导致节点间的心跳请求将带宽占满,所以我们的自动化如何提供效率?以下是自动化运维演进的方向:



当前我们仍然处于自动化运维的阶段,自动化平台能力的核心有四个方面,分别是资源管理研发自助、运维操作和风险管理。


自动化运维平台



1、资源管理


资源管理简单理解就是资源如何进行分配,有多个维度:


  • 主机管理;
  • Operator管理:无论是否上k8s都要提供Operator的管理能力;
  • 资源池管理:涉及到如何提高机器使用度的问题;
  • 资源报表:涉及到账单能力,通过账单可以明确告诉业务哪个地方使用不合理,哪个成本可以节省,以及哪个架构可以调整。



2、研发自助


日常情况下,研发有很多事情需要做,例如查询、导入、加字段以及健康检查等。资源申请指的是我们办了一些比较简单的常规业务,他们可以基于我们前面讲到的策略进行匹配后选择数据库。到DBA审核的时候,我们会评估他们写入的内容是否合理,保证不会出现由于架构设计失败引发重构的问题。



3、运维操作


集群管理、实例管理和数据管理是一些比较日常的运维操作,整体上由平台化进行支撑,大部分可以通过自动化解决,不需要人工进行管理。



4、风险管理


风险管理包括监控与告警、健康度报表以及接入信息脱敏和存储信息脱敏。B站涉及到电商和支付方面,需要对一些数据和用户信息进行大量的脱敏,通过数据扫描保证数据的合规。


以上就是我们自动化平台的能力。


Q&A


Q1:异地多活架构下支持同时多写吗?怎么解决写入冲突的问题?

A1:现在我们做的异地多活架构会提供同时多写的能力,有两个维度进行判断,一个维度是基于特定字段,特定字段可以基于实践也可以基于业务维度,另一个维度是通过全字段匹配判断数据是否冲突。如果冲突则需要下游的处理能力,也就是需要业务方判断,我们是把数据打到DataBus,由业务判断这一部分数据如何处理。如果确定好之后,我们会提供一个接口,让业务按照DTS模式写入到对端数据库,从而保证数据的回环复制。


Q2:DTS两边写入时,如果是按规则去写入,怎么保证相互同步的延迟性?

A2:真正用到DTS双向同步的时候,一般是做异地多活,异地多活的前提是单元化,通过单元化可以把流量集中到特定的地方,如果不做单元化会遇到很多问题,包括数据冲突、数据流量来回飘等。流量调度只是其中的一个过程,时间比较短,主要还是需要应用层和上游CDN支持,仅仅通过数据库层是很难规避的。


Q3:如何解决分布式数据库的数据分布问题?存取时如何保证数据均匀分布?

A3:主要根据分布数据本身的分配算法,分布数据刚才讲到有两种维度,一种是狭义的,也就是本身数据库是一个超大集群,不是通过中间件提供的分布式集群,这种数据库的数据分布只能依赖数据库自身提供能力,如果是自研,则需要通过判断分片键是否合适才能保证数据分布。但是所有分布式数据库都难以保证数据完全分布均匀,因为数据永远都会存在热点和非热点的问题,要求分布式绝对均匀是不现实的,只能达到一个理想状况。

相关文章
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
224 5
|
7月前
|
存储 监控 分布式数据库
ClickHouse分布式数据库动态伸缩(弹性扩缩容)的实现
实现ClickHouse数据库的动态伸缩需要持续的维护和精细的操作。从集群配置到数据迁移,再到监控和自动化,每一步都要仔细管理以确保服务的可靠性和性能。这些活动可以显著提高应用的响应性和成本效率,帮助业务根据实际需求灵活调整资源分配。
431 10
|
8月前
|
存储 关系型数据库 分布式数据库
【赵渝强老师】基于PostgreSQL的分布式数据库:Citus
Citus 是基于 PostgreSQL 的开源分布式数据库,采用 shared nothing 架构,具备良好的扩展性。它以插件形式集成,部署简单,适用于处理大规模数据和高并发场景。本文介绍了 Citus 的基础概念、安装配置步骤及其在单机环境下的集群搭建方法。
755 2
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
1309 0
|
10月前
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
378 12
|
12月前
|
SQL 运维 关系型数据库
体验用分布式数据库突破资源瓶颈,完成任务领智能台灯!
体验用分布式数据库突破资源瓶颈,完成任务领智能台灯!
|
12月前
|
SQL 数据建模 BI
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
|
容灾 关系型数据库 分布式数据库
PolarDB分布式版:与云融合的分布式数据库发展新阶段
PolarDB分布式版标志着分布式数据库与云融合的新阶段。它经历了三个发展阶段:从简单的分布式中间件,到一体化分布式架构,再到云原生分布式数据库。PolarDB充分利用云资源的弹性、高性价比、高可用性和隔离能力,解决了大规模数据扩展性问题,并支持多租户场景和复杂事务处理。零售中台的建设背景包括国家数字化转型战略及解决信息孤岛问题,采用分布式数据库提升高可用性和性能,满足海量订单处理需求。展望未来,零售中台将重点提升容灾能力、优化资源利用并引入AI技术,以实现更智能的服务和更高的业务连续性。
421 9