透过指标,盘点热门开源数据库

2023-12-12 01:59

本文主要是介绍透过指标,盘点热门开源数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2a751efc034624a313e285190f47bf51.png

近些年来,软件开源化趋势愈发明显,作为基础软件的数据库及相关产品首当其冲。很多国产数据库大厂,也纷纷迈向开源之路。本文从开源项目的指标入手,总结如何分析一款开源产品及当前国际、国内主流数据库及周边产品的开源表现如何。希望未来,有更多优秀开源产品/项目诞生。

1. 开源指标及分析

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

1).Github指标

  • Star

    可解释为`关注`或者`点赞`。当点击 star,表示喜欢这个项目或者通俗点可以把他理解成朋友圈的点赞吧,表示对这个项目的支持。

  • Fork

    克隆出一份属于自己的版本。可以对这个副本进行修改完善,当觉得没问题了,可以尝试发起 pull request 给原项目作者。

  • Commit

    当前分支的提交,commits表示提交数。

  • Pull request(pr)

    一种通知机制。你修改他人的代码,将你的修改通知原来的作者,希望他合并你的修改,这就是 Pull Request。合并到主干版本的动作称为Merge PR。

  • Issue

    项目的问题讨论,对应issues表示问题讨论数。

2).Github用户角色

Apache 软件基金会(Apache Software Foundation,ASF)在开源软件界大名鼎鼎。ASF 能保证旗下 200 多个项目的社区活动运转良好,得益于其独特的组织架构和良好的制度。

8219e1badb67e209eef238867750599f.png

  • 用户 (User)

    通过使用社区的项目构建自己的业务架构的开发者都是Apache的用户。

  • 贡献者 (Contributor)

    帮助解答用户的问题,贡献代码或文档,在邮件列表中参与讨论设计和方案的都是 Contributor。

  • 提交者 (Committer)

    贡献多了以后,就有可能经过 PMC 的提议和投票,邀请你成为 Committer。成为 Committer 也就意味着正式加入 Apache了,不但拥有相应项目的写入权限还有 apache.org 的专属邮箱。成为 Committer 的一个福利是可以免费使用 JetBrains 家的全套付费产品,包括全宇宙最好用的 IntelliJ IDEA 。

  • PMC

    Committer 再往上走就是 PMC,这个必须由现有 PMC 成员提名。PMC 主要负责保证开源项目的社区活动都能运转良好,包括 Roadmap 的制定,版本的发布,Committer 的提拔。

3).指标分析

针对上述Github指标及内部统计数据,可将指标进行分类。本文统计中,后三类指标都是以最近的一个月的数字为参考。

  • 项目维度:stars、forks

    上述指标,,反映项目整体活跃程度。

  • 开发者维度:PMC member、Committer、Contributor

    上述指标,反映开发者生态是否健康,是否形成有层次梯队的开发者队伍。

  • 开发活跃度:Active/Merge/Open Pull Request

    上述指标,反映开发者活跃程度,是否有规模化开发者参与其中。

  • 使用者维度:Active/Close/New Issue

    上述指标,反映使用者活跃程度,是否规模化使用并有问题可反馈。同时,问题是否及时得到解答并关闭。

  • 代码维度:authors、commits、files、additions、deletions

    上述指标,反映代码修改的活跃度,包括参与修改人数、提交数、修改文件数、新增及删除代码数量。后两个指标相比还可间接反馈出软件重构度。

2. 全球数据库开源情况

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

此章节几张图均来自db-engines.com,其反馈是数据库流行程度。从开源与商业整体对比来看,在今年的早些时候,开源已超越商业数据库。

3e9cfc7da11b0e87c61081b1de3099d7.png

下面图则从产品梳理与流行度评分两个维度,对比商业与开源产品的对比。

0e650010ea407e1971e41258ad39add6.png

针对不同数据库类别,开源与商业的占比也差距很大。

86dc4630a0ce6565fb68c2d57a2ff91a.png

下图则是列举最为流行的开源数据库,想必这几款产品大家都很难熟悉。这里有个有趣的现象,就是这些开源协议。这主要是受到近期开源产品商业化策略导致的。以MongoDB、Redis、ES为代表的产品,纷纷修改了开源协议。

