专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
稀土掘金技术社区  ·  new Image() 预加载 为什么比 ... ·  昨天  
腾讯技术工程  ·  腾讯的CMS管理系统能好用到什么程度 ·  22 小时前  
51好读  ›  专栏  ›  OSC开源社区

数据库即架构

OSC开源社区  · 公众号  · 程序员  · 2025-01-25 23:33

正文

请到「今天看啥」查看全文


数据库是业务架构的核心,是不言自明的共识。但如果我们更进一步, 将数据库作为业务架构本身 ,又会如何?


什么,还能这么玩

在 PG 生态大会上,尤里展示了一个思路: 把所有业务逻辑,甚至是Web服务器都塞进 PostgreSQL 里 。比如可以通过写存储过程,把原本后端的一部分功能直接放到数据库里执行。为此,他还基于 PG 扩展做了很多“标准库”,从 HTTP、vfs、os 到 Python 模块,都可以内嵌在 PostgreSQL 中。

让我们来看一个有趣的例子,在 PostgreSQL 中执行以下 SQL,将会启动一个 Web 服务器,将 /pg/bin/ (或者其他任何目录)作为一个 Web 服务器的根目录对外提供服务。

是的,夭寿啊,PostgreSQL 数据库竟然拉起来了一个 HTTP 服务器,默认跑在 8080 端口!你可以把它当成 Nginx 用!

但更重要的是,你还可以将任意的 PostgreSQL 函数(支持 20 多种存储过程语言)挂载到 HTTP 端点上,实现你想要的任何东西。像这样的 Omni 扩展总共有 33 款,当然也不要忘了 PG 生态里还有接近 400 个开箱即用的扩展插件可以提供各种功能

这一套扩展全家桶,提供了在 PostgreSQL 中进行 Web 开发的能力!



在数据库中跑Web服务器是馊主意吗?

PostgREST 和 Postgraphile 这样的工具,可以将设计良好的 PostgreSQL Schema 直接转化为开箱即用的 RestAPI, 而类似 Omnigres 这样的工具干脆百尺竿头更进一步,直接让 HTTP 服务器运行在了 PG 数据库内部!







请到「今天看啥」查看全文