为什么 PostgreSQL 的适用性很强?
说起使用数量最大的数据库SQLite 它是全球最广泛部署的数据库引擎。它存在于你的手机中,存在于你的浏览器中,如果你搜索你的电脑,你也会在其中找到它的 .db 文件。SQLite 受到 Postgres 的启发。其作者 Richard Hipp 称 SQLite 是 Postgres 的“概念分支”。两者没有共享代码,但是 Postgres 是他让 SQLite对准的北极星。他说,两者在以下方面是互补的。
如今,这些区别已经开始模糊。例如,SQLite被认为是嵌入式数据库。但是Postgres也正在成为嵌入式数据库。例如,我们说Steampipe嵌入了Postgres。这在技术上并不是真的。你不能将Postgres链接到一个二进制应用程序中,但是你可以(就像Steampipe一样)提供一个二进制文件,让它安装、运行并与Postgres合作。或者考虑Yugabyte,它将Postgres查询层附加到分布式存储层。也许没有在技术上嵌入Postgres的意义,但在道义上等同于嵌入。
Steampipe和Yugabyte不仅兼容Postgres,它们实际上是具有额外功能的Postgres(Steampipe用于API的外部数据封装器,Yugabyte用于分布式存储)。用户可以使用Postgres的交互式终端psql连接到这些产品;他们可以编写相同类型的查询;他们可以使用捆绑的或第三方扩展。
虽然PG不会很快像SQLite一样有上亿的部署量,但一般的设备完全有能力运行Postgres,PG正在越来越多在设备上使用。今天的SQL数据库比它们的先辈可以更好地为文件系统提供了更全面的数据存储支持,得益于丰富的API接口,Postgres不仅将关系数据与JSON对象可以存储在一起,还可以包括键值、全文、层次、地理空间、时间序列和列数据。
本地数据库是文件存储的一种补充形势。为了普及化数据库存储,这样的数据库应该是一个开源产品。SQLite已经引领了这个领域。Postgres是一个好的选择。
Postgres提供了丰富的数据复制机制来完成数据的传输,物理复制和逻辑复制都可以支持数据的传输和复制。Postgres强大的扩展生态系统增强了内置功能。第三方扩展pglogical实现了用于非Postgres发布者和订阅者(例如Kafka和RabbitMQ)的逻辑复制。在这个不断扩大的类别中,您可以找到许多其他解决方案。
与此同时,捆绑的 postgres_fdw 扩展利用了Postgres的外部数据包装器机制,以连接本地和远程表进行读写操作。无论如何,在您的设备上运行的Postgres实例,或者在您的个人和团队云中运行的实例,都能够与其他地方运行的实例同步。
数据科学文献中有许多指南,展示如何在数据科学家中流行的编程语言,如Python和R中重新实现SQL的核心功能。一个典型的Python配方以将数据从SQL表导入Pandas dataframe开始,Pandas dataframe是Python风格数据科学的核心构造,然后展示如何将SQL习语翻译成相应的Pandas习语。
除此以外POSTGRESQL支持丰富的语言来进行操作数据库,如通过python或 R语言都可以操作POSTGRESQL 来进行数据的查询利用这些语言可以让你操作Postgresql 更方便,扩展性更高。
所以POSTGRESQL 不光可以运行在大型服务器上,或云上RDS 方式提供服务,同时POSTGRESQL可以工作在任何运行环境, PG 具备在各种设备上运行的能力。
为什么 PostgreSQL 的适用性很强?的更多相关文章
- 对Delphi控件作用的新理解(控件本身的源代码就是一个很强的工业级源码)
最近几天,对Delphi控件的含义有了一个新的理解.其实它不仅仅是给程序员提供功能的一个表层调用,控件本身的源代码就是一个很强的工业级源码.而且它的Main例子,往往就已经是半成品.而别的语言里没有那 ...
- C#实现如何判断一个数组中是否有重复的元素 返回一个数组升序排列后的位置信息--C#程序举例 求生欲很强的数据库 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
C#实现如何判断一个数组中是否有重复的元素 如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hasht ...
- 为什么你有10年经验,但成不了专家?(重复性刻意训练+反馈修正,练习的精髓是要持续地做自己做不好的,太精彩了)真正的高手都有很强的自学能力,老师和教练的最重要作用是提供即时的反馈(莫非我从小到大学习不好的原因在这里?没有单独刻意训练?) good
也许简单看书就是没有刻意训练.更没有反馈,所以没有效果 我倒是想起自己,研究VCL源码的时候,都是自己给自己提问,然后苦思冥想.自己解决问题,然后Windows编程水平果然上了一个台阶.对什么叫做“框 ...
- 扩展性很强的python实现方式
一:先上目录结构 二:各个文件的代码 # -*- coding: utf-8 -*- # @Author : Felix Wang # @time : 2018/7/4 16:42 from util ...
- MinIO很强-让我放弃FastDFS拥抱MinIO的8个理由
目前可用于文件存储的网络服务选择有很多,比如阿里云OSS.七牛云.腾讯云等等,但是收费都有点小贵.为了帮公司节约成本,之前一直是使用fastDFS作为文件服务器,准确的说是图片服务器.直到我发现了Mi ...
- Mac上安装配置和简单使用PostgreSQL(仍然很不懂)
因为想要使用推荐的rails-template.需要使用postgres.并初始化了一个用户postgres,密码是postgres.( e.g. $ createuser -d postgres ) ...
- HDU 3938 Portal (离线并查集,此题思路很强!!!,得到所谓的距离很巧妙)
Portal Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
- 很强,我终于找到绘制E-R图的正确姿势
前言 不知道大家是不是和我一样,为了追求速度,开发时一般都是直接建表就干,哪管什么E-R图.直到xxx项目找上你,某某客户要E-R图,提供一下吧.这时候就很烦,从头绘制E-R图成本真的很高,今天我就遇 ...
- Meta也很强
<!--http-equiv 必要属性--> <meta http-equiv="Content-Type" content="text/html; c ...
- 很强的PHP图片处理类
/*** 基本图片处理,用于完成图片缩入,水印添加* 当水印图超过目标图片尺寸时,水印图能自动适应目标图片而缩小* 水印图可以设置跟背景的合并度** Copyright(c) 2005 by ustb ...
随机推荐
- vue项目PC端如何适配不同分辨率屏幕
配置前言 项目构建:基于vue-cli3构建,使用postcss-px2rem px2rem-loader插件进行rem适配实现原理:每次打包,webpack通过使用插件postcss-px2rem, ...
- [Pytorch框架] 5.3 Fashion MNIST进行分类
文章目录 5.3 Fashion MNIST进行分类 Fashion MNIST 介绍 数据集介绍 分类 格式 数据提交 数据加载 创建网络 损失函数 优化器 开始训练 训练后操作 可视化损失函数 保 ...
- 驱动开发:通过MDL映射实现多次通信
在前几篇文章中LyShark通过多种方式实现了驱动程序与应用层之间的通信,这其中就包括了通过运用SystemBuf缓冲区通信,运用ReadFile读写通信,运用PIPE管道通信,以及运用ASYNC反向 ...
- C++ Primer 5th 阅读笔记:前言
机器效率和编程效率 Its focus, and that of its programming community, has widened from looking mostly at machi ...
- 基于.NetCore开发博客项目 StarBlog - (27) 使用JWT保护接口
前言 这是StarBlog系列在2023年的第二篇更新 这几个月都在忙,更新变得很不勤快,但是拖着不更新我的心里更慌,很久没写,要开头就变得很难 说回正题,之前的文章里,我们已经把博客关键的接口都开发 ...
- 2021-04-15:给定一个由字符串组成的数组strs,必须把所有的字符串拼接起来,返回所有可能的拼接结果中,字典序最小的结果。
2021-04-15:给定一个由字符串组成的数组strs,必须把所有的字符串拼接起来,返回所有可能的拼接结果中,字典序最小的结果. 福大大 答案2021-04-15: "b"和&q ...
- 2021-09-28:合并区间。以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠
2021-09-28:合并区间.以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] .请你合并所有重叠的区间,并返回一个不重叠 ...
- (偶尔更新)【Linux】Linux常见不常用命令收集
本文时间 2023-05-20 作者:sugerqube漆瓷 cd,vi,clear这些属于常见常用命令本文不再赘述. 安装命令 yum install vim举例安装vim rpm -ivh a.r ...
- Redis内存兜底策略——内存淘汰及回收机制
Redis内存兜底策略--内存淘汰及回收机制 Redis内存淘汰及回收策略都是Redis内存优化兜底的策略,那它们是如何进行兜底的呢?先来说明一下什么是内存淘汰和内存回收策略: Redis内存淘汰:当 ...
- RStuido Server 选择不同的 R 版本(conda 中的不同 R 版本)
自从上一次服务器重装系统之后,总感觉缺少了一些东西,安装R包很多依赖库报错,也可以解决,但总是存在,烦. 一天,一个同事问我说ggpubr包安装不成功,我就自己试了一下,真的是--安装不成功. 当你到 ...