开源数据库的国际化思考与实践

article/2025/10/3 15:50:52

整理 | 小雨青年

出品 | CSDN(ID:CSDNnews)

在全球开源技术掌门人高峰论坛上,PingCAP 联合创始人兼CTO 黄东旭分享了《开源数据库的国际化思考与实践》。

开源已死?不,还差得远

可能因为TiDB 是开源的,最近在国内开源也是比较热的主题。有些朋友会说Snowflake 也不开源,或者Databricks的Delta Lake 一开始也没有开源,并且现在一些云服务厂商,比如 AWS Aurora 的 Redshift ,基本都不开源。所以开源会是数据库或者新一代的基础软件的一个必要条件吗?

下图为一个名为ossinsight 的开源项目,它把Github上的数据实时抓下来做数据分析。从宏观角度来看,开源项目即使基数很大,仍然在呈指数级地增长。

在这个趋势下,开源变得越来越重要,如果新的数据产品或者数据库软件不开源,那么它的机会是不大的,毕竟现在很难在成就一个Snowflake 。开源仍然是现代数据库或者其他项目冷启动最好的方式。

开发方式正在被重塑

Supabase 是一家非常有意思的数据库公司,在它的主页有两句 slogan ,"Build in a weekend.Scale to millions."。从我们的角度来看,一周能Build 出来的也就是原型,而millions 对于数据库性能来说是个很小的数字。Supabase 提供的服务很简单,它把PostgreSQL 放到云上,给客户提供易用的服务。而它的目标客户不会关心它能不能跑一个亿的 TPS ,而是整体的用户体验非常流畅。

 

我们过去一直在关心数据库本身,但是开发者在使用产品过程中不止在使用数据库,还有用户体验上,比如数据导入导出、数据同步和服务上层的API 。现在更多的云服务公司、数据库公司的硬核能力不再变得那么重要,反而对于用户体验的关注会让产品更好用。

开发者的开发应用方式正在被重塑,用户体验在未来会变成数据库产品的兵家必争之地。谁能提供简单易用的服务谁就会赢,尤其是在云上。开发者的门槛在变得越来越低。以前的电商平台,要做双十一的服务,它背后的数据库技术、缓存技术、全链路技术和高并发技术等,对于开发者的知识和能力的要求都非常高。随着云上的服务和产品的出现,开发者构建这样的应用门槛变得非常低,只要会写前端就能构建出一个八九不离十的应用。

Vercel 是一个前端应用托管平台。如果开发者采用传统的应用托管,就要自己租服务器或者虚拟主机、选择数据库再把代码部署上去,而Vercel 把一切关于运维部署的东西都隐藏起来了。对于开发者来说,只要把业务代码提交到Github 上,Vercel 就会搞定后续的一切工作。如果开发者的电商业务流量暴涨,Vercel 还会解决可扩展性的问题解决。Vercel 会和其他厂商做整合,比如TiDB ,用户可以直接在Vercel 上使用 TiDB 的服务,而TiDB 本身的服务是可伸缩的,所以对于用户来讲得到的是全链路的解决方案。只要开发者会写前端,就能拥有其他厂商几十年的功力。

TiDB 在海外主要是以云服务的方式对客户提供服务,所以用户已经看不到底层部署主哪台机器上运行,这些对用户来说不用关心,他只需要关心怎么连上去数据、怎么导入导出,包括备份恢复这些全都已经内嵌到产品里了,所以使用数据库就是一个点点鼠标的事情。

 

开发者体验是一个非常重要的事情,而且在未来会越来越重要,因为开发者的门槛在变得越来越低。懂得这些分布系统或者数据库。的人其实没有那么多。而且事实上这个世界上就没有这么多双11,就没有这么多的这个极端的这种场景去需要这么高的这个极端的性能。

OALP 和 OLTP 之间的差距正在模糊

过去几十年,我们发明了太多的OLTP 数据库,比如Oracle 、MySQL 、DB2 、 PostgreSQL ,同时我们又发明了多个Data Warehouse ,比如Greenplum 、Terdata 、snowflake 。这样就导致整个系统非常复杂。

最近半年,尤其在美国,HTAP 是个非常重要的趋势。比如 Google 隆重推出了名为 AlloyDB 的全托管式 PostgreSQL 数据库,它的特点是支持实时分析。

 

最近这几个月,Snowflake 发布了 Unistore 的新服务。这个新的服务针对的 Workload 就是在线服务,比如支持事务,同时也支持分析型的负载。

