codecamp

OceanBase 产品优势和应用场景

OceanBase 是一款金融级的分布式关系数据库,具备高性能、高可用、强一致、可扩展和兼容性高等典型优势,适用于对性能、成本和扩展性要求高的金融场景。

主要特性

  • 高性能:存储采用读写分离架构,计算引擎全链路性能优化,准内存数据库性能。
  • 低成本:使用PC服务器和低端 SSD,高存储压缩率降低存储成本,高性能降低计算成本,多租户混部充分利用系统资源。
  • 高可用:数据采用多副本存储,少数副本故障不影响数据可用性。通过“三地五中心”部署实现城市级故障自动无损容灾。
  • 强一致:数据多副本通过 paxos 协议同步事务日志,多数派成功事务才能提交。缺省情况下读、写操作都在主副本进行,保证强一致。
  • 可扩展:集群节点全对等,每个节点都具备计算和存储能力,无单点瓶颈。可线性、在线扩展和收缩。
  • 兼容性:兼容常用 MySQL/ORACLE 功能及 MySQL/ORACLE 前后台协议,业务零修改或少量修改即可从 MySQL/ORACLE 迁移至 OceanBase。

应用场景

OceanBase 的产品定位是一款分布式关系数据库,经过多年蚂蚁金服内部业务的打磨,目前已经支持蚂蚁金服 100% 核心交易系统,稳定支撑阿里、蚂蚁内部上百个关键业务以及浙商银行、南京银行等多个外部客户。OceanBase 产品适用于金融、证券等涉及交易、支付和账务等对高可用、强一致要求特别高,同时对性能、成本和扩展性有需求的金融属性场景,以及各种关系型结构化存储的 OLTP 应用。OceanBase 天然的 Share-Nothing 分布式架构对于各种 OLAP 型应用也有很好的支持,例如云数据库 OceanBase 适用于以下典型场景:

  • 金融级数据可靠性需求

    金融环境下通常对数据可靠性有更高的要求,OceanBase 每一次事务提交,对应日志总是会在多个数据中心实时同步,并持久化。即使是数据中心级别的灾难发生,总是可以在其他的数据中心恢复每一笔已经完成的交易,实现了真正金融级别的可靠性要求。

OceanBase产品优势和应用场景

  • 让数据库适应飞速增长的业务

    业务的飞速成长,通常会给数据库带来成倍压力。OceanBase 作为一款真正意义的分布式关系型数据库,由一个个独立的通用计算机作为系统各个节点,数据根据容量大小、可用性自动分布在各个节点,当数据量不断增长时,OceanBase 可以自动扩展节点的数量,满足业务需求。

OceanBase产品优势和应用场景

  • 连续不间断的服务

    企业连续不间断的服务,通常意味着给客户最流畅的产品体验。分布式的 OceanBase 集群,如果某个节点出现异常时,可以自动剔除此服务节点,该节点对应的数据有多个其他副本,对应的数据服务也由其他节点提供。甚至当某个数据中心出现异常,OceanBase 可以在短时间内将服务节点切换到其他数据中心,可以保证业务持续可用。

OceanBase产品优势和应用场景

OceanBase 是什么
OceanBase 产品架构
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }