数据库新闻速递 -- POSTGRESQL 正在蚕食数据库市场 (翻译)

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加 liuaustin3微信号 ,在新加的朋友会分到3群(共1140人左右 1 + 2 + 3)

1c49d36622119f845fc567179b0c83bc.png

尽管NoSQL数据库继续蓬勃发展,但关系型数据库仍然远未结束。但在关系型数据库中,有一个数据库在不断增长的同时,其他更成熟的数据库却付出了代价。是的,我说的是PostgreSQL。真正的问题不是为什么开发人员喜欢PostgreSQL,有很多原因可以解释。而是为什么开发人员现在如此喜欢它。

持续发展的时刻 PostgreSQL的复兴已经持续了几年,这是我多次写过的内容。它受欢迎的原因?有几个原因,正如顾问Tanel Poder所总结的:

  1. 丰富的功能集

  2. 极高的可扩展性(扩展、钩子)

  3. 开源

  4. “宽松”的开源许可证 事实是,这些特点已经存在了一段时间,而且远在PostgreSQL真正开始攀升受欢迎程度之前就已经如此(也许最能反映PostgreSQL相对于关系型数据库巨头增长率的是OnGres创始人Álvaro Hernández,他使用线性刻度图展示了PostgreSQL相对于传统关系型数据库的相对增长):

    6b78eea224a801e2faf43f6a471d37c0.png

MySQL早期加入了开源关系型数据库的行列,但更多地用于构建初创网络,而不是取代主流企业数据库。MySQL最终被Oracle收购,这似乎并未减缓其发展,但可能降低了社区的热情。因此,随着时间的推移,MySQL相对于PostgreSQL不仅在流行度上下降,而且也相对于一批新兴的NoSQL数据库(如Amazon DynamoDB、MongoDB、Redis、Apache Cassandra等)下降。

无论如何,没有人质疑PostgreSQL的优秀性,以及它在偏好通用数据库的行业趋势中所扮演的角色。这并非新闻。新闻的是,现在人们争相进行现代化改造,而PostgreSQL在其中扮演的角色。

推动简化操作 尽管有各种各样的原因可供喜欢PostgreSQL的人选择,但也许有一个原因显得突出:它很简单。它并不一定比其他关系型数据库更易于学习或使用(甚至连训练过MySQL的新手都不太可能转向它)。但对于那些已经习惯了关系型数据库并希望摆脱昂贵的Oracle等数据库的人来说,PostgreSQL就是“简单按钮”。正如EDB首席执行官Ed Boyajian曾告诉我一样,大多数公司并不寻求搬迁和迁移,但他们会选择PostgreSQL来构建新的应用程序,因为他们已经在公司内部积累了几十年的Oracle、SQL Server和DB2的SQL/关系技能。

因此,即使对于他们的使用情况来说,另一种数据库模型实际上可能更好,他们也会选择“简单按钮”即使用PostgreSQL。正如前AWS工程师Dave Cuthbert所指出的那样,"更多应用程序使用关系型[数据库],是因为这是他们唯一掌握的工具"。

当然,在许多企业工作负载中,进行架构设计的人实际上并不是企业的雇员,而是作为顾问被雇佣。在最大的全球系统集成商中,人们已经具备了内建的关系型数据库经验,从我在行业人士的交谈中了解到,这往往是他们推动PostgreSQL的主要原因。

在大流行病期间和之后,企业需要大量现代化企业基础设施以使其更具敏捷性,并对快速变化的客户需求做出响应。这些全球系统集成商接手了现代化项目,并经常应用最容易部署的技术,从而为他们的服务赚取最高额的利润。我们可以讨论这是否实际上对于想要进行现代化改造的客户来说是最好的选择,但理解其中的基本逻辑并不难。

现在,如果你是我,为一家文档数据库公司工作,可以认为这种对关系型数据库的明显过度依赖更多地是惯性所致,而不是有意采用现代数据基础设施。在我看来,对于“为什么现在?”这个问题的回答很多都是“因为它很简单。”而不是因为它是最好的选择。

当然,“最好”是主观的,“因为它很简单”一直是从开源到云计算的主要推动因素。便利性是一种令人上瘾的东西。那些想要与PostgreSQL的“简单按钮”竞争的公司需要提出至少同样有吸引力的解决方案。与此同时,PostgreSQL似乎并没有侵蚀NoSQL数据库的市场份额,但它肯定是以牺牲关系型数据库的利益来实现增长的。

0a771926c3881f3f40ab9196e670262f.png

6f77b67794b8f3cee4464c44ca1f5106.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/32311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习笔记 - 使用 YOLOv5、O​​penCV、Python 和 C++ 检测物体

一、YOLO v5简述 YOLO v5虽然已经不是最先进的对象检测器,但是YOLOv5 使用了一个简单的卷积神经网络 CNN架构(相对YOLO v8来讲,不过v8精度是更高了一些),更易理解。这里主要介绍如何轻松使用 YOLO v5来识别图像中的对象。将使用 OpenCV、Python 和 C++ 来加载和调用我们的…

K8S系列文章之 一键部署K8S环境

部署的原理是基于自动化部署工具 Ansible 实现的,需要提前安装Ansible 并配置下主机节点环境 1. 安装 Ansible 首先ansible基于python2.X 环境,默认centos都已经安装好了python2环境 // 最好更新下库 // yum update yum install -y epel-release yum i…

flask使用cookie (设置cookie与查看cookie内容)

1.flask包cookie的使用 设置cookie app.route(/set_cookie) def set_cookie():resp make_response(Setting cookie)resp.set_cookie(username, John)return resp查看cookie: app.route(/get_cookie) def get_cookie():username request.cookies.get(username)return Welco…

Spring系列四:AOP切面编程

文章目录 💗AOP-官方文档🍝AOP 讲解🍝AOP APIs 💗动态代理🍝初始动态代理🍝动态代理深入🍝AOP问题提出📗使用土方法解决📗 对土方法解耦-开发最简单的AOP类📗…

木马免杀(篇二)shellcode 学习

木马免杀(篇二)shellcode 学习 —— shellcode介绍 shellcode 是一段利用软件漏洞进行执行的机器码, 通常用汇编语言编写并被翻译为十六进制操作码,因常被攻击者用于获取系统的命令终端shell 接口,所以被称为 shellc…

并发编程面试题2

并发编程面试题2 一、AQS高频问题: 1.1 AQS是什么? AQS就是一个抽象队列同步器,abstract queued sychronizer,本质就是一个抽象类。 AQS中有一个核心属性state,其次还有一个双向链表以及一个单项链表。 首先state…

【Ubuntu】安装docker,docker compose 以及部署一个docker应用

大家好!在过去,已经分享了很多有关通过Docker部署应用的内容。今天,我将为大家详细介绍如何在Ubuntu系统上部署最新的Docker平台。 Docker是什么 Docker是一个开源的容器化平台,它允许您将应用程序及其所有依赖项打包到称为容器…

CH343 USB转串口芯片资料下载(合集)

1、产品手册 CH343DS1.PDF - 南京沁恒微电子股份有限公司CH343技术手册,USB转单串口芯片,支持最高6M波特率,串口信号支持1.8~5V,内置晶振。CH343使用系统集成的CDC驱动或厂商驱动。厂商驱动支持完整串口功能和更高波特率。https:…

基于STM32微控制器的物联网(IoT)节点设计与实现

基于STM32微控制器的物联网(IoT)节点的设计和实现。我们讨论物联网节点的基本概念和功能,并详细介绍了STM32微控制器的特点和优势。然后,我们将探讨如何使用STM32开发环境和相关的硬件模块来设计和实现一个完整的物联网节点。最后,我们将提供一个示例代码,展示如何在STM3…

【24择校指南】南京大学计算机考研考情分析

南京大学(A) 考研难度(☆☆☆☆☆) 内容:23考情概况(拟录取和复试分数人数统计)、院校概况、23初试科目、23复试详情、参考书目、各科目考情分析、各专业考情分析。 正文2178字,预计阅读:6分…

Mr. Cappuccino的第59杯咖啡——简单手写SpringIOC框架

简单手写SpringIOC框架 环境搭建基于XML方式项目结构项目代码运行结果 基于注解方式项目结构项目代码运行结果 简单手写SpringIOC框架核心原理基于XML方式原理项目结构项目代码运行结果 基于注解方式原理项目结构项目代码运行结果 环境搭建 基于XML方式 项目结构 项目代码 p…

JSP实训项目设计报告—MVC简易购物商城

JSP实训项目设计报告—MVC简易购物商城 文章目录 JSP实训项目设计报告—MVC简易购物商城设计目的设计要求设计思路系统要求单点登录模块商品展示模块购物车展示模块 概要设计Model层View层Controller层 详细设计Model层View层登录界面系统主界面 Controller层 系统运行效果项目…

kafka是有序的吗?如何保证有序?

首先,Kafka无法保证消息的全局有序性,这是因为Kafka的设计中允许多个生产者并行地向同一个主题写入消息。而且,一个主题可能会被划分为多个分区,每个分区都可以在独立的生产者和消费者之间进行并行处理。因此,生产者将…

【MongoDB】数据库、集合、文档常用CRUD命令

目录 一、数据库操作 1、创建数据库操作 2、查看当前有哪些数据库 3、查看当前在使用哪个数据库 4、删除数据库 二、集合操作 1、查看有哪些集合 2、删除集合 3、创建集合 三、文档基本操作 1、插入数据 2、查询数据 3、删除数据 4、修改数据 四、文档分页查询 …

CSP复习每日一题(四)

树的重心 给定一颗树,树中包含 n n n 个结点(编号 1 ∼ n 1∼n 1∼n)和 n − 1 n−1 n−1条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义: 重心是指树中的一…

试图将更改推送到 GitHub,但是远程仓库已经包含了您本地没有的工作(可能是其他人提交的修改)

这通常是由于其他人或其他仓库推送到了相同的分支上,导致您的本地仓库和远程仓库之间存在冲突。 错误信息: To github.com:8upersaiyan/CKmuduo.git ! [rejected] main -> main (fetch first) error: failed to push some refs to github.com:8upers…

元宇宙时代来临,AI数字人的应用方式有哪些?

在数字化背景下,元宇宙的时代已经来临,当你看到网络新闻上各形各色的虚拟数字人时,你是不是也有些都心动呢?与真人相比,AI虚拟数字人还具有成本低廉并且不受时间、空间限制的特点,数字人的使用场景正在逐渐…

React集成tinymce插件

目录 一、Tinymce介绍 二、React集成Tinymce 1、安装tinymce/tinymce-react组件 2、React中引用 三、如何配置中文语言包 1、下载中文包 2、把语言文件放入tinymce 3、tinymce配置项中配置语言 一、Tinymce介绍 官网:The Most Advanced WYSIWYG Editor | T…

【脚踢数据结构】深入理解栈

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,Linux基础,ARM开发板,软件配置等领域博主🌍快上🚘,一起学习,让我们成为一个强大的攻城狮!送给自己和读者的一句鸡汤🤔&…

数据清理在数据科学中的重要性

什么是数据清理? 推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 在数据科学中,数据清理是识别不正确数据并修复错误的过程,以便最终数据集可供使用。错误可能包括重复字段、格式不正确、字段不完整、数据不相关或不准…