说起使用数量最大的数据库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 的适用性很强?的更多相关文章

  1. 对Delphi控件作用的新理解(控件本身的源代码就是一个很强的工业级源码)

    最近几天,对Delphi控件的含义有了一个新的理解.其实它不仅仅是给程序员提供功能的一个表层调用,控件本身的源代码就是一个很强的工业级源码.而且它的Main例子,往往就已经是半成品.而别的语言里没有那 ...

  2. C#实现如何判断一个数组中是否有重复的元素 返回一个数组升序排列后的位置信息--C#程序举例 求生欲很强的数据库 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework

    C#实现如何判断一个数组中是否有重复的元素   如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hasht ...

  3. 为什么你有10年经验,但成不了专家?(重复性刻意训练+反馈修正,练习的精髓是要持续地做自己做不好的,太精彩了)真正的高手都有很强的自学能力,老师和教练的最重要作用是提供即时的反馈(莫非我从小到大学习不好的原因在这里?没有单独刻意训练?) good

    也许简单看书就是没有刻意训练.更没有反馈,所以没有效果 我倒是想起自己,研究VCL源码的时候,都是自己给自己提问,然后苦思冥想.自己解决问题,然后Windows编程水平果然上了一个台阶.对什么叫做“框 ...

  4. 扩展性很强的python实现方式

    一:先上目录结构 二:各个文件的代码 # -*- coding: utf-8 -*- # @Author : Felix Wang # @time : 2018/7/4 16:42 from util ...

  5. MinIO很强-让我放弃FastDFS拥抱MinIO的8个理由

    目前可用于文件存储的网络服务选择有很多,比如阿里云OSS.七牛云.腾讯云等等,但是收费都有点小贵.为了帮公司节约成本,之前一直是使用fastDFS作为文件服务器,准确的说是图片服务器.直到我发现了Mi ...

  6. Mac上安装配置和简单使用PostgreSQL(仍然很不懂)

    因为想要使用推荐的rails-template.需要使用postgres.并初始化了一个用户postgres,密码是postgres.( e.g. $ createuser -d postgres ) ...

  7. HDU 3938 Portal (离线并查集,此题思路很强!!!,得到所谓的距离很巧妙)

    Portal Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  8. 很强,我终于找到绘制E-R图的正确姿势

    前言 不知道大家是不是和我一样,为了追求速度,开发时一般都是直接建表就干,哪管什么E-R图.直到xxx项目找上你,某某客户要E-R图,提供一下吧.这时候就很烦,从头绘制E-R图成本真的很高,今天我就遇 ...

  9. Meta也很强

    <!--http-equiv 必要属性--> <meta http-equiv="Content-Type" content="text/html; c ...

  10. 很强的PHP图片处理类

    /*** 基本图片处理,用于完成图片缩入,水印添加* 当水印图超过目标图片尺寸时,水印图能自动适应目标图片而缩小* 水印图可以设置跟背景的合并度** Copyright(c) 2005 by ustb ...

随机推荐

  1. 【机器学习与深度学习理论要点】26.请列举AlexNet的特点

    请列举AlexNet的特点 使用ReLU作为激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了sigmoid在网络较深时梯度消失问题 使用dropout(丢弃学习)随机忽略一部分神经元 ...

  2. PM系统成本科目挂接教程-如何查手册和看帮助文档

    如果这么简单的问题都无法入门只能说回炉重造吧孩子. ---by SheZQ 正文 成本科目挂接作为PM系统最基本的取数依据,数据汇总的根本,是必须要会的技能.如果没有挂接,就会出现空值或者0值. 摘自 ...

  3. ATL创建的ActiveX实现JS回调

    最近公司的产品需要使用ActiveX文件上传.讨论了基本所有的技术,最后还是决定C++搞个ActiveX...但上传的回调费了半天劲,才搞定.代码如下 STDMETHODIMP CFileSelect ...

  4. 2022-11-08:以下go语言代码输出什么?A:2;B:编译错误;C:运行 panic。 package main import “fmt“ func main() { a := []int

    2022-11-08:以下go语言代码输出什么?A:2:B:编译错误:C:运行 panic. package main import "fmt" func main() { a : ...

  5. 2022-05-11:k8s安装easydarwin流媒体服务器,yaml如何写?

    2022-05-11:k8s安装easydarwin流媒体服务器,yaml如何写? 答案2022-05-11: yaml如下: apiVersion: apps/v1 kind: Deployment ...

  6. 2022-03-11:int n, int[][] roads, int x, int y, n表示城市数量,城市编号0~n-1, roads[i][j] == distance,表示城市i到城市j距

    2022-03-11:int n, int[][] roads, int x, int y, n表示城市数量,城市编号0~n-1, roads[i][j] == distance,表示城市i到城市j距 ...

  7. 2022-01-03:比如arr = {3,1,2,4}, 下标对应是:0 1 2 3, 你最开始选择一个下标进行操作,一旦最开始确定了是哪个下标,以后都只能在这个下标上进行操作。 比如你选定1下标,

    2022-01-03:比如arr = {3,1,2,4}, 下标对应是:0 1 2 3, 你最开始选择一个下标进行操作,一旦最开始确定了是哪个下标,以后都只能在这个下标上进行操作. 比如你选定1下标, ...

  8. 【Python笔记】第二章Python基本图形绘制

    嗨你好,我是AllenMi, 这是我学习北京理工大学的<Python语言程序设计>第二章笔记. 写笔记的目的一方面在于记录自己一步一步学习Python的内容, 另一方面也希望能够帮助到他人 ...

  9. nodejs和npm升级版本

    由于服务器环境的不同可能需要根据实际情况升降对应的nodejs 及npm 版本,最简单的例子就是 npx 只适用于 npm 5+ 看想用npx 那不升级咋办呢,还有如error eslint@7.16 ...

  10. Kali下压缩解压缩命令大全zip,tar,tar.gz,tar.bz2(转)

    转自http://blog.csdn.net/yangjin_unique/article/details/7824852 tar 解包:tar xvf FileName.tar 打包:tar cvf ...