国产分布式数据库谁主沉浮,何以主沉浮?

近日看了一个三方技术网站关于2021年6月国产数据库流行度的排名榜,TiDB、Oceanbase、PolarDB位居榜上前三甲。当然,这个排名榜不一定绝对的客观和真实,但也代表了国内企业在国产分布式数据库选型的一种趋势。作为IT行业的老兵,无论你身在什么行业,位居什么高度,我们都应该透过这个黄榜,来看看导致这一趋势的根本原因在于什么?究竟是这个产品的哪些特性帮助它实现了三甲之名?希望经验者能在以下几个方面提供这些产品可以立于不败之地的特性:

1. 横向扩展的能力以及稳定性如何?
2. 金融交易级的高可用和容灾要求是否可以达标?
3. 底层的存储引擎是什么类型?用户是否可以选择更适合业务类型的存储引擎?
4. 并发控制与读写性能之间是如何均衡处理的?
5. 可以包容的数据类型是什么(表、健值、文档...)?
6. 是否适合大规模的云环境,包括部署及运维的自动化兼容程度?
7. 特定的应用场景和通用的应用场景都能达到什么样的性能指标?
8. 针对MySQL、Oracle之类数据库的兼容性,迁移的难易度如何?
 
在以上诸多方面,其他的国产数据库果真相差很多么?比如说GaussDB、TDSQL、SequoiaDB等等。相信用实实在在的技术特性、参数以及实践案例描述排出来的名次或者报告更可靠,愿大家各献薄力,完善一份属于技术人内心当中的“技术榜”。

参与71

17 同行回答

lulihuan1987 lulihuan1987 课题专家组 数据库管理员 张家港行
这个三方技术网站每月的国产数据库的排名是流行度排名,评价体系有待商榷,而且很容易给我人误导认为是产品“好与坏”的排名,国产数据库目前来看都是出于起步期,本身问题也不少,还是需要静下心来打磨产品,自封的没意思,等真正把O替下来之后再说。横向扩展的能力以及稳定性如何?TDS...显示全部

这个三方技术网站每月的国产数据库的排名是流行度排名,评价体系有待商榷,而且很容易给我人误导认为是产品“好与坏”的排名,国产数据库目前来看都是出于起步期,本身问题也不少,还是需要静下心来打磨产品,自封的没意思,等真正把O替下来之后再说。

  1. 横向扩展的能力以及稳定性如何?

TDSQL支持在线扩展,计算和存储紧耦合,扩展原则:2分片->4分片->8分片->。。。->128分片及以上,扩展速度较快(速度接近于物理复制,主要取决于物理磁盘和网络),实测和实际应用稳定性高

  1. 金融交易级的高可用和容灾要求是否可以达标?

TDSQL组件高可用,同城机房可以同时接入业务,异地灾备通过日志进行同步,能够满足金融级高可用和容灾,已经有银行核心系统应用案例。

  1. 底层的存储引擎是什么类型?用户是否可以选择更适合业务类型的存储引擎?

TDSQL存储引擎基于MySQL的InnoDB,计算和存储在同节点,目前性能和稳定性均较高,暂时不支持使用其他存储引擎。

  1. 并发控制与读写性能之间是如何均衡处理的?

TDSQL并发控制基于业务设计和数据分布情况,尽可能规避锁以提升读写性能。

  1. 可以包容的数据类型是什么(表、健值、文档...)?

TDSQL目前仅支持结构化数据,不建议存储非结构化数据。

  1. 是否适合大规模的云环境,包括部署及运维的自动化兼容程度?

TDSQL存储和计算紧耦合,在云环境中部署性能没有物理机单独部署性能高;TDSQL目前部署和运维自动化程度较高,尤其是运维,提供管理、监控、性能分析、同构/异构数据同步等各种自动化运维功能。

  1. 特定的应用场景和通用的应用场景都能达到什么样的性能指标?

TDSQL在银行核心环境中高频交易混合场景,单节点可以达到1500TPS(150000QPS)左右,备注,2019年7月在张家港农商行新核心系统实测数据;

  1. 针对MySQL、Oracle之类数据库的兼容性,迁移的难易度如何?

