TiDB x 汉口银行丨分布式数据库应用实践

news2024/11/15 23:44:54

汉口银行是一家城市商业银行,近年来专注科技金融、民生金融等领域。在数据库国产化改造中,汉口银行引入了 TiDB 数据库,并将其应用在重要业务系统:头寸系统中,实现了一栈式的数据服务,同时满足了高并发、低延时、数据一致性和高可用需求,解决了传统数据库的局限性。

汉口银行是一家总部位于武汉的城市商业银行,现有各类分支机构 201 家,近年来通过专业化经营和精细化管理,着力在科技金融、民生金融、小微金融、互联网金融等领域不断培育和塑造经营特色,可持续发展能力持续增强。 根据英国《银行家》杂志排名,自 2010 年起,汉口银行一直跻身全球银行 500 强。 汉口银行相继获评中国十佳城市商业银行、卓越竞争力品牌建设银行、最佳科技金融服务银行等殊荣。

国产数据库经过多年打磨,已具备成熟、可持续发展的生态,在银行、保险等金融企业应用广泛。汉口银行在业务发展规划的指引下,较早启动了数据库国产化改造,对行内各类系统进行了清晰的规划,开始一些场景的探索和尝试。

头寸系统是汉口银行的重要业务系统之一,该系统通过监测当前的头寸水平和影响头寸变化的因素,实现大额头寸预报电子化、头寸匡算自动化、调拨及审批流程电子化,提供资金业务到期情况查询、历史资金交易查询、货币台资金交易查询等。头寸系统是一个典型的既有在线联机交易,又有在线分析的混合的 HTAP 场景,项目落地过程中 TiDB 数据库产品能力和服务能力获得行方认可。

汉口银行构建 TiDB 主备集群为头寸系统提供一栈式数据服务,使用 TiDB 完成海量数据场景下的在线交易处理,提供可扩展、无上限的实时写入和实时查询能力,满足高并发、低延时、数据一致性和高可用需求,彻底解决传统数据库并发低、无法线性扩展、分析能力差等难题。

为什么选择 TiDB?

原生分布式架构对业务透明,应用开发便捷

TiDB 计算存储分离的原生分布式架构设计,可以灵活扩展计算或者存储节点,支持自动分片且分片策略不需要事先干预和设计,对于业务开发而言非常便捷,尤其在扩缩容场景下,相比基于分库分 表架构设计的分布式数据库而言优势更加明显。

金融级的高可用性

在 TiDB 各组件采用冗余设计,数据采用三副本,通过 Multi Raft 协议保证各副本数据的一致性和高可用,集群之间可通过 TiCDC 或 TiDB binlog 搭建灾备集群保障集群级别的高可用。 TiDB 提供两中心、两地三中心等高可用容灾方案,满足金融机构对极致的 RPO 和 RTO 的 述求。

创新的 HTAP 能力,复杂 SQL 的性能优势明显

对于多表 join、复杂分析和 跑批场景,如果单独构建分析库,数据处理流程变长且加大了系统的复杂性。 只需给 TiDB 集群增加 TiFlash 节点即可获得 HTAP 能力,为复杂 SQL 的查询性能提供优异性能,应用程序不需要开发两套程序,配备两套技术栈。

全面的国产化生态兼容

TiDB 兼容适配主流的国产服务器、国产芯片、国产操作系统以及国产中间件,在主流的国产软硬件上运行稳定、性能都能满足业务要求。 TiDB 对 MySQL 的功能和语法兼容出色,是 MySQL 数据库国产化替换的首选。

自主开源,社区活跃

TiDB 坚持自主开源模式,打造了国人主导的开源根社区,确保了产品供应链安全。 TiDB 社区活跃,测试和应用过程中遇到的问题基本都可以在社区论坛中找到答案。 此外,TiDB 文档、视频课程资源非常丰富,便于体系化地学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1151319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文范文:论面向服务的架构

网络文章,仅供学习,建议您考试不要抄范文哦!摘要:2016年8月,我参与了胶凝砂砾石坝施工质量监控系统的开发工作,该系统旨在帮助水利工程建设法人单位、施工企业、监理机构及相关政府部门解决水利工程建设施工质量监控和工程项目管理等问题。我在该项目中担任系统架构设计师…

MDM如何实现不同场景的数据管理

MDM基础数据平台主要是进行清洗和治理企业的主数据,使企业的主数据具有唯一性、准确性、一致性和及时性,但平台在不同的场景中起到的作用也不同。 不同项目的MDM作用不同,在数据中台中MDM主要是作为维度表和一些基础数据的数据上报功能&…

Linux——Linux权限

Linux权限 前言一、shell命令以及运行原理二、Linux权限的概念Linux权限管理文件访问者的分类(人)文件类型和访问权限(事物属性)文件权限值的表示方法文件访问权限的相关设置方法 file指令目录的权限粘滞位 总结 前言 linux的学习…

Android多张图片rotation旋转角度叠加/重叠堆放

Android多张图片rotation旋转角度叠加/重叠堆放 <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"…

Panda3d 介绍

Panda3d 介绍 文章目录 Panda3d 介绍Panda3d 的安装Panda3d 的坐标系统介绍Panda3d 的运行Panda3d 加载一个熊猫父节点和子节点之间的关系 验证Panda3d 的坐标系统X 轴的平移Y 轴的平移Z 轴的平移X 轴的旋转Y 轴的旋转Z 轴的旋转 Panda3D是一个3D引擎:一个用于3D渲染和游戏开发…

