【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

单集群数据超 1000 亿,微服务架构下分布式数据库应用实践

  • 2019-04-25
  • 本文字数:2226 字

    阅读完需:约 7 分钟

单集群数据超1000亿,微服务架构下分布式数据库应用实践

如今,大型企业的应用平台正在向微服务架构进行转型。在微服务架构下,应用程序和数据库等底层平台的关系将会被重构。


作为新一代分布式数据库,其架构与功能特性需要保证在与传统数据库全兼容的基础上,拥抱微服务与云计算框架。因此,分布式数据库对于分布式交易与 ACID 必须保证与传统技术完全兼容。同时,在面向微服务应用开发与云计算基础架构时,新一代分布式数据库必须支持弹性扩张、资源隔离、多租户、可配置一致性、多模式(支持各类 SQL 协议)、集群内可配置容灾策略等一系列功能。


传统单点数据库的容量瓶颈,仅仅是分布式数据库所解决的问题之一。更重要的是在未来微服务化应用开发以及云化平台的趋势下,应用不再以“烟囱式”的中间件加数据库模式进行构建,而是采用数千甚至上万的微服务程序构建成的复杂网状模型。因此,分布式数据库需要满足以下能力,才能够满足上层应用的弹性扩展、高并发、高吞吐量、与灵活敏捷的需求。



在这些技术需求驱动下,分布式数据库核心技术能力分为两个方面,一方面是对传统技术的兼容,包括:


  • 完整的 ACID 支持,事务和一致性保证;

  • SQL 的完整支持,传统数据库如 MySQL/PostgreSQL 的语法完全兼容。


另一方面,则是技术创新,包括:


  • 分布式与扩展性,应对数据量的变化,实现存储层和计算层的弹性扩展;

  • 多模式访问接口,支持多类型数据管理和多种模式的访问接口;

  • HTAP 交易/分析混合处理能力,复杂业务需求下,实现数据的物理隔离,互不干扰。


作为一款金融级分布式关系型数据库,SequoiaDB 巨杉数据库的分布式数据库架构和面向微服务的云化产品形态,已经帮助包括民生银行、恒丰银行在内的多家大型金融客户实现了大量业务系统的底层数据库云化转型升级。


目前,巨杉数据库在银行生产系统单机群最大物理节点数达到 135 个,单集群最大存储容量超过 2.1 PB,单集群最大管理数据条数 1318 亿条。


SequoiaDB 巨杉数据库作为一款金融级的分布式关系型数据库,在企业客户云化架构转型过程中,提供了多种重要技术能力。



微服务下的分布式数据库业务架构示意

数据存储资源池化

SequoiaDB 数据存储引擎采用原生分布式架构,数据完全打散在分布式节点间存储,自动化数据分布和管理,数据可以按需灵活扩展。


SequoiaDB 采用分片技术为系统提供了横向扩展机制,其分片过程对于应用程序来说完全透明。该机制解决了单台服务器硬件资源(如内存、CPU、磁盘 I/O)受限的问题,并不会增加应用程序开发的复杂性。巨杉数据库通过原生分布式架构,可以轻松实现 PB 级别数据管理,目前生产环境最大支持超过 1500 个节点集群。


SequoiaDB 巨杉数据库存储引擎也实现了 multi-model 多模数据管理,支持非结构化、结构化和半结构化数据全覆盖并统一管理。SequoiaDB 的多模引擎设计让数据库平台场景更多样,也能符合云数据架构下对于多样化业务数据的统一管理与运维要求。


同时,在一个大型集群中,SequoiaDB 提供了多维度、多层级的逻辑与物理隔离能力。在一个典型的数据资源池类型基础数据服务平台(DBaas,DataBase As A Service)中,SequoiaDB 巨杉数据库能够同时服务于成百上千个不同 SLA 服务级别、优先级、业务特性、与数据量的应用程序,并保证应用程序之间的数据逻辑与物理隔离。


SequoiaDB 提供的“数据域(Domain)”特性,能够将整个集群在物理设备层面进行隔离,确保不同的表、表空间、与数据库实例坐落于独立的硬件设备上,保证高优先级的联机交易应用与后台统计分析相互隔离互不干扰。

数据库实例化

SequoiaDB 巨杉数据库支持数据库服务实例化。


针对微服务应用架构,用户可以在同一个集群中创建成百上千个不同的关系型数据库实例。数据库实例的访问与使用方式和传统关系型数据库 100%兼容,同时其底层所使用的数据从逻辑上完全独立,每个实例拥有自己独立的权限管理、数据管控、甚至可以选择部署在独立的硬件环境或共享设备中。


目前 SequoiaDB 巨杉数据库支持用户创建 MySQL、PostgreSQL 与 SparkSQL 实例,同时还提供了 JSON、S3 对象存储以及 Posix 文件系统实例,充分满足用户对于结构化、半结构化、以及非结构化数据的需求。


从应用程序开发者与 DBA 的角度看,SequoiaDB 巨杉数据库所提供的关系型数据库实例,与传统 MySQL、PostgreSQL 和 SparkSQL 保持全兼容。例如,在 SequoiaDB 巨杉数据库中的 MySQL 实例中,其所有的增删改查语法、视图、触发器、事务、甚至访问计划都与传统 MySQL 保持一致。