两家巨头都发现,越来越靠近实时和交易型的数据库是一个很重要的方向。这背后的核心逻辑在于简单,因为二三十年前其实我们根本没有什么 OALP 和 OLTP 之分。数据库来讲,开发者只要会写 SQL ,在Oracle 或 DB2 上执行就结束了。数据库技术的演进和发展跟不上人们对于数据服务的需求,后来就分化出各种特定场景的数据库技术。因为OALP 和 OLTP 本质上来说底层要求的技术是不一样的。但是对于这个云上,这几年包括硬件、云、分布式技术的成熟,使用户体验上的融合是变成可能,而且融合到最后会以很简单的形式提供给用户,因为开发者去使用数据库的时候,一定会希望它是更简单的接口形式。

高性能?

经常有人说数据库到底要不要追求高性能,当然要。但是高性能到底意味着什么,目前没有一个人能够给我讲清楚。实际上大家真正去使用数据库的时候,更在意的是性能是不是可预期的,就是稳定性。

其实,可预期的性能比高性能更重要。比如说数据库服务告知开发者,不管是 100 并发、1000 并发甚至1 万并发响应都是100 毫秒,而不是说在压力小的时候 1 毫秒,压力大的时候是2秒。所以不稳定的快不如稳定的慢,尤其在云上。如果厂商要提供数据库服务的话,这一点是比单纯追求极致的性能会更加重要的设计思路。

Serverless 会变成下一件大事

这次不提云原生,因为目前来说所有东西都是云原生的,当云原生成为必选项以后,一定会出现基于云原生出现新的生态和技术。

Serverless 就是一个很好的例子,云原生的下一站一定是 Serverless 。这里需要一个新的概念 Full Stack Service 。比如 Vercel 这个网站和应用托管平台,前端不需要关心CDN 的服务器,应用层不需要管部署在那个服务上。这些新一代的服务提供商,他们在每个链路上都是 Serverless 的解决方案,以后整个链路串起来变成全栈 Serverless 的体验。

现在云上数据库存算分离已经变成基本要求,以后厂商能多大程度地去利用 Serverless 就意味着能多大程度地去利用云上的弹性的资源,能多大利用弹性的资源意味着能够创造多少利润空间,这点其实特别重要。

从SQL 到API

作为 Database 厂商,我们经历了 SQL 到 NoSQL 再到 new SQL 又回到了 SQL ,接下来 API 会变成兵家必争之地。SQL 是访问数据库的一个标准的语言,但是 SQL 其实离真正的应用还是有点远。真正的应用一定是通过 API 来去访问数据,但这意味着用户还要去管理 API 去写很多代码去封装数据库,把数据库的数据访问变成 API 再提供给应用。所以下一个趋势是让 API 的封装和使用变得更加的简单。

对一个数据库公司来说,用户是谁,很多人说是 DBA。早年我也觉得产品就是给像数据库的使用者、管理员和这个基础软件的开发者去用的。但是现在真正我们的用户是构建应用的开发者,甚至未来世界都可能没有DBA 。当然,目前来看 SQL 仍然是一个非常重要的一个接口,至少比 NoSQL 要好。


http://chatgpt.dhexx.cn/article/RkVT8b6A.shtml

相关文章

一个比 ClickHouse 还快的开源数据库

开源分析数据库 ClickHouse 以快著称,真的如此吗?我们通过对比测试来验证一下。 ClickHouse vs Oracle 先用 ClickHouse(简称 CH)、Oracle 数据库(简称 ORA)一起在相同的软硬件环境下做对比测试。测试基准使…

Java开源数据库引擎,数据库计算封闭性的一站式解决方案

目录 前言引入一、数据库封闭性带来的问题?问题1: ETL变成ELT甚至LETETL:ELT: 问题2: 中间表带来的资源消耗和耦合问题3: 多样性数据源问题4: 存储过程带来的安全和耦合问题问题5: 大数据性能导致的尴尬 二、开放的SPL解决方式多样源直接计算…

比较适合物联网的开源数据库

物联网产生大量的数据,包括流数据、时间序列数据、RFID数据、传感数据等。要有效地管理这些数据,就需要使用数据库。物联网数据的本质需要一种不同类型的数据库。以下是一些数据库,当与物联网一起使用时,会给出非常好的结果。 物联…

阿里巴巴开源的免费数据库工具Chat2DB

Chat2DB 是一款由阿里巴巴开源的免费数据库工具,它为开发人员提供了一个强大且易于使用的平台,用于存储和查询数据。与传统的数据库工具相比,Chat2DB 具有以下特点和优势: 多数据库支持:Chat2DB 可以与多种类型的数据库…

21款最优秀的开源数据库

摘要:几乎所有软件项目的开发都需要数据库的支持,目前,随着开源技术的迅速发展,越来越多的数据供应商选择开源数据库,为开源事业添砖加瓦。 作为一名软件开发人员或DBA,其中一份必不可少的工作就是与数据库…

一文带你了解开源数据库中的佼佼者 TOP 10

