说起使用数量最大的数据库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. 目标检测(Object Detection)

    文章目录 目标检测(Object Detection) 一.基本概念 1. 什么是目标检测 2. 目标检测的核心问题 3. 目标检测算法分类 1)Tow Stage 2)One Stage 4. 目标 ...

  2. 「学习笔记」SPFA 算法的优化

    与其说是 SPFA 算法的优化,倒不如说是 Bellman-Ford 算法的优化. 栈优化 将原本的 bfs 改为 dfs,在寻找负环时可能有着更高效的效率,但是最坏复杂度为指数级别. void df ...

  3. nginx配置文件编写及日志文件相关操作

    nginx配置文件编写及日志文件相关操作 目录 nginx配置文件编写及日志文件相关操作 nginx主配置文件扩展详解 部署nginx网站 注意事项 Nginx虚拟主机 nginx配置虚拟主机的三种方 ...

  4. pg序列的增删改查

    添加序列. CREATE SEQUENCE IF NOT EXISTS public.data_device_id_seq INCREMENT 1 START 1 MINVALUE 1 MAXVALU ...

  5. 2021-02-09:如何删除一个链表的倒数第n个元素?

    2021-02-09:如何删除一个链表的倒数第n个元素? 福哥答案2021-02-09: 1.创建虚拟头元素,虚拟头元素的Next指针指向头元素.2.根据快慢指针求倒数第n+1个元素,假设这个元素是s ...

  6. 2022-05-27:现在有N条鱼,每条鱼的体积为Ai,从左到右排列,数组arr给出。 每一轮,左边的大鱼一定会吃掉右边比自己小的第一条鱼, 并且每条鱼吃比自己小的鱼的事件是同时发生的。 返回多少轮之

    2022-05-27:现在有N条鱼,每条鱼的体积为Ai,从左到右排列,数组arr给出. 每一轮,左边的大鱼一定会吃掉右边比自己小的第一条鱼, 并且每条鱼吃比自己小的鱼的事件是同时发生的. 返回多少轮之 ...

  7. 2022-05-19:给定一个数组arr,给定一个正数M, 如果arr[i] + arr[j]可以被M整除,并且i < j,那么(i,j)叫做一个M整除对。 返回arr中M整除对的总数量。 来自微软。

    2022-05-19:给定一个数组arr,给定一个正数M, 如果arr[i] + arr[j]可以被M整除,并且i < j,那么(i,j)叫做一个M整除对. 返回arr中M整除对的总数量. 来自 ...

  8. 2021-04-05:给两个长度分别为M和N的整型数组nums1和nums2,其中每个值都不大于9,再给定一个正数K。 你可以在nums1和nums2中挑选数字,要求一共挑选K个,并且要从左到右挑。返回所有可能的结果中,代表最大数字的结果。

    2021-04-05:给两个长度分别为M和N的整型数组nums1和nums2,其中每个值都不大于9,再给定一个正数K. 你可以在nums1和nums2中挑选数字,要求一共挑选K个,并且要从左到右挑.返 ...

  9. tkinter的Entry设置为不可编辑状态

    前 首先我们知道,tkinter中有许许多多的控件,其中使用频繁的控件之一就是Entry(输入框),那么怎么设置它为不可编辑状态呢? state选项 一般我们在写Entry的时候只传入了一个maste ...

  10. 7-8 切分表达式——写个tokenizer吧 (20 分)

    1.题目描述: [先说点出题背景] 这个题是为低年级同学.学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂.如果是高年级.学过了正则表达式(Regular Expression) ...