写点什么

单集群数据超 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:066235

评论

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

别再自己瞎写工具类了,Spring Boot 内置工具类应有尽有, 建议收藏!!

程序知音

Java spring springboot java面试 后端技术

前端leetcde算法面试套路之二叉树

js2030code

JavaScript LeetCode

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

赛况激烈!2022 OceanBase数据库大赛50强诞生

OceanBase 数据库

网站收录量与索引量有什么区别?

源字节1号

软件开发 小程序开发

断连?消息丟失?不用愁!教你快速在物联网平台上排查问题——设备管理运维类

阿里云AIoT

阿里云 物联网平台 设备上云

中软国际发力智联网自主创新 数智赋能千行百业

中软国际AIoT开发者社区

华为开发者大会2022 智联网

英特尔CEO出席2022世界互联网大会:五大超级技术力量释放数字时代全新可能

科技之家

vivo鲁京辉:从体验到生态,守正创新,vivo隐私安全再升级

极客天地

深入理解Metrics(三):Histograms

冰心的小屋

Java metrics Histograms

【LeetCode】最长同值路径Java题解

Albert

算法 LeetCode 11月月更

slurm集群调度策略详解(1)-主调度

慕冰

Slurm 调度系统 主调度

用户+案例+认证+框架一键搞定,不愧是阿里最新Spring Security全栈笔记!

Java永远的神

Java 程序员 springsecurity java面试 安全框架

Linux—nmap、nc命令 –网络探测工具和安全和端口扫描器

A-刘晨阳

Linux 运维 网络 11月月更

全网首次公开!设计模式+代码+JVM调优,不愧是阿里Java性能优化核心原理全解手册

Java全栈架构师

程序员 程序人生 性能优化 后端 java面试

【C语言】double 关键字

謓泽

11月月更

直播预告|AutoML Meetup V1 第四范式 & 百度 & AWS ,共探自动机器学习最佳实践

星策开源社区

人工智能 机器学习 百度 AWS 自动机器学习

Linux下安装Python3.6.8(超级详细)

A-刘晨阳

Linux 运维 Python3 11月月更 pip3

完美避开,99%的PCB工程师都踩过的坑!

华秋PCB

工具 PCB PCB设计

【解决方案】国产逆袭?基于国产 MCU 的网红筋膜枪方案分析

元器件秋姐

国产芯片 BLDC方案 BLDC应用 电机控制 元器件电商

【收藏】锂电材料工厂设备日常保养评分标准

PreMaint

设备管理 设备日常保养

Wallys//Qualcomm ipq4018/IPQ4028 Access Point /high power/Wireless Dual band 11AC Wave2 /Indoor industrial wifi5 router

wallysmeng

IPQ4018 IPQ4028

Linux—watch命令详解– 周期性执行命令

A-刘晨阳

Linux 运维 11月月更 周期性监控

一站式工业边缘数据采集处理与设备反控实践

EMQ映云科技

物联网 IoT neuron 11月月更 eKuiper

Nacos 多语言体系再添新员:首个 Rust 语言版本正式发布!

阿里巴巴云原生

阿里云 云原生 nacos

转行数据分析?你可能需要这块敲门砖!

博文视点Broadview

深入理解Metrics(四):Meters

冰心的小屋

Java metrics meters

推荐一份关于JDK实现&源码解读的经典著作,强烈建议Java程序员都看看

程序员小毕

程序员 程序人生 Java并发 后端 jdk源码

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