当今,大多数应用程序都需要在某个地方存储数据。对于 Web 应用程序,数据库是关键的“齿轮”。 很多企业和开发者在选择数据库时,会主要考虑的几个因素——一是它的成本,二是托管服务提供商的灵活性和支持力度。 出于多种原因&…

15个nosql数据库

1、MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,MongoDB的数据库访问速度是MySQL的10倍以上。MongoDB的并发读…

盘点2013:21款最优秀的开源数据库

作为一名软件开发人员或DBA,其中一份必不可少的工作就是与数据库打交道,比如MS SQL服务器、MySQL、Oracle、PostgreSQL、MongoDB等等。众所周知,其中MySQL是目前使用最广泛最好的免费开源数据库,此外,还有一些你不知道…

数据库设计学习总结

近期学习数据库也整理了一些笔记放上来供大家参考分享,相对来说比较基础。学习数据库个人觉得应该先把SQL语句熟悉了,然后再回头过来把数据库的整个设计过程强化下。别人说数据库设计(难度比较大)需要经验,可能吧&…

为什么要学习数据库以及数据库的选择

一、为什么要学习数据库 1.数据库概念 数据库(Database),就是暗转数据结构来组织、存储和管理数据,建立在计算机存储设备上的仓库。我们可以吧数据库看成电子化的文件库,也就是存储电子文件的处所,用户可以…

数据库学习资料和视频

数据库 博主在公众号后台设置了关键字回复, 回复下面的【】里面的内容, 可免费获得数据库视频和资料。 如回复:数据库 【数据库】 【1】oracle介绍和体系结构 【2】启动oracle服务和连接oracle数据库 【3】表的介绍和sqlplus相关操作 …

深度学习图像数据库总结(收藏用)

深度学习数据库总结 感谢感谢~收藏用! 原文出自:https://blog.csdn.net/chaipp0607/article/details/71403797 数据的准备工作是训练模型前的必要工作,显然这也是非常耗时的,所以在入门阶段我们完全可以用现有的开源图片库快速完…

数据库学习整理之常见运算符

运算符概述 1) 算术运算符 执行算术运算,例如:加、减、乘、除等。 2) 比较运算符 包括大于、小于、等于或不等于、等等。主要用于数值的比较、字符串的匹配等方面。 3) 逻辑运算符 包括与、或、非和异或、等逻辑运算符。其返回值为布尔型&#xff…

SQL Server 数据库学习

一、认识数据库 1、数据库的基本概念 2、数据库常用对象 3、数据库的组成 数据库主要由文件和文件组组成。数据库中所有的数据和对象都被存储在文件中。 二、创建数据库 1、创建数据库 对象资源管理器—数据库——右击——新建数据库 三、操作数据表与视图 1、创建数据表 空…

Access数据库学习

Access数据库学习 一. 新建数据库 二. 使用命令实现增删改查 直接增删改查命令增删改查查询 追加 更新 删除 新建Score表实现联合查询 喜欢的小伙伴可以尝试一下哦 这是小编公众号,请动动您可爱的小手手,关注一下💓&#x1f6…

推荐几个亲测好用高质量学习SQL的网站(建议收藏)

打开我的收藏夹,找出我曾经苦苦寻觅但却尘封已久的小网站—— 想什么呢,是正经学习SQL的网站,看完赶紧收藏学习起来! ①LintCode LintCode是我常用来刷算法题的网站,最近他们开发了一个SQL教程模块特好用&#xff0c…

推荐几个适合新手入门学习的SQL网站,在线就能练习

这里整理推荐几个我自己学习时用过的在线学习网站,对新手非常友好,帮助初学者快速入门SQL,在交互式的环境里学习,既不用安装也不用导入数据,在线就能思考和练习。 1.自学SQL网 适合小白学习,这里由浅及深的介绍了SQL的知识,每一个…

在线练习sql的各类网站

文章目录 1.LeetCode2.牛客网2.LintCode3.SQL Bolt4.SQL exercises5.Tutorialspoint6.SQL Fiddle7.MODE8.GeeksForGeeks 想练习SQL语句,又不想配置麻烦的环境,又或者想学习SQL,下面几个网站可能满足你的需求 1.LeetCode 网站:数据…

第6章 数据库编程---数据库原理及应用

第6章 数据库编程 1、理解ODBC连接数据库的方法 2、掌握数据库连接技术(JDBC) 3、掌握JavaWeb数据库编程 4、掌握数据库存储过程原理与编程 5、掌握数据库触发器原理与编程 6、掌握数据库游标的原理与编程 7、理解嵌入式SQL编程的过程 6.1 数据库…

数据库原理与应用--数据库系统概述

数据库系统的核心任务是数据管理 。数据库技术是一门研究如何存储、使用和管理数据的技术。 数据库的四个基本概念: 1、数据(Data) 数据即信息,用于描述事物与变化的符号记录,有着它的语法和语义。 2、数据库(DataBase , DB) 位于计算机…