8f64c71c8c3c154bb781538c6c21523e.png

3. 国内数据库开源情况

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

国内数据库的开源情况,与国际差别很大。最近一两年来,国内各大数据库厂商逐步推进开源策略。下图是从墨天轮社区中,整理的Top国内开源数据库产品。这里面包括了阿里、华为等云大厂,也包括PingCAP、TAOS这样的明星初创企业。

818ed16e57064a25772c536310dc8bcb.png

从国内开源数据库来看,TiDB也为一骑绝尘,其托管的三个项目累计star数接近4w,遥遥领先于其他产品。仅次于TiDB的是TDengine,作为后来者star达到1.7w,成绩也不错。相比较而言,几个大厂的产品,要么开源时间不长,要么运营还需加强,整体表现有待提升。从Contributors角度,也大体印证了这个特点。

c18d436b26771acea0ed0b53093290d0.png

进一步从开发者、使用者及代码层面对比,也大体符合上面的规律。特别是TiDB,开发者活跃、用户众多、代码变化也很大,可以说2~3年基本就完成一次重构。

ae8224c668561416baba4b15db76a481.png

4. 国内数据库中间件开源情况

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

数据库中间件,在过去几年中发展非常迅速,很好地解决互联网公司的众多场景。但近些年来,随着分布式数据库的兴起,数据库中间件似乎有所沉寂。但正如我之前文章谈到的,在很多用户场景下,数据库中间件仍然大有可为。特别是随着,数据库碎片化、数据使用深化,对数据计算的要求越来越高,这些都为数据库中间件带来利好。这里收集了国内外主流的数据库中间件,发现些有趣的问题。以shardingsphere、vitess形成头部玩家,这两个产品的的关注度均超过1w。其中vitess较早实现商业化,估值不错;近期国内shardingsphere也走出商业化的一步,令人期待。其他产品,有的star数也不少,但整体活跃度不高,这点可从后面数据看出。这里有个新增的力量,阿里的polardb-x,我也将其归入此类。因开源时间不长,目前活跃度不高。

2a90d2ba537be3aef487b4b50df5bbcd.png

承接上文,对比这些数据库中间件产品的开发、用户及代码情况,则差距更为明显。基本上shardingsphere三倍于vitess,其余产品除dble外基本都处于停滞状态。dble背后有厂商-爱可生支持,尚有一定的活跃度,但无法与前两者对比。特别是shardingsphere,基本上可代表数据库中间件的事实标准,无论从开发活跃度、用户使用量还是代码迭代更新的速度,都遥遥领先于其他产品。

295077d9262e6511643772af81811920.png

5. Apache典型开源项目情况

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

Apache作为全球最为知名的开源软件基金会,旗下孵化出大量优秀的基础软件。这里罗列了大家常见的一些apache项目,其中也包括国内有代表性的shardingsphere、pulsar、kylin等项目。

48a6b5e9d08616c3d9e5d69a89876eec.png

从产品活跃度来看,国内项目的活跃度要优于国外项目,这也是国内庞大开发人口基数的优势,同时也是近些年来开源项目逐步走向国际佐证。相信未来,开源软件将成为大势所趋,人心所向。

35b4cea7d676298812a54d551af49594.png

f4ecb0e3bfab1ef9c8cab09ff816dcc8.png

韩锋频道:

关注技术、管理、随想。

长按扫码可关注

这篇关于透过指标,盘点热门开源数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/482845

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

DM8数据库安装后配置

1 前言 在上篇文章中,我们已经成功将库装好。在安装完成后,为了能够更好地满足应用需求和保障系统的安全稳定运行,通常需要进行一些基本的配置。下面是一些常见的配置项: 数据库服务注册:默认包含14个功能模块,将这些模块注册成服务后,可以更好的启动和管理这些功能;基本的实例参数配置:契合应用场景和发挥系统的最大性能;备份:有备无患;… 2 注册实例服务 注册了实例服务后,可以使用系统服务管理,