C++ 自引用指针this(整理)

使用例子&#xff1a; #include <iostream> #include <Windows.h> using namespace std; class A { public:A(int x1){x x1;}void disp(){cout<<"this"<<this<<" when x"<<this->x<<endl;} private:int x;…

MSQL系列(十二) Mysql实战-为什么索引要建立在被驱动表上

Mysql实战-left/right/inner join 使用详解 前面我们讲解了BTree的索引结构&#xff0c;也详细讲解下 left Join的底层驱动表 选择原理&#xff0c;那么今天我们来实战一下 left join&#xff0c;right join&#xff0c;inner join 等sql命令&#xff0c;看看到底如何用以及如…

MySQL主从复制延时

主从复制原理 MySQL主从复制是MySQL数据库中一种数据备份和数据同步的方式。它将一台MySQL服务器&#xff08;主服务器&#xff09;的数据同步到另外一台MySQL服务器&#xff08;从服务器&#xff09;。主服务器是数据的提供者&#xff0c;而从服务器是数据的接收者。主从复制…

23秋季学期期中考核(密码题)

师兄新学的Decode姿势 题目给出的 const SM4 require("gm-crypt").sm4; var payload "inu7s0XGslLFsPe0xok/nxqwtceG0cuMoh7hBbpwyNBrn3g/lMdcFYobv/KeRgWwI/TIA4qMtjqpNKOet E3TD0gWoSknGF6OhkRJ3LxrNUZ/Mi8ISz3xrDLawIY8NwbalYcQUGWtVjdC3nJL…

对象补充-原型和函数原型-创建对象

defineProperties可以定义多个属性描述符 var obj {// 私有属性&#xff08;js里面是没有严格意义的私有属性&#xff09;_age: 18,_eat: function() {} }Object.defineProperties(obj, {name: {configurable: true,enumerable: true,writable: true,value: "why"}…

软件测试面试高频30道面试题

如果哪个测试经理在看我的文章&#xff0c;希望对面试者要微笑&#xff0c;不然面试结束&#xff0c;出门之后就一万个草泥马奔腾而过&#xff0c;其实面试者并不是希望你给他们什么&#xff0c;而是一种尊重&#xff0c;平等的谈话&#xff0c;不要高高在上感觉自己超牛逼一样…

二蛋赠书六期:《Linux管理入门经典(第8版)》

前言 大家好&#xff01;我是二蛋&#xff0c;一个热爱技术、乐于分享的工程师。在过去的几年里&#xff0c;我一直通过各种渠道与大家分享技术知识和经验。我深知&#xff0c;每一位技术人员都对自己的技能提升和职业发展有着热切的期待。因此&#xff0c;我非常感激大家一直…

linux入门---线程的互斥

目录标题 什么是线程安全为什么会出现负数几个概念的介绍锁的理解锁有关函数的介绍锁的问题如何看待加锁和解锁锁的实现原理锁的封装线程安全和可重入函数死锁的概念 什么是线程安全 我们通过下面的例子来了解一下线程安全问题&#xff0c;首先我们实现一个模拟抢票的功能创建…

docker搭建halo个人博客

docker run -it -d --name halo -p 9090:8090 -v /usr/local/halo2:/root/.halo2 halohub/halo:2.10halo个人网站搭建效果 提供皮肤市场 编辑界面 自定义菜单

在win10下,使用torchviz对深度学习网络模型进行可视化

目录 1. 安装 graphviz 和 torchviz 2.安装 graphviz.exe 3.实例测试 4.如果你的电脑还是无法画图&#xff0c;并且出现了下面的报错&#xff1a; 5.参考文章&#xff1a; 1. 安装 graphviz 和 torchviz 首先打开 Anaconda prompt 进入自己的 pytorch 环境(图中 pt 是我自…

liunx练习题之在同一主机提供多个的web服务

虚拟web主机类型 一、基于端口 1.vim /etc/httpd/conf.d/vhost2.conf ---- — 改变http服务默认访问路径 <directory /testweb1>allowoverride none 表示不允许覆盖其他配置require all granted 表示允许所有请求 </directory> <virtualhost 0.0.0.0:…

【Leetcode】【简单】13. 罗马数字转整数

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&#xff0c;轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/roman-to-integer/description/ …

【网络协议】聊聊套接字socket

网络编程我们知道是通过socket进行编程的&#xff0c;其实socket也是基于TCP和UDP协议进行编程的。但是在socket层面是感知不到下层的&#xff0c;所以在设置参数的时候&#xff0c;其实是端到端协议智商的网络层和传输层。TCP是数据流所以设置为SOCK_STREAM&#xff0c;而UDP是…

【配置环境】VS Code中JavaScript环境搭建

一&#xff0c;环境 Windows 11 家庭中文版&#xff0c;64 位操作系统, 基于 x64 的处理器VS Code 版本: 1.83.1 (user setup)Node.js 版本&#xff1a;20.9.0 二&#xff0c;为什么搭建JavaScript环境 因为在看《重构改善既有代码的设计第2版》的时候&#xff0c;书中的代码展…