TDSQL与MYSQL兼容性高,内核基于MySQL,迁移难度低;

TDSQL与Oracle兼容改造较多,迁移难度高;

收起
银行 · 2021-07-28
浏览2471
fanyqing fanyqing 课题专家组 技术架构 厦门银行
国产数据库目前正处于百家争鸣、百花齐放的战国争雄时代,还谈不上谁主沉浮。国产数据库的实现技术五花八门,但归根结底,不外乎两大技术路线:数据库访问中间件和原生分布式数据库。1)数据库访问中间件。中间件不保存数据,只负责数据的分片、数据汇总和事务的一致性等功能,后端的...显示全部

国产数据库目前正处于百家争鸣、百花齐放的战国争雄时代,还谈不上谁主沉浮。
国产数据库的实现技术五花八门,但归根结底,不外乎两大技术路线:数据库访问中间件和原生分布式数据库。
1)数据库访问中间件。中间件不保存数据,只负责数据的分片、数据汇总和事务的一致性等功能,后端的关系型数据库负责数据的处理,因此,大都用于数据量大、并发要求高的OLTP场景;
2)原生分布式数据库。因重构数据库系统,原生支持分布式事务处理与数据切分。在实际使用时,应根据业务场景,从数据的分片策略、数据的更新方式、数据的存储结构、日志类型、数据的一致性技术等方面进行数据库的选型。如对于写敏感的业务,分片策略可以选择Hash方式,保证数据的平衡分布;数据更新方式可以选择Append-Only方式,提高写性能;分析型业务,在数据库选择时,数据的存储结构可选择列存,数据如需回滚,应支持undo log等。
因此,从技术实现上看,就没有一款可以包打天下的数据库,在实际使用时,应根据业务场景和业务特点,选择合适的数据库。当然,在实际选型时,还应关注产商的研发能力、以及实施的案例等。

收起
银行 · 2021-07-28
浏览2501
匿名用户匿名用户
横向扩展的能力以及稳定性如何?SequoiaDB、GoldenDB、TDSQL、OceanBase 基本属于MYSQL系,GaussDB 基本属于PG系;扩展能力可参照原生DB扩展能力。金融交易级的高可用和容灾要求是否可以达标?SequoiaDB 设计的初衷和在金融行业的案例应该胜过其他。底层的存储引擎是什么类型?用...显示全部
  1. 横向扩展的能力以及稳定性如何?
SequoiaDB、GoldenDB、TDSQL、OceanBase 基本属于MYSQL系,GaussDB 基本属于PG系;扩展能力可参照原生DB扩展能力。
  1. 金融交易级的高可用和容灾要求是否可以达标?
SequoiaDB 设计的初衷和在金融行业的案例应该胜过其他。
  1. 底层的存储引擎是什么类型?用户是否可以选择更适合业务类型的存储引擎?
SequoiaDB、OceanBase 相对来讲是属于自研存储引擎,更适合设计初衷场景;GaussDB(继承 PostgreSQL)、GoldenDB & TDSQL(继承 MySQL)更兼顾通用场景。
  1. 并发控制与读写性能之间是如何均衡处理的?

采用乐观锁:SequoiaDB

采用悲观锁:OceanBase、GaussDB

  1. 可以包容的数据类型是什么(表、健值、文档...)?
表、JSON 大部分都支持,但是基本以二维表为主。
  1. 是否适合大规模的云环境,包括部署及运维的自动化兼容程度?
云环境的部署及自动化程度优秀者当属 OceanBase,因为它有先天环境优势。
  1. 特定的应用场景和通用的应用场景都能达到什么样的性能指标?
看看谁愿意提供一个POC报告。
  1. 针对MySQL、Oracle之类数据库的兼容性,迁移的难易度如何?