作为分布式数据库,SequoiaDB 巨杉数据库的 SQL 实例用户不需要关心底层的数据到底被分散在一台还是多台设备中。用户可以简单创建一个分区表,向其中写入上亿条记录,其数据将会被自动分散在不同的物理设备中,对于应用程序根本无需关注分库分表,数据库自动提供分布式事务以及分布式访问等能力。

双活容灾与数据安全

双活容灾即灾备系统中使主生产端数据库和备机端数据库同时在线运行,处于可读可写状态的技术。在银行的交易系统中,双活容灾能力不仅保证数据不丢失,也保证系统在遭遇事故时能够短时间内重新上线。在正常情况下,双活架构的两个数据中心都能够同时提供业务的读写服务,而当一个中心宕机后,所有前端应用可以立刻切换至依然存活的数据中心继续使用。


SequoiaDB 巨杉数据库在内核层面实现了多种容灾方式,包括同城双活、同城双中心、同城三中心、两地三中心、与三地五中心等容灾策略。通过使用 SequoiaDB 巨杉数据库的容灾与高可用机制,数据中心内的服务器故障可以保证 RTO 与 RPO 均为零,而整个数据中心或同城网络故障也可以做到秒级 RTO、RPO=0。


2019-04-25 14:065304

评论

发布
暂无评论
发现更多内容

2022 云原生编程挑战赛火热报名中!看导师如何拆解 Serverless 赛题?

阿里巴巴云原生

阿里云 Serverless 云原生编程挑战赛

技术风向标 | 云原生技术架构成熟度模型解读

阿里巴巴云原生

阿里云 云原生 成熟度模型

公共数据如何兼顾开放利用和隐私安全合规?

Jessica@数牍

数据安全 隐私计算 公共数据开放 数据开放和利用

一文讲清楚SpringBoot六种读取配置方式

王小凡

Java 程序员 Sprint Boot

[ Kitex 源码解读 ] 服务发现

baiyutang

Go 微服务架构 kitex CloudWeGo

基础到高级涵盖11个技术,Alibaba最新出品711页Java面试神册真香

程序员小毕

Java 面试 程序人生 JVM 中间件

面试OPPO,16道题甩过来,我人傻了

Java永远的神

Java 程序员 面试 分布式 项目

基础+框架+数据库+系统设计+算法,2022阿里最新Java面试突击手册我粉了

Java永远的神

Java 数据库 spring 面试 JVM

机器视觉在服务机器人中的应用

优必选科技

机器人

有一说一,阿里P7的薪资待遇是真的香

程序员小毕

Java 程序员 程序人生 后端 架构师

如何借助自动化工具落地DevOps|含低代码与DevOps应用实践

云智慧AIOps社区

开源 DevOps 低代码平台 开发与运维

极大似然估计

矛始

概率 极大似然估计

如何通过学会提问,成为更加优秀的数据科学家

Baihai IDP

AI 数据科学 职业发展

2022最新最全Java面试八股文(整整1685页,14个技术栈,20余万字)

Java全栈架构师

Java spring 面试 JVM 消息中间件

TDengine 落地协鑫能科,数百亿数据压缩至 600GB

TDengine

数据库 tdengine 时序数据库

研发效能的道与术 - 道篇

FreeW

架构 研发效能

如何组装一个注册中心

捉虫大师

注册中心 7月月更 后端启示录

kudu设计-tablet

矛始

kudu tablet

就这一次!详细聊聊分布式系统的那些技术方案

Java全栈架构师

程序员 面试 分布式 系统设计 架构师

兆骑科创海外高层次人才引进平台,创业赛事活动路演

兆骑科创凤阁

高层次人才引进平台

导数、微分、偏导数、全微分、方向导数、梯度的定义与关系

矛始

高数 导数 微分

图的遍历的定义以及深度优先搜索和广度优先搜索(一)

乔乔

7月月更

Spark数据格式UnsafeRow

矛始

spark 内存 UnsafeRow

菜鸟 CPaaS 平台微服务治理实践

阿里巴巴云原生

阿里云 微服务 云原生 CPaaS 菜鸟

Spark统一内存划分

矛始

spark 统一内存

MySQL精品学习资源合集 | 含学习教程笔记、运维技巧、图书推荐

墨天轮

MySQL 数据库 学习笔记 运维技术

浅谈云原生边缘计算框架演进

谐云

7月月更

深圳云管平台厂商哪家好?有哪些功能?咨询电话多少?

行云管家

云计算 云管平台

融云直播 SDK 玩法翻新,入围信通院「实时互动创新应用优秀案例」

融云 RongCloud

直播 sdk

netty入门之服务端启动过程分析

Hex

Java 后端 Netty

6种方法帮你搞定SimpleDateFormat类不是线程安全的问题

华为云开发者联盟

高并发 开发

单集群数据超1000亿,微服务架构下分布式数据库应用实践_数据库_巨杉数据库_InfoQ精选文章