数据库发展历程
数据库经历了单机数据库、集中式数据库、非关系型数据库、新型数据库四阶段。
单机数据库:单机数据库就是只能运行在单机上,不提供网络功能的数据库。
集中式数据库:数据库是一种经典、传统的数据库结构,多台机器联合管理数据,一般不对数据进行分片。常见有Oracle、DB2。
非关系型数据库(NO SQL):包括文档数据库(MongoDB)、列簇数据库(HBase)、图数据库(Neo4j)和值数据库(Redis)。
分布式关系型数据库(New SQL):针对OLTP(读-写)工作负载,追求提供和NoSQL系统相同的扩展性能,且仍然保持ACID和SQL等特性(scalable and ACID and (relational and/or sql -access))。
数据库类型
交易型数据库:是指实时的,面向应用的数据库,响应及时性要求很高,只关注最近一段时间的数据库,又称事务数据库。常见的有达梦、人大金仓。
分析型数据库:面向海量数据的分析与报表,支持对数据进行在线统计、数据在 线分析、随即查询等发掘信息数据价值的数据库。常见的有南大通用。
流处理:面向实时数据流的统计与监控告警。常见的有Kafka、Apache Flink
流批一体:面向数据湖领域的数据挖掘与探索。常见有星环、Cloudera
国产数据库开源情况
目前国产数据库分为以下几种,一是完全自主研发、二是基于Mysql开源封装、三是基于Postgre SQL开源封装。
PostgreSQL 基于自由的 BSD/MIT 许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。
MySQL 的开源协议是基于 GPL 协议,任何公司都可以免费使用,不允许修改后和衍生的代码做为闭源的商业软件发布和销售,MySQL 的版权在甲骨文手中,甲骨文可以推了其商业闭源版本。
完全自主研发:阿里OceanBase
基于Mysql封装:华为Open Gauss、中兴Golden DB,
基于PG封装:阿里PolarDB、TDSQL(PG版)、亚信Ant DB
国产数据库使用案例
腾讯TDSQL:张家港银行、西安银行
2019 年,张家港农商银行对外宣布新一代的核心系统采用 TDSQL 来承载数据。这是国内银行传统核心数据库首次实现国产化。
西安银行将互联网金融业务平台的 MySQL 数据库、互联网交易资金存管平台的 Oracle 数据库都迁移到了 OceanBase。据了解,这次迁移经历了 1 个月的应用系统软件改造,94 天的 8 轮内部技术测试及优化,14 个工作日的迁移灰度测试验证。
华为Gauss DB:工商银行、招商银行、民生银行
2015 年,华为和工商银行一起联合研发 GaussDB,并在工商银行中上线了 GaussOLAP,用来逐步替代海外的数据仓库。
2018 年,民生银行在内部应用了 GaussHTAP 数据库,用以支持流数据库、图数据库、空间数据、文本数据库和关系数据库五种类型数据的混合负载,解决扩展性和性能瓶颈问题。
2017 年,招商银行和华为就 GaussDB 数据库展开联合创新,2018 年,GaussOLTP 数据库在招商银行综合支付交易系统上线,支持了“手机银行”和“掌上生活”两个 App 的交易流水流量,日均请求量为 8500 万,峰值 TPS 达到 3500。除此之外,招商银行的信用卡风警系统、零售实时风险警示系统、手机银行收支账单系统、一网通用户日志系统、客户经理平台系统、供应链金融服务平台系统、分布式交易链路追踪系统等多套业务系统也已经在对接开发使用 GaussDB 数据库了,预计到 2019 年底,招商银行会有 17 套系统采用 GaussDB。
南大通用GBase:农业银行、中国银行(江苏分行)、江苏银行
2014 年,中国农业银行总行选用 GBase 数据库来搭建大数据平台项目。据相关报道显示,该项目主库的裸数据量超过 2.5PB,每天的增量数据为 3TB,最大表 5000 亿行;库内复杂作业 15000 多个,涉及 SQL 语句 100000 多个;日终加工时间为 8 小时,T+1 时间的双活集群间同步 3 小时完成;目前共部署 33 套集群,共 1156 个节点,裸数据总量超过 20PB。
中国银行股份有限公司江苏省分行在其营销分析平台中使用了南大通用的 GBase 8a 产品。据了解,中国银行江苏分行使用 GBase 8a MPP Cluster 大规模分布式并行数据库集群系统构建数据平台的核心数据管理层,数据量是 14TB,每天的增量是 20GB 数据,共 1300 多张表,最大表为 47 亿行数据,每天跑批 4-5 个小时。
江苏银行审计系统的存量数据有 5TB,传统数据库在高并发和高负荷下难以快速响应查询分析,因此,江苏银行选择使用 GBase 8a 来进行审计系统改造。具体的改造方案为:GBase 8a MPP Cluster 集群由 4 个计算节点和 1 台加载机组成,每个安全组内 2 个计算节点,共形成 2 个安全组,安全组内数据互为备份,形成高可用集群。
达梦DM7:建设银行、人民银行(湖北分行)
建设银行在业务收发应用平台中采用了 DM7,主要的开发平台是 X86 刀片服务器、RHEL 6.9 和 J2EE 架构,系统负载为 10GB 数据量和 200 并发。
人民银行湖北分行在金融基础信息查询 App 中应用了 DM7 DMWatch,其设计了一主托两备的读写分离方案,进行数据库读的集群多机负载均衡,系统负载的数据量为 20GB,主要的开发平台为 J2ee 架构、linux 系统。
中兴GoldenDB:中信银行
2019 年 10 月 26 日,中信银行成功上线了 StarCard 新核心系统,该系统采用了国产品牌的 X86 服务器搭建基础设施层,在线数据库使用 GoldenDB 数据库系统。在数据库方面,采用了分布式集群(HBASE+ES+HIVE)的解决方案,支持秒级时延的数据实时查询。据了解,目前该数据库在中信银行支持多个业务系统,包括卡中心客户服务、营销支撑、产品服务、信贷风险、运营支持等等。
人大金仓:交通银行、光大银行
OBASE 前身是交通银行与华东师范大学的产学研项目,是一款采用无共享架构的数据库。交通银行在贷记卡预授权、网联支付系统、银联代收付系统、批量代发工资、供应链系统等多个系统中采用了 OBASE。
光大银行的对公负债系统中应用了人大金仓的 KingbaseES 数据库,具体部署应用了“一主两备”的方案,分为应用服务器层、数据库层以及数据存储层,在双倍 TPS 压力下,场景的响应时间可保持在 2s 以内。
TiDB:北京银行
北京银行在多套重要的实时交易类系统中对接应用 TiDB 数据库,包括网联系统、银联无卡支付、金融互联服务平台等。2018 年的 3 月、5 月、6 月,北京银河分别对应用了 TiDB 数据库的相关系统进行了投产。