除了达梦DB,其他的都会面临Oracle特有SQL语义及函数的改造问题。MYSQL相对容易,因为多数都是基于MySQL的。
收起
银行 · 2021-07-21
浏览1666
huijx huijx 系统运维工程师 某银行
一些现实的问题会制约国产数据库的发展和使用。1、广大的技术人员。如果市场上寻找运维和开发人员较难,那么企业很担心数据库的运维保障。2、应用程序的支持。这是企业选择数据库最直接的原因。3、生态环境。有各种社区和渠道,可以交流提升。4、企业的宣传和推广。经常做活...显示全部

一些现实的问题会制约国产数据库的发展和使用。
1、广大的技术人员。如果市场上寻找运维和开发人员较难,那么企业很担心数据库的运维保障。
2、应用程序的支持。这是企业选择数据库最直接的原因。
3、生态环境。有各种社区和渠道,可以交流提升。
4、企业的宣传和推广。经常做活动大力宣传,免费或低价发送学习资料和培训券。

收起
银行 · 2021-07-30
浏览588
TravisSun TravisSun 软件开发工程师 某行金科
个人觉得,可以根据不同的使用场景在使用这些国产数据库的时候,列出一个雷达图,像奥运会上乒乓选手的一个能力的雷达图,展示出各个数据库的能力偏好。在使用选型的更直观进行判断。有的项目更偏向于稳定和性能方面。比如在高并发的情况批量注入数据能力。还是要根据具体的使用...显示全部

个人觉得,可以根据不同的使用场景在使用这些国产数据库的时候,列出一个雷达图,像奥运会上乒乓选手的一个能力的雷达图,展示出各个数据库的能力偏好。在使用选型的更直观进行判断。

有的项目更偏向于稳定和性能方面。比如在高并发的情况批量注入数据能力。还是要根据具体的使用场景来选择。

收起
银行 · 2021-07-29
浏览560

    ChatGPT 回答

    作为一名AI助手,我可以为您提供以下关于国产数据库在银行行业的应用方面的建议:

    1. 横向扩展的能力以及稳定性:在银行行业中,数据量大、访问量高,因此需要具备横向扩展的能力,以应对高并发的访问请求。同时,稳定性也是非常重要的,需要保证系统能够长时间稳定运行,不会出现数据丢失或系统崩溃等问题。
    2. 高可用和容灾要求:银行行业对于系统的高可用和容灾要求非常高,需要保证系统能够在任何情况下都能够正常运行,不会出现数据丢失或系统崩溃等问题。因此,国产数据库需要具备高可用和容灾的能力,能够在不同的场景下保证系统的稳定性和可用性。
    3. 存储引擎:国产数据库需要具备多种存储引擎,以满足不同业务场景的需求。同时,用户也需要能够根据业务需求选择适合的存储引擎。
    4. 并发控制和读写性能:在银行行业中,数据的并发访问非常高,因此需要具备良好的并发控制和读写性能,以保证系统能够高效地处理大量的并发请求。
    5. 数据类型:国产数据库需要支持多种数据类型,包括表、健值、文档等,以满足不同业务场景的需求。
    6. 云环境:国产数据库需要具备良好的云环境兼容性,包括部署和运维的自动化兼容程度,以满足银行行业对于云环境的需求。
    7. 应用场景:国产数据库需要能够满足特定的应用场景和通用的应用场景,能够达到相应的性能指标。
    8. 兼容性和迁移难易度:国产数据库需要具备良好的兼容性,能够与MySQL、Oracle等数据库进行兼容,并且需要具备良好的迁移难易度,以便银行行业能够顺利地进行数据库迁移。

    总的来说,国产数据库在银行行业中的应用需要具备高可用、高稳定性、高并发、多种存储引擎、多种数据类型、云环境兼容性、特定应用场景和通用应用场景的能力,并且需要具备良好的兼容性和迁移难易度。在这些方面,TiDB、Oceanbase、PolarDB等国产数据库相对其他国产数据库更具优势。

    提问者

    haizdl
    haizdl 10 16 34
    技术经理 大连
    擅长领域: 灾备存储服务器
    评论1647

    相关问题

    相关资料

    相关文章

    问题状态

  • 发布时间:2021-07-19
  • 关注会员:23 人
  • 问题浏览:9897
  • 最近回答:2023-05-23
  • X社区推广