PostgreSQL 每周新闻 2024-11-13
PostgreSQL每周新闻#577 - 2024年11月13日
备注:英文原文地址
pgvector 0.8.0 发布
Postgres 网站上有一篇关于这个流行的矢量索引和查询扩展版本的文章,但我喜欢这篇文章,因为它深入探讨了索引扫描的变化。使用 0.8,我们获得了改进的性能、对迭代索引扫描的支持以及将数组转换为 sparsevec 的方法。
PostgreSQL & Database Everything
备注:英文原文地址
Postgres 网站上有一篇关于这个流行的矢量索引和查询扩展版本的文章,但我喜欢这篇文章,因为它深入探讨了索引扫描的变化。使用 0.8,我们获得了改进的性能、对迭代索引扫描的支持以及将数组转换为 sparsevec 的方法。
备注:英文原文地址
作者声称社区讨论经常提出 Postgres 难以升级的观点——但这是一个公平的观点吗?Shaun 研究了 Postgres 如何进行升级、pg_upgrade 方法的局限性,并考虑了如何使事情变得更好。
备注:英文原文地址
Hubert 一直在寻找一种方法来解决查找 Postgres 文档时出现的不一致问题 — 这就是结果。如果您要搜索的内容有一个单一的、规范的文档,您将直接进入该文档,否则您将看到一个帮助您解决歧义的页面(例如 *_connections)。这是一个好主意。
备注:英文原文地址
新的 Postgres 17 功能提醒!JSON_TABLE 是一种函数,可让您查询 JSON 数据并在典型的关系视图中获取结果。Paul 向我们展示了一个实际用例。
备注:英文原文地址
数据在更广泛的数据结构中的对齐长期以来一直是低级编程优化的重要因素,但它也会影响您的 Postgres 表。Renato 研究了表布局如何影响存储效率和查询性能,因为数据在磁盘上的排列和填充方式。
备注:英文原文地址
Postgres 17 终于发布了,我们开始看到一些对其众多增强功能的看法。Laurenz 在这里介绍了引起他注意的内容。
备注:英文原文地址
重磅版本来了。这是 Postgres 的最新主要版本,比 v16 更进了一步。一些新功能:
备注:英文原文地址
您的数据库可能非常适合日常操作,但当您需要运行一些复杂的分析查询时,就会出现一些重大决策。您可以复制数据以各种方式在其他地方进行分析,或者调整 Postgres 以更好地处理事情。对所涉及的概念进行了全面的高层次了解。还有 ▶️ 视频版本。
备注:英文原文地址
只需在 Postgres 上执行几个 SQL 查询即可实现俄罗斯方块!这不仅是一份令人印象深刻的工作,而且也具有教育意义,因为 Nuno 花时间在 README 中详细介绍了实现细节。
备注:英文原文地址
随着我们继续最终接近 Postgres 17(可能于本月晚些时候推出),Neon 反思了对 MERGE 的改进、改进的 JSON 函数和性能改进。EDB 也列出了自己的 Postgres 17 增强功能列表,其中增量备份支持位居榜首。
备注:英文原文地址
给定两个随机演员,您能否在六步之内通过其他曾一起出演电影的演员将这两位演员联系起来?这就是凯文·贝肯的六度空间游戏,Paul 着手看看 Postgres 能否解决寻找此类联系的任务。
备注:英文原文地址
即 16.4、15.8、14.13、13.16、12.20,甚至 Postgres 17 的第三个测试版。这些版本主要用于推出错误修复,但 pg_dump 漏洞也已得到解决。Postgres 17 最终版本(暂定)预计将于 9 月发布。
备注:英文原文地址
扩展和实用程序对,用于执行时间序列分析和各种统计数据的可视化,例如 I/O、锁、WAL 和缓冲区使用情况。新的 v0.7 版本增加了 Postgres 17 支持、新的 I/O 统计数据和收集数据的 Pandas 重采样。
备注:英文原文地址
“我想分享一些最喜欢的东西,它们可以让你更好地使用 Postgres。如果你刚刚开始使用 psql,或者还没有尝试太多默认设置,那么这篇文章适合你。”
备注:英文原文地址
Postgres 与许多数据库不同,它不直接受推动其发展的仁慈领导者或公司的控制。它有一个核心团队,PostgreSQL 社区协会拥有商标,但谁是“负责人”?Bruce 建议,我们所有人都是。
备注:英文原文地址
一本有趣、格式清晰的 wiki 式参考指南,介绍了 Postgres 的功能和设置,是对官方文档的良好补充。值得仔细研究一下。
备注:英文原文地址
Beta 1 发布一个月后,Postgres 17 的最终版本即将发布,距离发布还有很长的路要走,预计今年 9 月或 10 月。草稿版本说明仍然是了解最新动态的最佳方式。
备注:英文原文地址
如果您从未深入研究过 Postgres 性能或事务,那么您可能从未遇到过可见性地图。这是一种机制,Postgres 通过该机制跟踪表中哪些页面仅包含所有事务都可见的元组。这会对性能产生一些影响。
备注:英文原文地址
在最近的 Postgres 开发者大会上,Postgres 可能没有提交任何commits,但确实发生了很多事情。对于参加和未参加的人来说,这都是一份非常简洁而全面的总结。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
被誉为一种在 Postgres 中管理时间序列数据的简单开源方式,它主要是用 SQL 实现的。他们还需要时间来回答“为什么不使用 Timescale?”这个问题。主要是license。然而,就 pg_timeseries 功能而言,现在还处于早期阶段。
备注:英文原文地址
Bruce 刚刚宣布他已经完成了 Postgres 17 发行说明的初稿(将于今年晚些时候发布)。目前它主要是低级改进的要点列表,但它让发布感觉更接近了!第一个测试版即将到期。
备注:英文原文地址
Robert 多年来一直是 Postgres 的前十大提交者之一,但他反思了对 Postgres 做出贡献的过程有多么令人生畏,即使对于经验丰富的开发人员来说也是如此。这篇文章有很多有趣的见解。
备注:英文原文地址
Marco Ponders:“如果您可以使用 PostgreSQL 轻松查询具有最先进分析性能的 Data Lake,会怎么样?”Crunchy Bridge用于分析是Crunchy Data的Postgres平台提供S3集成,CSV/Parquet查询支持以及双向数据湖↔Postgres进口/导出的新部分。
备注:英文原文地址
这个幻灯片的标题确实引起了我的注意! 这是上周在 Postgres Conference 2024 上发表的演讲的幻灯片。 一位演讲者在这里解释了这一切。 他们正在开发 Postgres 扩展,以使 MySQL 应用程序能够在 Postgres 上运行,而无需更改任何代码(因此它将支持有线协议、SQL 方言等)。预计今年夏天将发布 alpha 版本。
备注:英文原文地址
距离发布还有几个月的时间,但 Postgres 17 正在成为另一个伟大的版本。 今天的问题中有很多内容都是关于 Postgres 17 的 - 每个人都感到兴奋!
备注:英文原文地址
一个方便的精选资源,已经存在多年,但仍在不断更新。它涵盖了从备份到 GUI 客户端、托管服务到 Docker 镜像、博客等所有领域。您还可以通过repo贡献自己的建议
备注:英文原文地址
我们非常悲伤地告诉大家,Postgres 贡献者(也是多本 Postgres 书籍的作者)Simon Riggs在英国杜克斯福德机场的一次坠机事故中丧生。核心团队也表达了自己的敬意,并提到了他的贡献,包括时间点恢复、热备用和同步复制。他在 12 月的 PGConf EU 上发表了最后一次演讲,主题是▶️ Postgres 的未来 20 年。
备注:英文原文地址
事务和备份涵盖了大多数情况,但是您能否对被视为从表中删除的数据执行类似于“取消删除”的操作? 使用 pg_dirtyread,你可以做很多事情,如果做不到这一点,你甚至可以深入挖掘 WAL..
备注:英文原文地址
为了解锁“(几乎)无限可扩展性”,Figma 的数据库团队在转向水平分片架构方面需要做大量工作(“从头到尾,我们的团队花了 大约九个月的时间来分片我们的第一个表”)。 这篇文章深入探讨了他们如何规划和执行该项目。
备注:英文原文地址
如果您使用 Postgres 和pgvector来处理大型语言嵌入(就像当时的风格一样),那么这是必读的。 Francesco 的介绍比您想象的更详细,您肯定会在这里学到一些技巧。
备注:英文原文地址
在过去的一两年里, pgvector和嵌入模型使得创建高级自然语言搜索系统变得更加容易。在这里,Tembo 展示了他们的堆栈和扩展如何使其成为一个更加简单、直接的过程。 pg_vectorize是一个特别的亮点,因为它是一个扩展,可以使用常见的 LLM 自动执行将文本转换为嵌入的许多过程。
备注:英文原文地址
Microsoft 与 OpenAI 密切关系的好处之一是它可以直接在 Azure 中使用,现在您可以使用 azure_ai 扩展以及 pgvector 从 Azure Database for PostgreSQL 中直接使用 Azure OpenAI 处理该工作的任何基于嵌入的结果。 克莱尔在 ▶️ 这个五分钟的截屏视频中展示了这一切在实践中的样子。
备注:英文原文地址
一篇内容丰富的文章,深入探讨了 SELECT、INSERT 和 DELETE 查询的优化,涵盖了使用索引、对结果分页、避免联接以及窗口函数如何提供帮助(或没有帮助)等领域。 它不只是 Postgres,而是明确考虑到 Postgres 而编写的。
备注:英文原文地址
当 Postgres 新版本发布时,查询规划器的改进很少成为头条新闻,但 Postgres 16 获得了一些重大改进,这些改进增强了我们今天的所有查询。 David 介绍了最近的 10 项优化,包括 Postgres 15 与 16 查询计划,并向我们展示了改进的方式和时间。
备注:英文原文地址
它只是一个充满链接的 GitHub 要点,但依靠 Stephan Schmidt 的Just Use Postgres for Everything中传达的想法来展示可让您完成所有操作的各种项目,添加后台作业、映射、审计日志记录、矢量搜索等功能, API 服务,更直接地连接到我们最喜欢的数据库。
备注:英文原文地址
Tembo 聘请了 PGXN 的创建者 David Wheeler 来负责 Postgres 扩展生态系统的工作,他已经开始分享他对事物的初步想法。 虽然有一些独立的尝试来聚合 Postgres 扩展(我们甚至自己做了一些),但 Postgres 可以从更官方、更权威的方法中受益吗?
备注:英文原文地址
一个进程可以锁定您的数据库,从而阻止其他进程和查询执行其工作。 如何找到哪个进程? 杰西深入并分享了一些有用的问题。
备注:英文原文地址
当一篇文章自称演示“在 PostgreSQL 中作为单个 SQL 查询的完整 GPT2 实现” ‘,您知道您将踏上一段艰难的旅程。大型语言模型中涉及的算法可以用SQL重新实现吗? (它不会很快取代 ChatGPT,但本文中的最终查询非常引人注目..)
备注:英文原文地址
🏆数据库引擎< a i=4> 是一个历史悠久的网站,收集有关(480 且还在增加)数据库系统的信息,跟踪它们的相对受欢迎程度,并分享哪个数据库获得了成功与上一年相比最受欢迎的。这次是 Postgres!
备注:英文原文地址
一本关于 Postgres 14 的书成为 2023 年最受欢迎的链接,这似乎很奇怪,但它是经过长期开发后完成的,与更现代的 Postgres 版本仍然高度相关,并且可用 作为免费的 PDF。 它的 600 多页内容非常深入,并且包含代码驱动的示例和图表,使您可以轻松缩小范围到您感兴趣的主题,例如锁、索引和查询处理。
备注:英文原文地址
尽管数据库事务的概念已经很古老了,但它们仍然让最勤奋的开发人员感到困惑,隔离在影响并发事务交互方式方面的作用增加了另一个层面的复杂性。 GWEN 在这本关于这个主题的入门书中做得很好。
备注:英文原文地址
Timescale 通过初步了解最近的一些结果来逗我们玩笑 调查(完整报告即将发布)。 888 人参与了这项调查,并分享了有关他们最喜欢的扩展程序、对人工智能的看法以及他们使用的第三方工具的信息。PostgreSQL 现状
备注:英文原文地址
年度会议 编程竞赛又回来了! Greg 是使用 SQL 和 PL/pgSQL 来解决挑战的老手,所以如果您也想尝试一下,他在这里解释了如何开始以及一些 Postgres 特定的提示和技巧(这对于其他任务很有用)也是!)
备注:英文原文地址
一个精彩的幻灯片,专为 2023 年 PASS 数据社区峰会的演讲而制作,它本身就很好地充实了扩展在 Postgres 生态系统中的位置,以及最近的一些发展 空间。
备注:英文原文地址
Phil 通过研究如何拦截查询执行过程以及通过这样做可以学到什么,继续深入探讨 Postgres 工作原理的技术细节。 诚然,大多数 Postgres 用户永远不需要深入研究,但如果您想至少了解一下幕后发生的事情,那么值得浏览一下。
备注:英文原文地址
Postgres 11 到 16 的每个版本系列都进行了更新以修复三个安全问题,但 Postgres 16 在第一个小更新中还修复了许多错误。该团队指出,这是 Postgres 11 的最终版本,自五年前首次发布以来,现在被认为是“生命终结”
备注:英文原文地址
当谈到加密时,您只能使用开箱即用的普通 Postgres,但可以使用从硬件到 Postgres 扩展(例如 pgsodium )或应用程序提供的各种数据安全层级防御。这篇文章提供了一个简短的概述,并引发了有关该主题的广泛的黑客新闻讨论。
备注:英文原文地址
pg_cron 是一个扩展,可以轻松在 Postgres 中运行定期作业,无需外部调度程序。 它不像 pg_timetable (上周介绍)那么先进,但它的简单性可能更适合您的用例。 在这里,Marco 展示了 pg_cron 如何以每秒精细的粒度运行作业。
备注:英文原文地址
pg_timetable (GitHub 存储库) 是一个强大的 Postgres 独立作业调度程序。 v5.6 添加了延迟异步启动任务链的功能。
备注:英文原文地址
您知道 Postgres 有一种money类型吗?但伊丽莎白并不推荐这样做,而是考虑了一些替代方法。如果您想在浏览器中尝试帖子中提出的想法,还有一个实时环境。
备注:英文原文地址
Postgres 上的专栏很少涉及核心贡献者的人口统计数据,但 James 指出,有证据表明 Postgres 上的大部分工作是由中位年龄较高的一小群人完成的。这根本不是一件坏事,但建议应该努力鼓励新人参与维护该项目。
备注:英文原文地址
Xata 的人员希望数据库迁移变得简单、无风险且可逆,因此他们构建了一个工具来实现这一目标。 pgroll 使用各种技术(例如“扩展和收缩”模式)将迁移拆分为多个可逆块,并且仅在短锁定(带超时)下执行操作。 GitHub 代码库
备注:英文原文地址
如果 Postgres 本身就是一个出色的发布/订阅和任务服务器,那么为什么将其用作服务器会被称为“hacky”?为什么大多数流行的后台任务库都使用 Redis? Adriano 鼓励我们考虑权衡,并考虑像 Postgres 这样的“无聊技术”何时能够准确地满足您的用例的需求。
备注:英文原文地址
Postgres 的最新主要版本在我们上周发送Postgres Weekly的第二天就发布了,但好处是我们可以在下面的代码和工具中链接到过去一周添加了 PG16 支持的许多扩展😆 尽管如此,这里有一些新增内容:
备注:英文原文地址
“冰山层”是一种常见的图像模因格式,用于展示对特定主题的“深入知识”水平的不断提高,Postgres 去年也有了自己的一种。这篇文章巧妙地介绍了冰山的概念,从水面上的基本想法到“深处”中更神秘的东西(比如臭名昭著的“allballs” )。这里有很多值得学习和娱乐的东西。
备注:英文原文地址
pgvector 是一个提供向量相似性搜索功能的扩展,并且越来越多地用于 LLM/ML 用例。 v0.5 引入了新的索引类型(Christopher Winslett 在 HNSW Indexes with Postgres and pgvector 中详细展示了)、ivfflat 索引构建的并行化以及改进的距离函数性能。 变更日志和 GitHub 存储库。
备注:英文原文地址
Postgres 刚刚跨过了开源项目 25 周年的里程碑,但它并不总是“酷孩子”,也并不总是有一个由公司和活动组成的大型生态系统为其欢呼。 Craig 回顾了 Postgres 的一些历史。
备注:英文原文地址
语言服务器添加了自动完成、“转到定义”或悬停文档等功能到 VS Code 等 IDE。现在,在 Supabase 的帮助下,Postgres 有了自己的postgres_lsp。 现在还处于早期阶段,尚未考虑投入生产,但 Supabase 希望让社区参与其开发。黑客新闻上的人们当然对这种潜力感到兴奋。
备注:英文原文地址
从 2019 年开始,Timescale 的年度 Postgres 调查已成为监测更广泛社区感受的流行方式。如果您好奇的话,这是去年的结果。除了共享结果外,Timescale 还提供原始(匿名)数据供第三方分析。
备注:英文原文地址
作者是 🎤 Postgres.fm 播客的联合主持人之一,他和他的联合主持人提出了一些解释透彻、深思熟虑的技巧。 诚然,它们处于入门级水平,但仍然值得一看。
备注:英文原文地址
Citus 多年来一直在做“分布式 Postgres”的事情,但这是一个引入基于schema分片的巨大版本。 基于schema的分片与 Citus 最初的基于行的分片方法形成鲜明对比,它允许您以更广泛的方式进行分片 - 仅举一个例子,这对于多租户 SaaS 应用程序尤其方便。
备注:英文原文地址
Microsoft 委托GigaOM对 PostgreSQL 的 Azure Cosmos DB(在幕后使用 Citus)与来自 Cockroach 和 Yugabyte 的其他 Postgres 衍生替代品进行基准测试。结果正在推广的事实告诉您哪个产品已经获胜.. 😅 在 Marco Slot 的一篇文章中,他更详细地解释了为什么Cosmos DB 如此之快,并邀请您自己运行基准测试。
备注:英文原文地址
连接表通常是 SQL 和关系数据库中的基本操作,并且有很多方法来描述和思考它们。Justin 涵盖了 13 种这样的方法,从“N+1 解决方案”或“平面地图”到更神秘的选项,如“通过图形的路径”或“环形产品”。
备注:英文原文地址
当 JSON 作为一种交换格式迅速普及的时候,每个人都在构建面向文档的数据库时,Postgres 明智地添加了本机 JSON 支持,并逐渐引入了强大的使用方法。 随着机器学习和语言模型嵌入现在使 vector 成为流行的数据结构,Postgres 在这里也有一个新的机会(到目前为止 pgvector 在处理方面做得很好)。
备注:英文原文地址
🥇Postgres 在 Stack Overflow 的最新开发人员调查中表现出色,成为最“受推崇和最喜爱”的数据库。 MySQL、SQLite、MongoDB 和 Redis 排在第二位。 在流行度方面,Postgres 也首次登上榜首,将 MySQL 推到第二位。
备注:英文原文地址
🗣受 PGCon 上一些对话的启发,Postgres 贡献者 Heikki Linnakangas 对将 Postgres 从多进程世界转变为使用多线程的单进程世界的想法感到兴奋。不要兴奋;如果发生的话,这将是一项艰巨的任务。反应不一:Tom Lane预测灾难,尽管 Robert Haas 表示支持,但认为基于流程的模型可能需要在未来很长一段时间内保留为一种选择。
备注:英文原文地址
postgresql-hll是将HyperLogLog 算法引入 Postgres 的扩展。HyperLogLog 是一种概率算法,可以有效地估计大型数据集中不同值的数量,以一点点精度换取显着的时间和内存节省。
备注:英文原文地址
pg-svg 是一组用于在 Postgres 中创建 SVG 图形的函数。 它的主要用例是将 PostGIS 几何图形转换为图形,本文包含详细介绍(完整的史诗查询),但您也可以独立于 PostGIS 使用它。
备注:英文原文地址
Amazon RDS for PostgreSQL 现在支持受信任的 PL/Rust,为在流行的云提供商上用 Rust for Postgres 构建存储过程开辟了新的机会。 这篇文章介绍了一个完整的例子。 我们希望看到一些有趣的用例由此涌现!
备注:英文原文地址
两个安全漏洞和“超过 80 个错误”已在所有维护的发布行的这些次要更新中得到解决。这两个漏洞都是“相当古老”的漏洞。第一个允许具有数据库级CREATE权限的攻击者执行任意代码。第二个是涉及行安全策略的更复杂的一个。
备注:英文原文地址
▶微软最近举行了他们的第二届年度虚拟 Postgres 会议,虽然我还没有时间观看其中的许多内容(所以请留意接下来几期的更直接的建议),但还有很多内容享受 YouTube 上现在提供的 37 个演讲。
备注:英文原文地址
我们通常会对这样的标题的评论文章愤世嫉俗,但这篇文章是由安迪·帕夫洛 (Andy Pavlo) 合着的。 他和 Bohan Zhang 声称 Postgres 的多版本并发控制方法“很糟糕”,他们详细说明了原因。
备注:英文原文地址
快速浏览您在使用我们最喜欢的数据库时可能遇到的一些常见错误或陷阱。 它引起了很多人的共鸣,并在 Reddit 和 Hacker News 上引发了广泛的讨论。 要点包括忘记为外键添加索引,没有调整 work_mem,以及过于依赖 CTE。
备注:英文原文地址
Supabase 的人们已经将database.dev置于预览状态,该网站包含许多Postgres 的可信语言扩展,建立在AWS 去年开始的一个想法之上。将其视为或dbdev的一种 Postgres 等价物。现在还处于早期阶段,但总体思路是使将扩展安装到 Postgres 环境(包括在云中)变得更容易。
备注:英文原文地址
📄 自称是 Postgres 中各种 JSONB 函数的备忘单,其中包含每个函数的快速示例以及相关运算符。📈 PDF 链接。
备注:英文原文地址
这特别令人兴奋,因为 PL/Rust 函数不像 PL/pgSQL 或 PL/Python 函数那样被解析,而是被编译成本地机器代码。 这以更动态的形式提供了扩展风格的性能水平。 我怀疑我们很快就会看到很多进展和用例。 更多信息在这里。
TECHNOLOGY CONCEPTS AND DESIGN, INC.
近乎零的停机时间对于许多行业来说都是关键任务。 了解如何通过高级冲突管理和数据丢失保护,通过多主复制和数据分发来降低风险并提高生产力和客户满意度。
EDB
最新版本的 SQL 标准现在与所谓的“ISO 神”一起发布,并将在适当的时候发布。 没有数据库完全遵循 SQL 标准,但是查看新功能可能很有用,因为随着时间的推移,标准中的功能往往会过滤到 Postgres 中(反之亦然,正如刚刚添加到规范中的 JSON 类型所见)。
PETER EISENTRAUT
谷歌一年前首次推出 AlloyDB for PostgreSQL,作为一种托管的 Postgres 兼容服务,在风格上与 Amazon Aurora 有点相似,但来自谷歌。 他们现在可以预览 AlloyDB Omni,这是一个可下载的 AlloyDB 版本,专为在 Google 的云上运行而设计。
GOOGLE CLOUD BLOG
Citus Con 是一项免费的在线 Postgres 活动,由 Postgres 团队于 4 月 18 日至 19 日在 Microsoft Azure 举办。 在这篇文章中,您可以了解更多关于所提供的一切,或者让克莱尔 ▶️ 以视频形式说服您?
CLAIRE GIORDANO
Hydra 是一个 Postgres 驱动的数据仓库/OLAP 系统,被称为“开源 Snowflake 替代品”。 他们现在发布了难题的最新部分:支持在其他不可变和仅附加列存储上进行更新和删除,这篇文章解释了如何做到这一点。 GitHub 回购。
JONATHAN DANCE (HYDRA)
Laurenz 快速介绍了 Postgres 中四种不同类型的行锁(与表锁相对),为什么你会选择某些类型,以及它们在幕后如何工作。 所有非常容易理解和有用的东西都需要知道。
LAURENZ ALBE
由于竞争条件,保证不重叠的时间范围(例如酒店预订)并不容易。 Postgres 的排除约束和范围类型可以提供帮助。
TOBIAS PETRY
CRUNCHY BRIDGE
Postgres 日志中的错误消息可能并不总是数据库本身的错误。 罗伯特研究了可能会出现用户错误或操作系统问题的情况。
ROBERT HAAS
探索通过 MongoDB 外部数据包装器(现在所有新的 Crunchy Bridge 部署都支持)将 MongoDB 和 Postgres 配对的好处。
CHRISTOPHER WINSLETT (CRUNCHY DATA)
了解在测试场景中使用 Postgres 的几种方法,每种方法各有优缺点。
EGON ELBRE
了解在测试场景中使用 Postgres 的几种方法,每种方法各有优缺点。
PINYANI AND LONAPPAN (AWS)
备注:英文原文地址
Craig 通过一份快速的生产要点清单让您做好生产准备,从备份和日志记录到语句超时和连接池。
备注:英文原文地址
一些“分类”基于时间的数据以生成有用的图表和报告的技巧。使用generate_series()、width_bucket()、floor()和 等date_bin(),您可以以不同方式对数据集进行分组,并快速检索基于查询的报告。
备注:英文原文地址
PostgreSQL 14 Internals 已经开发了相当长的一段时间,基于 Egor Rogov 的一系列精彩技术文章, PostgreSQL 14 Internals是一本现已完全完成的书,可在此处以 PDF 格式获取。不要担心它对您来说过于技术化——它包含了代码驱动的示例和图表,并且很容易缩小到您可能感兴趣的主题,例如锁、索引或 Postgres 如何处理查询。
+— layout: post title: PostgreSQL 每周新闻 2023-3-8 —
备注:英文原文地址
一种新推出的开源工具,可为您选择的 Postgres 数据库提供网格样式界面,旨在使开发人员能够更直接地向最终用户开放数据库。 它是用 Python 编写的,也在 GitHub 上。
备注:英文原文地址
我们喜欢 Mark,因为当他发现欧洲公交路线数据集时,他会启动 Postgres 并使用 pgRouting 构建可视化和路线规划器。 这个方法并没有什么特别新颖的地方,但是当你需要解决相关问题时,它是你会需要的工具。
备注:英文原文地址
Mermaid是一个强大的图表工具,可以将基本文本格式(这里是ER 图的工作原理)转换为完全呈现的可视化图表。你能从 SQL 中动态生成这样的标记供 Mermaid 渲染吗?是的。
备注:英文原文地址
查看在未来版本的 Postgres 中使用新的pg_stat_io视图查询系统范围的 I/O 统计信息,它的几个用例,以及对 I/O 可观察性未来的思考一般在 Postgres 中。
备注:英文原文地址
Lukas 指出,SQL 的 FILTER 子句是聚合函数中等效 CASE 表达式的其他选择,但正如我们所知,等效查询可以具有不同的性能配置文件! 剧透:对于 FILTER 与 CASE 也是如此。
备注:英文原文地址
“对于大多数人来说,这是一个抽象的概念,一个潜伏在角落黑暗中的怪物。许多人都知道关于反环绕自动真空罐性能或数据库停止工作的恐怖故事,但是 谁见过真正的数据丢失?我决定直面野兽……”与 Laurenz 一起旅行,您也可以看到数据来自“死者”。
备注:英文原文地址
我们在 12 月忘记包括这个,但现在它仍然是一组很好的演讲,无论是与 Bruce Momjian 学习如何保护 Postgres,与 Lætitia Avrot 解决隔离问题,还是学习更多关于 MERGE 命令的信息 与 Simon Riggs(如上图所示)。
备注:英文原文地址
这将为我们提供一种获取正态分布随机数的方法,这在创建某些类型的随机/虚拟数据方面可能具有关键优势。
备注:英文原文地址
外部数据包装器 (FDW) 在 Postgres 中提供了一种机制来访问远程/外部系统上的数据,无论是其他 SQL 数据库还是平面文件。 Supabase 构建了 Wrappers,试图将无数的 FDW 集中在一个屋檐下(已经包括与 Stripe、Firebase 和 Airtable 集成的 FDW),并使其更容易构建更多。
备注:英文原文地址
一篇简洁的文章,不仅涵盖了为数据库生成虚拟数据的几个“级别”,而且还介绍了您可能想要这样做的原因。 一个非常有用的帖子。
备注:英文原文地址
备注:英文原文地址
Supabase 开源了一个新的扩展(他们非常热衷于强调它是“实验性的”),用于支持分布式和协作系统中常用的无冲突复制数据类型(CRDT),以允许多个用户同时进行更改,然后进行协调。
备注:英文原文地址
Amazon 的 Aurora 和 RDS Postgres 平台都运行着大约 85 个流行的 Postgres 扩展,但除此之外你就不走运了。考虑到扩展的强大功能,Amazon 不希望用户任意安装扩展,因此提出了一种围绕 RDS 或 Aurora 等平台可以满意pg_tle的权限模型构建安全扩展的解决方案这个想法能否在 Postgres 领域更普遍地流行起来?我们将会看到
备注:英文原文地址
使用复合索引(又名多列索引)是否比合并索引更快? 是的,至少在 Postgres 中,很多,因为当查询涉及索引合并时,Postgres 不支持仅索引扫描。
备注:英文原文地址
本周没有明显的“大新闻”,所以让我们来看看“整洁的 Postgres 功能!” (从 Postgres 9.4 开始)。 这是对 string_to_array 和 UNNEST 表函数如何帮助规范化杂乱数据(在本例中来自电子表格)的了解。 正如作者所说:“在我使用过的其他数据库中,我做不到这么棒的事情。”
备注:英文原文地址
Postgres 15 具有关键的复制改进,但为实现这一目标所做的工作很深入。这篇文章解释了 IO 并发性如何影响复制滞后,还讲述了 Postgres 的 IO 故事如何随着时间的推移而改进,并戏弄了一个未来,数据将异步传输到 Postgres 的缓冲区中,完全避免内核。“我们只触及了表面,” Thomas 说
备注:英文原文地址
上周 B-tree 和 BRIN 索引展开较量,现在是 2017 年的 Postgres 10 vs Postgres 15!Kaarel 对它们进行了十亿次交易压力测试,并进行了一些观察,包括 v15 提高了存储效率。
备注:英文原文地址
Hans-Jürgen 将其描述为两种流行索引类型之间的“史诗般的战斗”,并进行了一次小型演示,从本质上证明了为什么进行自己的基准测试是有意义的。
备注:英文原文地址
Postgres 一直与 MySQL、SQL Server 或 Oracle 进行比较……但是 Python 呢? PostgresML 是用于训练和部署机器学习模型的 Postgres 扩展。 这是一项更常与 Python 相关联的任务,但 Postgres 提供了一个引人注目的(如果完全不同的话)界面,Lev 有数据可以证明这一点。
备注:英文原文地址
只要您了解限制(或解决它们),Postgres 的全文搜索功能可以带您走很长的路。Victor 展示了基础知识,并将 Postgres 提供的功能与一些流行的现代替代方案进行了比较。这篇文章引发了对 Hacker News 的广泛讨论,讨论得更深入一些。
备注:英文原文地址
自 2016 年 Postgres 9.6 以来,每个新的 Postgres 主要版本都在 9 月底或 10 月初发布,现在 Postgres 15(Postgres 的第 32个主要版本)在通常的 beta 和 RC 版本之后与我们同在。
备注:英文原文地址
pg_eventserv 是一个新的 Go 驱动的服务器,它通过 NOTIFY 从 Postgres 获取事件,然后将这些事件传递给等待的 WebSocket 客户端。 “以这种方式构建实时系统允许任何数据库客户端更改系统状态并实时传播到所有其他客户端。”
备注:英文原文地址
Postgres 很流行,但 SQLite 几乎是通用的。 bit.io 是一个新的 Postgres 平台,意识到了这一点,并创建了 pgsqlite 作为一种将 SQLite 数据库快速导入 Postgres 的方法。 这篇文章重点介绍了这一过程中涉及的一些困难。
备注:英文原文地址
就像您可能使用 top 或 htop 来监控进程和 CPU 使用情况一样,pg_activity它为您提供了 Postgres 幕后的类似外观,包括正在运行的查询、最新的性能统计信息等。
备注:英文原文地址
确定用于主键的数据,甚至数据组合可能比您预期的要复杂,如果您使用常见的唯一 ID 方法,您应该利用?Victor 浏览了 Postgres 的许多选项以及它们的优缺点,然后展示了他为帮助您生成 ID 而构建的扩展。
备注:英文原文地址
想看到一个超酷炫的 SQL 查询(你可以花 20 分钟自己研究),它会产生一些可以说非常有用的东西? 把它变成一个你可以从 psql 中使用的函数可能会很有趣。
备注:英文原文地址
Postgres 的统计收集器密切关注表或索引被扫描的次数、何时发生清理等。这些信息通常存储在临时文件中,但 Postgres 15 已经转向更直接的基于内存的方法——幸运的是, 任何监视 pg_stat_* 视图的东西都将继续按原样工作。
备注:英文原文地址
您可能熟悉在线教程“playgrounds”(例如Ruby 的)——现在 Craig Kerstiens 和 CrunchyData 推出了一组用于 Postgres 的交互式在线教程以及一系列新的Postgres 技巧。这里还有一些背景。
备注:英文原文地址
最初是 MySQL 的“Sakila”示例数据库的一个端口,Pagila 提供了一个完整且真实的模式和数据,可用于教程、演示、学习 SQL 或测试。来自 Sakila 的 DVD 出租店比喻仍然存在,但许多额外的功能已经发挥作用,包括 JSONB 列、外键和触发器。也有关于旋转它的完整说明。
备注:英文原文地址
Samay 要求我们想象看到我们的数据库比预期的大,I/O 负载高且性能低下。 我们在我们的表中发现了很多膨胀并运行 VACUUM。 但是我们可能会问“为什么 Postgres autovacuum 不首先清理膨胀……?” — 这是一个很好的问题,如果您值得信赖的VACUUM没有像以前那样清理干净,这篇文章涵盖了各种绊脚石和要做的事情。
备注:英文原文地址
Postgres 14 引入了一种定义 SQL 函数的新方法,本周它引起了至少两名开发人员的注意,因为我们有两篇关于它的好帖子。 从本质上讲,“SQL 函数和过程的主体不再需要是字符串常量”,这提供了一些优势,正如我们在 Laurenz 的演示中看到的那样。
备注:英文原文地址
这本书是为那些“在使用数据库时不会满足于黑盒方法”的人而写的,作者是我们最喜欢的一位深入研究 Postgres 特性的技术作者。第一部分现在以160 多页的 PDF 格式提供。
备注:英文原文地址
作者查看了最新的 Postgres 15 beta 版,并深入UNIQUE对具有值的列的约束NULL其中可以使 Postgres 将空值视为不同的值或不视为不同的值。开发此功能的 Peter Eisentraut 突然出现在 Hacker News上指出: “这里的背景是 SQL 标准对于实现应该表现的两种方式中的哪一种是模棱两可的。因此,在即将发布的 SQL:202x 中,通过定义行为实现并添加此NULLS [NOT] DISTINCT选项来选择其他行为来解决此问题。”
备注:英文原文地址
pg_stat_activity提供了一种简单的方法来查看不同的 Postgres 后端进程在做什么。休伯特深入研究了它的各种价值实际代表什么。
备注:英文原文地址
看到很多聪明人歌颂非开源的云数据库是不寻常的,但 Google 的 Cloud Spanner 凭借其高可用性、可扩展性和 ACID 合规性的承诺而拥有许多这样的粉丝——进入 Postgres 生态系统被视为一个越来越重要的因素。 值得注意的是,作者说:“PostgreSQL 是用于操作数据库的新‘API’,”——也许我们可以期待 Google 对 Postgres 的更多热爱?
备注:英文原文地址
Citus 是 Postgres 的横向扩展插件,六年前首次开源,但其通用商业模式是提供扩展的“企业”版本以赚钱。 不再。 现在只有一个 Citus 版本,而且都是开源的,因此租户隔离、非阻塞分片重新平衡等功能现在对所有人开放。 这是一个巨大的版本,并在这篇文章中得到了很好的解释。
备注:英文原文地址
如果你有其他人提供的自由格式文本数据,它不会是完美的(错别字、俚语、奇怪的格式等),所以支持一点“模糊性” 当查询数据可以走很长一段路。 这是一个很好的浏览 Postgres 为您提供的一些选项,从最不“模糊”到完整的 Fozzie Bear。
备注:英文原文地址
Timescale 的人们正在对 Postgres 社区进行第三次年度调查,鉴于此类调查的结果往往会引起有趣的阅读(您可以在此处阅读去年的结果)它会如果你能参加,那就整洁。(我刚做了,花了 3-4 分钟。)
备注:英文原文地址
这是一家同名公司(由 Nikita Shamgunov 创立,他是 MemSQL 的共同创始人)背后的代码库,该公司构建了一个多云无服务器 Postgres 平台,现在为我们提供了强大的PlanetScale氛围,但有额外的资源
备注:英文原文地址
使用三种不同策略之一隐藏或替换数据库中的个人身份信息 (PII) 或商业敏感数据的扩展。 有了这个 1.0 版本,它现在被认为可以投入生产了。
备注:英文原文地址
这并不是一个完美的比较,但想想 Amazon Aurora,除了 Google 吹嘘这是“只有 Google 才能提供的 PostgreSQL”。 AlloyDB 是一个托管的与 Postgres 兼容的服务(尽管它看起来确实像 Postgres 的元素就在幕后),它承诺以一定的价格实现无缝扩展。 这里有更技术性的解释。
备注:英文原文地址
分区提供了一种方法来将巨大的静态数据集分解成更易于管理的部分(并在不再需要时丢弃它们)但是如果你想保留这些东西而不阻塞你的“主”数据库怎么办?将其放入“数据湖”并在需要时使用 FDW 进行查询!保罗在这里向我们展示了一种方法。
备注:英文原文地址
Postgres 15 将支持服务器端备份压缩,Robert 做了一些研究以了解它的工作情况(在速度和节省的磁盘空间方面) ) 使用不同的压缩算法。很有前途!
备注:英文原文地址
Aurora 是 AWS 的 Postgres(和 MySQL)兼容的托管数据库系统,长期以来一直采用无服务器“按需付费”变体。 Aurora Serverless 版本 2 在可扩展性和粒度方面更上一层楼,可在负载突然变化时提供“即时”且无中断的扩展。
备注:英文原文地址
4TB 可能不是“大数据”,但它位于 SaaS 主数据库大小的共同区域,因此 Retool 在从 Postgres 9.6 升级到 13 的过程中学到的故事和技巧可能证明了这一点 兴趣。
备注:英文原文地址
范围通常非常简单:所有介于 5 和 12 之间的整数——类似的东西。但是,正如 Postgres 14 所支持的那样, multiranges通过能够以复合方式表示多个范围,将事情提升到一个更高的层次。Hans-Jürgen 在这里给了我们一些例子。
备注:英文原文地址
每当一篇博客文章的日期为 4 月 1 日时,我都会立即处于紧张状态,但 Lukas 深入而直接地观察 Postgres 的查询计划器如何工作,这并不是胡闹。这直接进入 Postgres 的源代码(!),但也涵盖了一个实际示例,说明为什么这是一个有用的知识,可以放在你的口袋里。
备注:英文原文地址
在 Postgres 文档中看到一个全新的页面总是很高兴——即使它是在今年晚些时候发布的。 这是一个用于 MERGE(您可能在 SQL Server 或 Oracle 中看到的 SQL 语句)——基本思想是在可定义的条件下将来自查询或源表的数据整体合并到目标表中。
备注:英文原文地址
plprofiler 是一个 Postgres 扩展,可创建函数和存储过程的性能配置文件。 虽然它可以在任何 Postgres 系统上使用,但它现在可以在 Amazon 的 Postgres 平台上使用,这里是使用它的一个例子(无论是否使用 AWS)。
备注:英文原文地址
审计,从跟踪随时间变化的意义上说,在许多情况下是一个基本过程,并且可以在 Postgres 内部创建一个完全在 Postgres 内部的审计系统,只需小心谨慎地使用 PL/ pgSQL。
备注:英文原文地址
谈到优化 Postgres 查询时,“兔子洞很深”,Vadim 说,他遇到了一些非常具体的痛点。这是对他如何解决一些性能问题并获得一些相当容易的胜利的一个很好的了解。
备注:英文原文地址
这个项目还处于早期阶段,但 OrioleDB 是一个 Postgres 扩展,旨在为表的访问方式带来一些现代理念,包括撤消日志、写时复制检查点、行级 WAL 和无锁页面读取。 它处于 alpha 版本(仅限 Postgres 14),但这是一种值得关注的方法。
备注:英文原文地址
关于使用 Postgres 的核心 pg_trgm 模块进行精确和模糊文本搜索(与 FTS 相对)的特别详尽的教程。 这里有些深度,我想很少有人会学不到有用的东西——例如,我不知道你可以自定义 GiST 索引的精度。 我希望亚历克斯将来能写更多!
备注:英文原文地址
⭐️一个团队在他们的一个地区升级到 Postgres 11,他们的应用程序开始遇到“问题”。作者以相当重要的方式进行了救援。这是一个关于解决问题的奇妙故事,也是一个看似简单的问题可以变得多么复杂的例子。
备注:英文原文地址
你会注意到现在有多少数据库系统和数据库工具可以“使用 Postgres”,即使它们在底层完全不同(例如 Aurora、Cloud Spanner)——并且与 Postgres 的兼容有线协议是其中的关键。本文快速了解这意味着什么。
备注:英文原文地址
试图“揭开” Postgres 日期和时间数据类型的神秘面纱,其深度超出您的想象(这只是两部分系列中的第一部分 第二部分转到持续时间/间隔。)是时候了;-)
备注:英文原文地址
我总是对使用 PostGIS 和 Postgres 进行的地理工作印象深刻。 这篇文章演示了将飞行的各种点变成实际的飞行路径。
备注:英文原文地址
Postgres 的查询计划器通常做得非常出色,但有时会引发奇怪的惊喜或奇怪的策略,因此您编写的常识或明显的查询可能并不总是按计划进行!这篇文章介绍了如何借助 EXPLAIN ANALYZE 和元数据分析来优化这些看似显而易见的查询。
备注:英文原文地址
这是本时事通讯中所有帖子中最好的开场图之一,最终结果也非常有趣。这个想法是使用序列作为一种计数器来跟踪查询的进度。这有点小技巧,但你会在这里学到一些东西。
备注:英文原文地址
这篇文章最初来自 2020 年,但在 2021 年进行了更新,涵盖了一些常见的数据库客户端,如 pgAdmin、Navicat、DBeaver、HeidiSQL、Datagrip 等。 看看我们在 2022 年是否有新来者会很有趣。
备注:英文原文地址
如果您喜欢深入的案例研究,这适合您。 英国政府的卫生安全局一直积极主动地与其公民共享有关 COVID-19 大流行的数据,Postgres(在 Azure 的 Postgres 和 Citus 服务上运行)是其流行仪表板的核心,由数十亿行频繁更新的数据提供支持 . 这里有很多东西要考虑。
备注:英文原文地址
Supabase 团队已经开源了一个扩展(他们承认仍在进行中)为 Postgres 添加了 GraphQL 支持,诸如模式生成和查询解析之类的东西完全保留在数据库服务器的范围内,并且不是一些外部服务(尽管Postgraphile在这方面是一个不错的选择)。
备注:英文原文地址
一个流行的系统,用 Haskell 编写,用于将 REST API 放在 Postgres 数据库前面,该数据库自称是“手动 CRUD 编程的替代方案”。 v9.0 添加了 Postgres 14 支持和改进的分区表支持。
备注:英文原文地址
EAV 提供了一种获得关键价值灵活性的方法,可以动态地向对象添加属性,但以结构化的关系方式适用于任何标准关系数据库。现在我们有了 JSONB,这是一个值得的想法吗?我不这么认为,作者也不这么认为。
备注:英文原文地址
如果你从标题中得到似曾相识的感觉,Timescale 之前已经使用 generate_series() 进行了介绍,但这在真实性方面需要进一步提升。 这比你想象的更深入。
备注:英文原文地址
Haki 的文章对我们来说通常是猫薄荷,因为它们涵盖了很多领域,因此它与您可能不熟悉的 Postgres 功能的实际示例的综述相吻合。至少值得一读目录!
备注:英文原文地址
大约一年前,在第 384 期,我们报道了亚马逊推出 Babelfish,一个 SQL Server 到 Postgres 的“翻译层”——它现在普遍可用于 Aurora,但也已作为开源发布 在 GitHub 上,尽管在这方面还处于早期阶段。
备注:英文原文地址
如果您还没有使用过 Postgres 的内置过程语言 PL/pgSQL,这是一本简洁的入门书,从基本操作到递归操作,甚至一点点解析。目标是让 PL/pgSQL “对你来说不那么可怕”,我认为它有效。
备注:英文原文地址
Timescale 人员(他们支持以时间序列为重点的 TimescaleDB 扩展)的最新版本提供了一种编写更多功能 SQL 以通过将函数组合在一起来分析数据的方法。 给出的第一个例子很好地展示了这个想法。
备注:英文原文地址
Cloud Spanner是一种基于 Google 云的关系数据库服务,拥有无限的可扩展性,现在您可以通过新的 Postgres 接口在更多地方使用它。值得注意的是,Kelsey Hightower在一年前提出,如果 Cloud Spanner 拥有兼容 Postgres 的接口,它就有可能成为“符合 ACID 的数据库中的 Gmail”。嗯,现在有了。
备注:英文原文地址
距离 Postgres 13 的最终版本仅一年多,下一个主要版本就在这里。 与 13 一样,14 是您可以称之为“进化”版本的版本,没有巨大的新功能(都是关于小事的),而是一长串增强功能和成熟度。 这些包括:
备注:英文原文地址
Postgres 下一个主要版本的进展与第一个候选版本相比有了很大的飞跃,这意味着团队已准备好让您尝试并报告最后的错误。如果没有什么大不了的事情发生,最终版本将在下周发布。
这是即将发布的PG14发行说明的翻译文稿
备注:英文原文地址
分解平均值与百分比的基础知识,并通过真实场景(API 监控)展示依赖大型时间序列数据集平均值的“危险”。 最后看看百分比在 Postgres 中是如何工作的。
备注:英文原文地址
2020 年的一篇文章,针对 2021 年进行了一些更新,涵盖了一些常见的数据库客户端,如 pgAdmin、Navicat、DBeaver、HeidiSQL、Datagrip 等。
备注:英文原文地址
Postgres 服务器可以处理的连接越多越好……对吗? 不总是。 如果 max_connections 设置为不切实际的数字,即使没有使用这些连接,也会产生负面影响。
备注:英文原文地址
“背包问题”是一个数学难题,它将一组物品组合在一起,以在指定的限制内获得最大值(有点像将物品装入袋子)。Postgres能帮助组合优化吗?有办法。
备注:英文原文地址
创建索引是一回事,但创建索引以及另一回事。Lukas 着眼于使用的实用性,CREATE INDEX并演示了如何分析您的查询以找出要创建的最佳索引。
备注:英文原文地址
分组集是在 GROUP BY 子句中使用的一组列,可以在 OLAP 查询中派上用场。 这篇文章有一些方便的例子。
备注:英文原文地址
备注:英文原文地址
如果您需要以接近零的停机时间更新多 TB 的表,Postgres 对表继承的支持可能会派上用场。
备注:英文原文地址
除了能够存储 JSON 数据结构,Postgres 长期以来一直能够生成 JSON,它可以直接返回以在您的应用程序中使用(或者直接传递给用户,如果 你有信心)
备注:英文原文地址
您可以认为lateral连接有点像for-each循环,在该循环中,为初始结果集的每一行运行子查询。当然,这是非常有用的!
备注:英文原文地址
使用延迟流复制和dblink(一种通过另一个 SQL 查询在远程数据库上执行查询的方法)来模拟临时表(即回顾时间)的奇怪观察。这是一个如此奇怪但聪明的方法。
备注:英文原文地址
EXPLAIN ANALYZE 对深入研究查询性能问题有很大帮助,但分解时间可能会很棘手。 这里有一些提示。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
▶EDB 的 Robert Haas,Postgres 的长期主要贡献者,就查询优化的两个关键部分进行了一个小时的演讲:连接计划和统计。这是技术性的东西,但 Robert 在使相当不透明的过程变得可访问方面做得很好,并且了解这些东西会提升你的 Postgres 游戏。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
虽然Postgres多年来一直支持JSON和JSONB,但postgres14中最优秀的新特性之一是对订阅的支持,它可以提供一种(可以说)更自然的方式来处理查询中的JSON对象。
备注:英文原文地址
备注:英文原文地址
下一个主要版本的第一个“准备好让你试一试”的版本在这里。我们得到什么?
备注:英文原文地址
备注:英文原文地址
最近,Timescale,TimescaleDB Postgres扩展背后的人们进行了一项调查,以了解Postgres社区的“状态”。 正如承诺的那样,他们共享了结果(包括原始的匿名数据,如果您想进行自己的分析),尽管受访者的数量不是特别多,但得出了一些有趣的结果:
备注:英文原文地址
备注:英文原文地址
首先,值得注意的是,这是一个TimescaleDB的特性,但考虑到Timescale是Postgres的扩展,它仍然是一个有趣的开发。“跳过扫描”是一项新功能,它解决了Postgres无法有效地从有序索引中提取唯一值列表的问题。马上到来的postgres15中也有一个类似的功能,但是TimescaleDB用户现在就可以使用它了,下面是它的工作原理。即使您没有使用TimescaleDB的计划,理解其基本概念也是值得的。
备注:英文原文地址
备注:英文原文地址
Greg认为,即时创建测试数据可以鼓励您更深入地思考数据模型(这是一件好事),并且可以轻松地按您选择的规模工作。本教程一个有趣的方面是,您可以继续使用Docker。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
我最近在RDS上遇到了这种情况(建议:为此事件设置警报;-))。几个CrunchyData工程师在这里分享了一些有用的提示,告诉你在进入panic模式时要做或不做的事情。
备注:英文原文地址
早在一月份,Elastic就宣布对其Elasticsearch和Kibana项目进行有争议的许可变更,亚马逊决定将其投入自己的“社区驱动”项目,现在称为OpenSearch。
备注:英文原文地址
不,不是来自外太空的致命blob,而是“二进制大对象”。许多工程师根本不赞成在数据库中存储大型二进制数据,但当你需要时,有一些方法可以让Postgres的处理更高效。
备注:英文原文地址
备注:英文原文地址
您知道我们偶尔会包含Postgres的“每周提示”吗?这是一个类似的想法,但特别是针对psql的小技巧。如果您很快就会遇到psql会话,那么值得浏览!如果您不想被不知所措,也可以加载一个随机提示。
备注:英文原文地址
备注:英文原文地址
上周,我们看到了如何使用EXPLAIN分析查询并查看执行计划者的决定是什么,但是这篇文章深入探讨了后面进行的优化过程。
备注:英文原文地址
备注:英文原文地址
pg_query是一个用于解析Postgres SQL查询的独立库-版本2增加了对Postgres 13的支持,并包含了一个deparser,以便可以将处理过的解析树转换回SQL。。那里还有很多可以做的。它是一个C库,但也支持Ruby库以及Python和Node.js绑定。
备注:英文原文地址
备注:英文原文地址
旅行商问题是在各个点之间寻找路径的问题,每个点仅访问一次且距离尽可能短。 这篇文章使用pgRouting的扩展程序解决了PostGIS支持的Postgres数据库中的问题。
备注:英文原文地址
备注:英文原文地址
Citus是长期存在的Postgres扩展(开源,但现在由Microsoft团队广泛开发),使Postgres更具分布式和水平可扩展性。v10最重要的是,它为Postgres引入了列式存储支持,以减少存储量并提高分析查询的性能。
备注:英文原文地址
备注:英文原文地址
大规模存储时间序列数据足以解决一个独特的数据库问题,即存在诸如TimescaleDB和Timestream之类的东西,但是如果您正确地设计,某些工作负载就可以满足普通Postgres的需求。
备注:英文原文地址
备注:英文原文地址
数据输入的过程以及人们记忆的工作方式都不是完美的,因此有时,如果系统返回的数据与我们正在搜索的数据比较类似也是有帮助的,例如搜索“Jimmy Arrington”的时候也搜索“Jim Harrington”的结果。 这篇文章探讨了Postgres提供的一些用于“模糊”搜索的方法。
备注:英文原文地址
备注:英文原文地址
去年,AWS发布了Babelfish,这是一个为PostgreSQL提供与sqlserver兼容的端点的项目,该项目将于今年开源。开源版本是否可以轻松地与Postgres集成?显然不是这样的,这就是这里要研究的问题。
备注:英文原文地址
备注:英文原文地址
一个相当令人联想起的标题,用于描述Linux的OOM(内存不足)管理器,该管理器将终止进程以释放内存。您可以采取什么方法来保护Postgres免受这种“刺客”的侵害,当Kubernetes出现时您可以采取哪些特殊措施?
备注:英文原文地址
备注:英文原文地址
有趣(并且相当彻底)的研究了释放空间而不删除索引或删除数据的方法,包括清理未使用的索引占用的空间,尤其是替换了包含大量数字的索引 具有部分索引的空值。 这篇文有很多有趣的东西!
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
pspg是用于处理Postgres查询结果以及CSV或TSV数据的Unix寻呼机。4.0添加了将内容导出到文件或剪贴板的支持。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
与Postgres数据库的连接即使处于空闲状态也要消耗资源,因此本帖子深入探讨了原因以及一些基准测试。 如果需要减少连接数,请考虑使用Pgpool-II,PgBouncer或RDS代理(如果适用)之类的连接池工具。
备注:英文原文地址
备注:英文原文地址
1.—个人理财工具的创建者遇到了一个用户,该用户的数据导致大量洪水泛滥,INSERT从而引发了问题。这是一个简单的RETURNING子句如何在流程中实现巨大优化的故事。
备注:英文原文地址
备注:英文原文地址
Coinbase是大型数字货币交易所,因此必须具有扎实的数据基础。 他们在这里分享了从大型跨数据库数据迁移到AWS RDS PostgreSQL的经验教训。
备注:英文原文地址
备注:英文原文地址
当您花费数年时间在sqlserver或Oracle上构建数据系统时,迁移到Postgres可能看起来很困难。AWS发布了Babelfish来帮助者先工作,它的目的是让Postgres能够使用专门为sqlserver构建的应用程序。
备注:英文原文地址
备注:英文原文地址
苹果公司已经开始推出使用自己基于Arm的M1 CPU的机器,并且最初的性能提升令人印象深刻。 但是,尽管macOS的运行速度比以往更快,但Postgres呢? 剧透警报..哇?
备注:英文原文地址
备注:英文原文地址
一个cron与PostgreSQL兼容的高级调度程序,现在具有一些新功能,包括改进的调度(例如“每6小时”),禁止shell任务的选项以及可以重复运行的间隔任务。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
如果你在美国,我们希望你的选举日不会太紧张(!)Joe Conway一直忙于在Postgres中运行一些基于R的选举预测代码。亚利桑那州的情况似乎还不错,佛罗里达州的情况就不那么好了。。
备注:英文原文地址
备注:英文原文地址
一位长期的数据库管理员对选民数据运行查询,以学习如何使用Postgres,并偶然发现了一个严重的选民清除错误。 (提到Postgres的部分大约在4分钟处。)
备注:英文原文地址
备注:英文原文地址
您拥有小文本(用户名,电子邮件),大文本(整个文档)和“中”文本(评论,说明)。.虽然TOAST可以提高存储效率对于较大的文档,中型的列可能会使行变得非常宽,并且会不成比例地影响性能。深入整洁的潜水实例。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
“主要用例是开发过程中做简单的CPU绑定查询的基准测试。” 目前仅支持Postgres,但欢迎对其他数据库支持的请求。 用Go语言编写。
备注:英文原文地址
备注:英文原文地址
距离Postgres 12发布不到一年,这里13致力于我们最喜欢的数据库的进化步骤。发行说明提供了所需的新功能和已调整功能的清单,但是我们将在此处介绍相关文章的链接,以涵盖其中的一些大问题:
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
GitLab的团队解释了他们在执行Postgres的主要版本升级所采用的精确维护过程。 而且,更好的是,他们记录了整个2小时的过程,因此您可以看到它的实际执行情况! 它并不能带来令人兴奋的观看效果,但是在一家大型公司的运营幕后却是非常罕见的记录。
备注:英文原文地址
备注:英文原文地址
B树索引是Postgres中创建的默认索引类型,因此对其操作的任何更改都可能会产生很多连锁反应。在即将发布的Postgres 13中尽可能对这些索引进行重复数据删除将有助于使这些索引保持较小并具有性能影响(很可能会降低I / O使用率,但会略微增加CPU,但在大多数情况下会提高整体性能)。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
为什么作者认为13(通常被误称为“不幸”数字)会为Postgres带来幸运,它增加了增量排序,并行真空等功能,并改善了B-tree索引。
备注:英文原文地址
备注:英文原文地址
正在开发此流行的Node.js工具的v5,但与此同时,我们获得了4.8版本,该版本支持“枚举表”和所有Postgres的内置几何类型。如果您想通过基于GraphQL的API提供Postgres数据库,则值得一试。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
Postgres 13即将正式发布(目前处于Beta测试版),尽管随着时间的推移,Postgres趋向于向后兼容,但是在进行迁移之前,有一些变化值得注意,请参见此文章
备注:英文原文地址
备注:英文原文地址
“填充因子”定义了表存储的紧密程度。例如,当更新一行时,由于大小限制,“新”行可能会在不同的存储页中结束,而紧凑的表可以使更新几乎就地进行。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
Rust是一种非C或C++语言用于Postgres插件开发的框架。 为什么这是一件好事? 最近,Rust在更多的前沿圈子中变得非常流行,并且该语言的安全功能使其成为一种引人注目的选择。
备注:英文原文地址
备注:英文原文地址
system_stats是一个新的扩展程序(在EDB中,以前是EnterpriseDB),它由多个存储过程组成,可用于监视Postgres(或更准确地说,是它运行的服务器)。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
正在进行的四部分系列文章(此处为第2部分),涉及诸如事务ID问题和复制之类的主题。
备注:英文原文地址
备注:英文原文地址
“Jepsen”这个名字肯定会激起任何数据库服务器创建者的情绪,因为他们对分布式系统(例如数据库!)的分析经常揭示出各种极端情况和缺陷。Postgres也是如此,它发现了可序列化隔离中的一个错误。这是技术性的东西,但是很高兴看到Postgres这样的系统受到如此严格的分析。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
注意,这篇文非常有意思:“在本文中,我将展示一个非常简单的递归CTE1,该CTE1实现了迭代函数系统来生成Sierpiński三角形” ,简单地说 这纯粹是为了乐趣。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
您可以将大型二进制blog存储在数据库之外并引用它们,将它们存储为“大型对象”,或者使用bytea字节数组。他们有何优劣之处?如果您的数据模型中的确有很多二进制blob,那么这是一个需要考虑的重要问题。
备注:英文原文地址
备注:英文原文地址
当被告知永远不要自行修改Postgres数据目录的内容时你很想问 “为什么?”,那这篇文章你应该读读。 很复杂的。
备注:英文原文地址
备注:英文原文地址
一种以可视方式创建和编辑数据库模型的简便方法。它打包为付费产品,但也是开源的,因此您可以构建自己的产品。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
Vue.js 是一个能帮助你在构建自己的Postgres时会用到的工具。 这里有一个演示。结果真是好极了。
备注:英文原文地址
备注:英文原文地址
之前我们对pg_show_plans做了基本介绍,这篇文章进一步讲解如何使用pg_show_plans实时查看执行计划慢的原因,以便帮助排查问题。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
如果你是一个Postgres Weekly的读者,那会知道其中的一些改善,但12是如此大的一个版本,有很多小的没有被人触及的改动。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
📄如果您听说Postgres12支持SQL/JSON,并且想知道为什么费尽周折的要去支持它,那么这个PPT会让您知道这一切。
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
我们很久之前就在期待Postgres12了,但它到底表现如何呢?Kaarel建立了不同规模的压力测试,然而没有明显的结论。
备注:英文原文地址
备注:英文原文地址
如果您只是想升级到postgres 12,这里有一些指导。本文将重点介绍一种新的基于逻辑复制升级方法。它提供了安全性和少量的停机时间,但它可能比其他方法更复杂。
备注:英文原文地址
备注:英文原文地址
pg_receivewal(以前的pg_receivexlog)实时传输postgres服务器或集群的预写日志,可最大限度的避免数据丢失。
备注:英文原文地址
备注:英文原文地址
postgres 12支持一个新的确定性属性,在创建排序规则时可以将其设置为false,这使得两个字节序列不同的字符串在既定的排序规则下可以被判断为相等。这开创了许多与文本匹配的方法,而无需使用显式函数。
备注:英文原文地址
备注:英文原文地址
从Postgres11发布到Postrges12只用了一年的时间,我们的Postgres又向前迈出了一大步。主要的增强包括sql/json支持、生成的列和显著的性能改进(特别是索引和分区表)。
备注:英文原文地址
备注:英文原文地址
postgresql 12的第一个版本现在可以下载了。最终版本预计将于明天发布。
备注:英文原文地址
备注:英文原文地址
深入了解窗口函数的高级用途(如果需要,这里有一个介绍的文章)。窗口框架(window frames)是postgres引入支持的一种sql特性,它允许您将窗口函数提升到更深层次,以执行复杂的聚合。这里有一些很好的例子,必须阅读。
备注:英文原文地址
备注:英文原文地址
当您创建涉及相互依赖的表、视图、触发器、函数等的复杂结构时,数据库内部会创建依赖关系。以下是对视图依赖性的探索,以及如何查找视图依赖的其他对象。
Laurenz Albe
包含所有功能的预览,这些功能将在postgres 12的最终版本中提供,并且“可能是最终的beta版本”。
PostgreSQL Global Development Group
加入免费的PostgreSQL网络研讨会:与Peter Eisentrut一起加入PostgreSQL 12的新功能,并了解即将发布的PG 12的内部情况。
2ndQuadrant PostgreSQL Webinars
15页的Postgres基础使用说明,用于各种Postgres相关任务,包含函数、用户、约束和查询表等。
Timescale
对少量的连接来说,不会有性能提升。如果有大量的用户连接,YES。运行自己的测试来确定是否需要使用pgpool。
Muhammad Usama
postgresql 12对分区做了很多改进。下面是一些基准测试结果,这里您就可以看到性能提升。
David Rowley
我们在321期的技巧文章中提到了distinct on,这是一个用于选择明显匹配各种条件的第一行的简洁功能。但如果你想在其他数据库系统上得到类似的结果呢?
Lukas Eder
有趣的是,虽然timescaledb是一个时间序列数据库,但它是作为关系数据库postgres之上的扩展而构建的!
TimescaleDB
Splunk的CISO说“Strongdm可以让你看到发生了什么,回放和分析事件。”
strongDM
如何在红帽风格的Linux发行版上测试Postgres的下一个版本。
Devrim Gunduz
在ec2实例上运行的postgres和timescaledb中加载大量数据(超过十亿行)时测试性能的实验。
Fabien Coelho
我们在两周前就推出了pspg,但它的创建者已经发布了两个版本,为所有显示的列引入了排序功能。
Pavel Stěhule
如果你不熟悉这个项目,它的主页上会有更多的信息,但是pl/proxy最初是在skype上开发的,目的是通过分片来帮助扩展postgres。
Luca Ferrari
神秘的表格命令
做这些小贴士的乐趣之一就是我能发现一些我以前从未见过的有趣的事情。table sql命令是最新的示例。
给出一个简单的示例:
CREATE TABLE x (id int);
INSERT INTO x VALUES (10),(20),(30);
table允许您快速查看整个表:
TABLE x;
id
----
10
20
30
它有点幼稚,不支持where或group子句,但支持order、limit和offset。
在我看来,主要的用例是什么?如果您想在psql或类似工具中快速查找表,那么表名比select*from table name;更短,键入起来也不那么麻烦。向不知道的人炫耀是件有趣的事。
如果您有任何文件或参考,为这个命令,尽管,取得联系。我很好奇它是从哪里来的。
🗓即将举办的Postgres活动
备注:英文原文地址
现在,qldb是一个跨五个aws区域的生产型数据库,可以准确的跟踪对数据集的所有已提交更改。
Jeff Barr
alternator是一个开源项目,它为scylla带来了dynamodb兼容性,scylla是一个受cassandra启发的分布式nosql存储。
ScyllaDB
建立预测模型还是预测现实世界的行为?下载这个免费的O’Reilly关于在ApacheSpark和Neo4J中使用图形算法的书,其中有20多个实际的例子。
Neo4j sponsor
Adrian Colyer很好的分析了Compsci论文,但在本例中,他大肆宣扬“这里是数据处理的未来发展方向”,而谷歌已经在生产中使用了Procella。
the morning paper
从a到z总结SQL概念。
Helen Anderson
memsql数据库是一个分布式内存sql数据库管理系统。
John Sherwood (MemSQL)
netlify是一个非常新兴的现代网站托管平台,它推出了faunadb插件,让用户可以无缝地将全球分布的数据库插入到他们的网站中。
Netlify
首席安全工程师-作为我们的第一位安全工程师发挥影响力,专注于围绕我们的云安全努力推动创新和最佳实践。
通过Vettery找到一份DB工作-制作一份免费的个人资料,说出你的薪水,并与顶级雇主的招聘经理联系。
distinct on是postgres的sql方言中的一个整洁特性,用于选择明显匹配各种条件的第一行。(我们甚至在我们的Postgres时事通讯的第321期中对此进行了报道)。
Lukas Eder
了解如何得到一个3倍的性能改善,在这个自由的PGAnalyze电子书从磁盘加载500倍的Postgres数据库。
pganalyze sponsor
一个有趣的想法是,使用bigquery作为一个缓慢的“单一真相来源”,而使用mysql作为一个“缓存层”,用于cube.js仪表板中某些查询的次秒级响应。
Artyom Keydunov
对“关系”概念的简短而甜蜜的介绍。这不仅仅是您熟悉的持久表,而是“事实上,任何sql查询都定义了一个新的关系。”dmitri本周还发布了一些相关文章,重新介绍了连接和聚合。
Dimitri Fontaine
一个强技术性,但很有趣的例子,解释azure团队如何管理实时热修补程序,运行azure sql数据库使用的sql server引擎版本,以便在不影响客户的情况下保持最新。体验这个奇怪的方法,但是你不能依赖于它。
Hans Olav Norheim (Microsoft)
最初被设计为wepay系统的交易分类账,但现在被广泛应用于需要可序列化一致性的分布式系统的更广泛的用例。
wepay
基本上是对任何希望在应用程序中使用数据库的javascript开发人员的抽象。它可以在幕后使用许多实际的数据库,包括localstorage、indexeddb、rocksdb、redis、dynamodb、scylladb和sqlite。它自称是“Lego™ for databases”。
Scott Lott
基于Java的,可以连接到通过JDBC支持的任何数据库。
Zhonglu
备注:英文原文地址
Postgres12就在眼前了,因此有必要重新了解一下升级Postgres安装所涉及的内容。kaarel研究了三种不同方法的利弊。
Kaarel Moppel
运行postgres的集群容器需要一个控制器来监视和管理集群。跟着我找寻适合你的方案。
EnterpriseDB
这是几个月前的文章了,但我们当时错过了。这真是一个遗憾,因为这是一个关于在postgres中与用户和角色合作的非常好的介绍。
Yaser Raja
postgres用户有时会抱怨Vacuum维护任务。好吧,Postgres12让这些东西不那么痛苦,而且更容易经常使用。
Shaun Thomas
这是对“关系”概念的简短而甜蜜的介绍。这不仅仅是您熟悉的持久表,而是“事实上,任何sql查询都定义了一个新的关系。”dmitri本周还发布了一些相关文章,重新介绍了连接和聚合。
Dimitri Fontaine
pganalyze总结了他们在如何提高postgres数据库3倍性能方面的经验。很多有用的最佳实践都在这里。
pganalyze
上周,jignesh向我们展示了如何在amazon rds上使用postgres 12的beta版,现在他将研究如何调整其设置以获得更好的性能。
Jignesh Shah
Ankur Desai
Shahriar Shovon
如何在postgresql中保存事务数据进行更新的同时,获得memsql查询的columnstore的高性能。
Oryan Moshe
将查询结果转换为json
您知道postgres包含一个将查询结果行转换为json的函数吗?它被称为row_to_json。让我们创建一个包含两个人的记录的基本表,以及一个“兴趣”数组列,来处理:
CREATE TABLE people
(name text, age int, interests text[]);
INSERT INTO people (name, age, interests)
VALUES
('Jon', 12, ARRAY ['Golf', 'Food']),
('Jane', 45, ARRAY ['Art']);
使用row_to_json的最基本方法是使用行构造函数ROW,如下所示:
SELECT row_to_json(ROW(name, age, interests)) FROM people;
row_to_json
-----------------------------------
{"f1":"Jon","f2":12,"f3":["Golf","Food"]}
{"f1":"Jane","f2":45,"f3":["Art"]}
我们可以看到表中不同类型的数据(字符串、整数、数组)对应输出到结果中,但列名却没有!幸运的是,有一种更好的方法可以通过使用子查询来解决这个问题:
SELECT row_to_json(q1) FROM
(SELECT * FROM people LIMIT 1) q1;
row_to_json
-----------------------------------
{"name":"Jon","age":12,"interests":["Golf","Food"]}
它与我们这里的示例没有关系,但是row_to_json有一个可选的第二个参数,可以在某些情况下“美化”输出—要启用它,您可以在上面的示例查询中使用row_to_json(q1,true)。
🗓即将举办的Postgres活动
备注:英文原文地址
存储网络行业协会(snia)一直在研究ssd作为关键价值存储的规范,三星正在研究一种兼容的实现。这是一个有趣的发展,为新形式的高性能、持久的关键价值商店铺平了道路。
Billy Tallis
只需点击几下鼠标,就可以在您选择的云提供商(aws、gcp、azure)上,在世界各地的不同地区部署和管理时间序列工作负载。在这里注册300美元的试用积分。
Timescale sponsor
我们经常在这里讨论人工智能、机器学习和数据库之间的交叉,这些思想将它们结合在一起,生成数据库查询,在后台自动“预测”事物。现在,一个新的数据库,aito提出了一些解决方案
Antti Rauhala
旨在以低延迟提供“google生产级规模和吞吐量”,并支持类似graphql的查询语法。1.1.0版刚刚发布。
Dgraph
MongoDB Data Lake目前处于beta版,是一个完全托管的数据湖,它是一个服务,允许您使用MongoDB查询语言探索存储在AWS S3(在适当时候支持的其他存储)上的半结构化数据。
MongoDB, Inc.
Yugabyte DB通过了著名的严格的Jepsen测试程序。
amazon elasticcache(aws的redis服务)现在允许客户携带自己的密钥来对静止数据进行加密。
MongoDB的Atlas托管服务现在可以在azure Marketplace上使用,从而使azure用户的计费更加容易。ElasticSearch服务在azure Marketplace上也是新的。
使用aws glue从amazon ec2实例读取、转换和写入sql server数据到amazon dynamodb的过程。
Amazon Web Services
redis是流行的内存数据结构服务器,它有几种主要的数据类型,每种类型都适合不同的使用情况。
Kristi Anderson
获取如何使用图形算法来预测行为的实际示例,并提供超过20个算法的示例代码和提示。
Neo4j sponsor
连接和联合是在了解了SQL基础知识之后的第一个大的学习曲线。
Helen Anderson
看看谷歌平台为postgres用户提供的功能。
Viorel Tabara
redis支持模块、向redis数据库添加新命令、数据类型和功能的自定义扩展,本文将介绍如何使用一种鲜为人知但非常有趣的语言创建这样的模块。
Loris Cro
如何在postgresql中保存事务数据进行更新的同时,获得memsql查询的columnstore的高性能。
Oryan Moshe
由于最近对MongoDB的许可证进行了更改,Homebrew包管理器中的MongoDB公式(通常在MacOS上使用)已被删除,但MongoDB有自己的官方Brew Tap,您应该通过Brew Tap MongoDB/Brew使用它
Homebrew Project
如果您使用psql,您可能会使用less它作为寻呼机,但它不直接支持表格数据。是的!本文阐述的这个是支持的,而且持按列排序。也支持MySQL。
Pavel Stehule
Ryan Wynn
包括过滤、统计、采样、连接等操作。有趣的是,它们是用d编写的,但二进制文件是可用的。
eBay
备注:英文原文地址
如果您使用psql,您可能会用less它作为分页器,但它不直接支持表格数据。将要介绍的这个是支持的!最新的主分支版本还支持按列排序。
Pavel Stehule
在一系列日期中有多少工作时间?一个使用pl/pgsql实现的,方便、完美的、容易理解的例子。
Luca Ferrari
PGX提供完整的PostgreSQL支持,从紧急服务到日常运营支持,再到战略规划。我们来这里是为了你的数据操作。
PostgreSQL Experts, Inc.
“只需升级就有性能提升”。Postgres12增强了CTE查询,默认情况下对查询进行了JIT编译,索引也得到了改进。
Jonathan S. Katz
pl/pgsql允许您直接在postgres和sql查询中编写和执行一些非常高级的逻辑,plpgsql检查可以帮助您解决性能和sql注入问题。
Pavel Stěhule
看看谷歌平台为postgres用户提供的功能。
Viorel Tabara
aws提供postgres的beta版本,用于在其美国东部2地区的“预览环境”中进行测试。
Jignesh Shah
InfluxData
你知道有三种不同的方法可以建立到同一个数据库的连接吗?一种键/值方法,流行的“url”方法,在psql中使用命令行选项。
Dimitri Fontaine
Granthana Biswas
Johann 'Myrkraverk' Oskarsson
preriod是一个sql:2016特性,有点像postgres的范围类型,这个扩展在postgres中实现了一些基本支持。
Vik Fearing
使用distinct on的基本示例
上周,我们的技巧是关于select distinct,这是一种不使用group by从列中轻松选择唯一值的方法。本周,我们又向前迈了一步!
当select distinct从列中选择唯一值时,select distinct on选择可以明显匹配各种条件的第一行。这很难单独用文字来解释,所以让我们试试最简单的例子。
让我们创建一个表来存储不同位置的温度。在真实的案例中,您可能也会有一个与时间相关的列,但为了简洁起见,我们在这里使用int:
CREATE TABLE temperatures
(location TEXT,
temp INT);
INSERT INTO temperatures
(location, temp)
VALUES
('Springfield', 71),
('Springfield', 74),
('Springfield', 64),
('Springfield', 56),
('Miami', 84),
('Miami', 77),
('Miami', 91);
现在,假设我们只想得到每个位置记录的最高温度。使用distinct on来完成这个任务:
SELECT DISTINCT ON(location) *
FROM temperatures
ORDER BY location, temp DESC;
location | temp
--------------------
Miami | 91
Springfield | 74
如果我们没有使用DISTINCT,我们会得到所有的位置和温度随温度的降序排列。然而,Distinct on(location)将结果分解为每个位置的第一个匹配结果,为每个位置计算出最高温度。
🗓即将举办的Postgres活动
备注:英文原文地址
Hadoop曾经被称为是IT企业的前进方向,有一篇文章从高层次上阐述了Hadoop在走下坡路。
DERRICK HARRIS
隔离和一致性是允许并发操作的多用户事务数据库中的重要概念,但数据库供应商以各种方式描述了他们对这些概念的支持程度。
DANIEL ABADI
谷歌云的BigQuery数据仓库的最新更新包括10倍的流量配额增加、自动重新群集以及导入TensorFlow模型,以便对BigQuery表数据进行批量预测。
GOOGLE CLOUD BLOG
这个全管理的时间序列预测服务声称在没有机器学习时提供高精度的预测。
AMAZON WEB SERVICES
首席云安全工程师-作为我们的第一个安全工程师,发挥作用,专注于推动围绕我们的云安全工作的创新和最佳实践。
Vettery有需求DB开发人员——准备好大胆的职业发展了吗?制作一份免费的个人资料,标明你期望的待遇,并与当今顶尖雇主的招聘经理联系。
sirixdb:进化的、时态数据库系统的概念–对sirixdb(一个日志结构的时态nosql文档存储)体系结构概念的详细描述。
JOHANNES LICHTENBERGER
与Rob Skillington讨论时间序列数据库——系列数据库经过优化,可以跨时间存储大量连续数据。Uber的RobSkillington谈到了他们的用例和他帮助创建的分布式时序数据库M3DB。
SOFTWARE ENGINEERING DAILY
MongoDB Atlas是一个功能强大、可靠的云数据库。立即尝试
MONGODB ATLAS
2020年及以后的企业搜索:5大趋势值得关注–企业搜索一直停留在“90年代”,但随着人工智能和自然语言的发展,2020年将是“企业搜索年”。
DATANAMI
来自Ubuntu背后的公司,是一个针对边缘和物联网应用的“企业级”sqlite版本
CANONICAL LTD.
SQLiteWrapper:SQLite的一个可扩展的轻量级C++ 17包装器
TRAIL OF BITS
备注:英文原文地址
一位Postgres社区的核心成员,收集了一些吸引人的东西,包括新版本的书籍,采访,代码,深入挖掘Postgres的例子(但是,这需要购买。)
DIMITRI FONTAINE
行安全是Postgres的一个重要功能,它可以创建更细粒度的策略划分用户能查询或者更新的数据行。让我们一起来看一下这是如何实践的。
HANS-JÜRGEN SCHÖNIG
在这本pganalyze电子书中,我们将查看前6个Postgres日志事件,以监控查询性能并防止停机。
PGANALYZE
赞助商
TimescaleDB是一个流行的扩展,它为Postgres带来了时间序列数据库功能。在这里,Timescale共享他们的设计、计划和新的(仍然是封闭测试版)分布式版本TimescaleDB的基准。。
MIKE FREEDMAN AND ERIK NORDSTRÖM (TIMESCALE)
在技术的角度比较Patroni与repmgr和PAF在管理高可用Postgres集群的区别
MADAN KUMAR
dbdiagram.io是一个使用简单的DSL语言绘制数据库关系图的在线工具。这个简短的脚本将您基于Postgres的数据库转换为该语言。
HOLISTICS SOFTWARE
下载我们的白皮书,了解为什么PostgreSQL在开发人员中的受欢迎程度急剧上升
ENTERPRISEDB
最新版本的流行连接池中的主要新功能是支持SCRAM 身份验证。改进了Postgres 12的支持。
PETER EISENTRAUT
但如果你需要这样做,这是不容易的,这个新的项目拉请求将有帮助。卢卡还建议了一种让它与Postgres12一起工作的方法,但建议在生产中不要使用它。
LUCA FERRARI
由DATADOG提供
今天的提示很简单,但我知道很多Postgres用户并不熟悉。在接下来的几周里,我们将从这个简单的提示构建成更有趣和更复杂的不同示例。
在最基本的级别上,distinct是一个关键字,可以用于select查询,以从最终结果中消除重复的行。例如:
SELECT DISTINCT city FROM employees;
这是一个比下面的语句更好的例子
SELECT city FROM employees GROUP BY city;
本周提示由DataDog赞助。
🗓 即将举办的Postgres活动
• PGDay Austria 2019(9月6日, 维纳·纽斯塔特,奥地利)
• PostgreSQL Conference Asia 2019(9月8-11日,巴厘岛,印度尼西亚)
• PostgresOpen 2019 (9月11-13日, 佛罗里达)——两天包含有关PostgreSQL和相关技术的教程和演示文稿。
• PostgresConf Silicon Valley 2019(9月18-20日,圣荷西)——时间表(包括培训)现已公布
• PostgresConf South Africa 2019(10月8-9日, 约翰内斯堡)——提供给使用Postgres的数据库管理和开发人员互相了解的机会。
• PostgreSQL Conference Europe 2019(10月15-18日, 米兰)
备注:英文原文地址
本周我们将进行一个详细的技术案例研究,知乎是中国最大的问答网站,拥有超过2.2亿用户。这篇文章深入探讨了他们如何利用tidb横向扩展减少相应时间。
XIAOGUANG SUN
今年早些时候,我们写了DigitalOcean提供Managed PostgreSQL服务的步骤,现在是MySQL和Redis。
ANDRÉ BEARFIELD
本技术指南涵盖了您需要做出的五个关键决策,以指导您的选择并使您获得成功。
ENTERPRISEDB
这是一个无服务器搜索和分析启动,它已经推出了一个针对AWS典型的NoSQL DynaModb的SQL平台。
DATANAMI
Percona,可能更以其MySQL性能专业知识而闻名,现在也在Postgres世界中。Postgres11的这个Percona风格的发行版包含了各种工具和扩展,使Postgres更加强大和可扩展。
BORYS BELINSKY (PERCONA)
couchbase是一个分布式nosql数据库,它最初汇集了couchdb和memcached的思想。CouchBase Mobile使CouchBase能够直接在最终用户的设备上运行,并在适当的时候与云中的主数据库同步,从而使事情进一步发展。
在亚马逊2019年的“黄金日”期间,亚马逊dynamodb每秒提供4550万个请求,总通话量达7.11万亿次。
一个以人工智能为核心的1.2万亿晶体管芯片已经问世。从一个典型的现代英特尔CPU的大约100亿个跃迁而来。
据报道,由于一台关键服务器没有密码保护,数千部未加密的电影通行证客户卡号和其他数据已暴露数月。
首席云安全工程师-作为我们的第一个安全工程师,发挥作用,专注于推动围绕我们的云安全工作的创新和最佳实践。
Vettery有需求DB开发人员——准备好大胆的职业发展了吗?制作一份免费的个人资料,标明你期望的待遇,并与当今顶尖雇主的招聘经理联系。
了解apache arrow flight-arrow flight–arrow flight是一种用于大容量数据传输的高性能有线协议,用于分析现代数据传输需求(包括安全性、并行性和平台独立性)。它在引擎盖下使用GRPC和HTTP/2。
LUCIO DAZA
怎样在SQL查询中添加IF-ELSE逻辑——介绍CASE
HELEN ANDERSON
在aws aurora上使用proxysql实现mysql负载平衡–介绍如何使用开放源代码mysql代理proxysql来平衡aurora数据库的负载。
KRZYSZTOF KSIAZEK
Badoo的数据工程:每天处理200亿个事件Badoo是一个在线交友网络,在他们的堆栈中使用Protobuf、Exasol、Spark和Cubedb。还有20分钟的谈话。
INFOQ
提供了独特的功能,如HTTP上的远程流和扩展捆绑,如JSON、R-Trees(地理空间索引)和全文搜索
PLASTICITY
KVROCKS:基于ROCKSDB的ReIDIS兼容的关键值数据库
一个新的开源数据存储库,用C++支持命名空间、MySQL ESK复制,但目的是使用SSD磁盘作为后端存储来增加容量(相对于ReISIS面向内存的方法)。
MEITU
pgcmd:一个非交互式的postgresql查询cli工具——本质上它允许您连接到postgres数据库,发出查询,并以json格式返回结果。
SOHEIL RASHIDI
备注:英文原文地址
Percona,也许因其MySQL性能专业知识而闻名,现在也在活跃在PostgreSQL中。这种Percona风格的Postgres 11分布式数据库包括各种工具和扩展,使Postgres更强大和可扩展。
BORYS BELINSKY (PERCONA)
触发器函数或者存储过程经常会用PL/pgSQL编写,如果你要求高性能,你可以尝试使用C来编写它。
JOBIN AUGUSTINE
Gitprime的新书汇集了一些最常见的软件团队动态,这是在与数百个企业工程组织合作时观察到的。可操作的洞察力,帮助您用数据调试开发过程。
GITPRIME
赞助商
实现思想是创建分离的role,使得在删除旧的密码之前有两个活动的密码同时存在。
JANNIK ARNDT
构建自己的Postgres扩展和移植现有的扩展以支持不同的操作系统是不同的事情,特别是向Windows系统移植,虽然很少有人需要这样做,但这些笔记可能是非常宝贵的。
JOHANN ‘MYRKRAVERK’ OSKARSSON
CRAIG RINGER
strongDM可以让您了解发生的事情,replay和分析事件。你无法在其他地方获得这样的功能。
STRONGDM
开发人员需要一个函数来克隆/复制Postgres中的模式,将其修复以支持物化视图,并在此处重新发布。
DENISH PATEL
libsodium是一个用于加密,解密,签名,密码散列等的加密库。
MICHEL PELLETIER
由CHAOS CONF提供
您是否知道Postgres支持在数据库中存储几乎任何内容(例如列,角色,域,表,触发器等)的注释?这个过程非常简单。
COMMENT ON [thing] IS 'your comment goes here'
这是一个例子
假设你有一个Postgres数据库。如果使用psql并运行\ dt,则会获得数据库中表的视图以及(空)描述列:
‘description’字段即为注释评论。让我们设置一个我们自己的:
COMMENT ON TABLE issues IS 'Newsletter issues';
这是使用注释的绝对最基本的示例,但它们具有更多实用程序(例如,您可以提供更复杂的索引,触发器,过程等的基本描述,这将有助于项目中的其他人理解您的数据库)。您可以在COMMENT命令文档中了解更多信息。
本周提示由Chaos Conf赞助。
🗓 即将举办的Postgres活动
• PGDay Austria 2019(9月6日, 维纳·纽斯塔特,奥地利)
• PostgreSQL Conference Asia 2019(9月8-11日,巴厘岛,印度尼西亚)
• PostgresOpen 2019 (9月11-13日, 佛罗里达)——两天包含有关PostgreSQL和相关技术的教程和演示文稿。
• PostgresConf Silicon Valley 2019(9月18-20日,圣荷西)——时间表(包括培训)现已公布
• PostgresConf South Africa 2019(10月8-9日, 约翰内斯堡)——提供给使用Postgres的数据库管理和开发人员互相了解的机会。
• PostgreSQL Conference Europe 2019(10月15-18日, 米兰)
备注:英文原文地址
流行的面向文档的数据库向前迈出了一步,支持分布式ACID事务,按需物化视图,通配符索引和可重试读写(用于处理瞬态集群故障)。 客户端字段级加密也处于测试阶段。
ELIOT HOROWITZ (MONGODB)
如果你没有足够的时间去构建一个数据库,你可以吧你的数据丢进一个’数据湖’,然后你可以随意查询。Lake Formation让这个过程更简单。
AMAZON WEB SERVICES
无论您是在DevOps、开发或数据库管理领域,都可以从Studio3T免费下载完整的SQL迁移白皮书。
STUDIO 3T
‘如果你是一个数据分析师,为什么不使用数据分析来解决你的问题呢?’我不知道哈尼夫的发现有多有用,但能看到这么多关于谁是数据科学家的细节是很有趣的。
HANIF SAMAD
与Redis实验室的高级产品经理Pieter Cailliau聊了45分钟,讨论如何使用Redis的Redisai模块处理张量数据类型和深度学习模型。
THE CHANGELOG
首席云安全工程师-作为我们的第一个安全工程师,发挥作用,专注于推动围绕我们的云安全工作的创新和最佳实践。
Vettery有需求DB开发人员——准备好大胆的职业发展了吗?制作一份免费的个人资料,标明你期望的待遇,并与当今顶尖雇主的招聘经理联系。
怎么样在Grab构建一个日志堆栈——在本文之前,‘让你在很短时间内查询一个过去三天的字符串’事宜按很款按的事,本文即将将你解脱出来。
DANIEL KASEN
好的数据库设计从这里开始——当您开始一个新的数据库项目时要遵循的规则:用法、模型选择、过程和测试。
JUN WU
PostgreSQL中的服务器端编程概述-如果您只是使用PostgreSQL作为应用程序与之交互的数据存储,那么您可能不会意识到它作为一个具有用户定义类型、SQL和PL/PGSQL函数以及与其他语言集成的平台有多强大。
RAPIDLOOP
不正确管理数据库的隐藏成本-请参阅您的业务停机的真正成本,如果没有配置良好的数据库和基础设施设置,可能会造成的潜在损失
PERCONA
通过恶意的sqlite数据库获得代码执行——演示了“两个现实场景:密码窃取器后端服务器的pwning,以及以更高的权限实现IOS持久性”。
CHECK POINT RESEARCH
可扩展的SQL数据库如何为Uber的实时分析提供支持——Uber的James Burkhart解释了Memsql(一种分布式、内存中的SQL RDBMS)如何帮助解决Uber增长中关键点的延迟问题。
MEMSQL
KEVIN CHEN AND BRIAN OVERSTREET (PINTEREST)
Python会扼杀R吗?——R语言的目标是统计计算和数据分析领域,但尽管最近流行起来,但由于Python不断增强的控制,它已经被称为“垂死的语言”。
ALEX WOODIE
sqltop:查找最消耗资源的SQL Server查询-使用sqlmon在elasticsearch中收集和存储SQL Server事件数据,然后将其用于分析。
SOHEIL RASHIDI
备注:英文原文地址
如果你刚刚使用Postgres作为你的数据库服务,你可能还没有意识到它有多强大。使用定义类型、SQL、PL/PSQL函数、存储过程、甚至使用C、Python和Perl扩展Postgres的功能。
RAPIDLOOP
当你能发布6个版本时,为什么要发布一个版本的Postgres?这些发布的动机是修复安全问题和其他bug。
POSTGRESQL GLOBAL DEVELOPMENT GROUP
在芝加哥与我们一起学习Postgres最新的研究成果和未来的发展。在这里你可以获得手把手的教学:性能调优、PostgreSQL安全,多主复制。
2NDQUADRANT POSTGRESQL EVENTS
赞助商
Timescale正在进行Postgres社区调查,并计划公开分享汇总结果和分析结果。
TIMESCALE
一个项目获得“终身成就”奖让人感觉很奇怪。好在Mark Wong、Bruce Momjian和Christophe Pettus代表PostgreSQL项目在O’Reilly的Oscon活动上接受了该奖项。
HAKI BENITA
使用TImescaleDB这样的插件可以增强Postgres的时间序列功能,你也可以使用Postgres吱声完成一些简单是时间序列工作
HANS-JÜRGEN SCHÖNIG
虽然这不会立即被许多读者使用,但这是如此华丽的利基和详细!它深入探讨了在使用Postgres的inet/cidr类型对存储的网络地址进行排序时如何提高Postgres的性能。
BRANDUR LEACH
学习怎样使用内存计算平台提升Postgres的速度和规模,来支持你的数据密集型应用。
GRIDGAIN SYSTEMS
GAJUS KUIZINAS
POSTGIS DEVELOPERS
构建在Node.js的pg库之上,Slonik为Postgres CLI体验提供了一些有趣的细节和便利方法。
GAJUS KUIZINAS
要让这个补丁和扩展与postgres一起工作,需要做一些改动,但是一旦这样做了,这是改进查询优化器的一个有趣的实验。仅限高级用户。
POSTGRES PROFESSIONAL
由PGX提供
一个(非常)简单的改变!
当我在上周写有关使用pgstattuple查看死行的提示时,我遇到了一些对截图不切实际的输出:
幸运的是,psql支持一种称为“扩展表格式化模式”的不同类型的输出。通过运行带有-x或–expanded选项的psql启用它,或者在psql已经运行时键入\ x以打开和关闭它。
这对于截取屏幕截图或复制并粘贴到自述文件或电子邮件中更好
本周提示由pgexperts赞助。
🗓 即将举办的Postgres活动
• PGDay Austria 2019(9月6日, 维纳·纽斯塔特,奥地利)
• PostgreSQL Conference Asia 2019(9月8-11日,巴厘岛,印度尼西亚)
• PostgresOpen 2019 (9月11-13日, 佛罗里达)——两天包含有关PostgreSQL和相关技术的教程和演示文稿。
PostgresConf Silicon Valley 2019(9月18-20日,圣荷西)——时间表(包括培训)现已公布
PostgresConf South Africa 2019(10月8-9日, 约翰内斯堡)——提供给使用Postgres的数据库管理和开发人员互相了解的机会。
PostgreSQL Conference Europe 2019(10月15-18日, 米兰)
备注:英文原文地址
我们之前就提到NVIDIA在数据科学领域的志向,现在有两位NVIDIA的工程师的一篇文章,展示了基于GPU的工具如何将数据科学推向新的阶段,其中包括GPU存储。
JOSH PATTERSON
Permutive为发布者提供了一个数据和分析平台,BigQuery和HyperlogLog在保持事物快速和准确方面发挥着重要作用。
PAULIUS IMBRASAS
学习我们如何为Postgres优化性能,如何500倍的降低磁盘IO。
PGANALYZE
Postgres真的能通过JSONB取代‘NOSQL’文档数据库么?从一个文档数据库供应商的角度来看,这是一个有意思的话题。
DENIS ROSA (COUCHBASE)
新推出的AmazonAurora多主机为Amazon的MySQL兼容数据库服务Aurora带来了更高的可用性功能。
AMAZON WEB SERVICES
在Vettery上找到一份新的开发工作——Vettery专注于技术角色,对求职者来说是完全免费的。
VETTERY
我是如何销毁多个生产数据库的一个90年代的系统管理员“恐怖故事”教会了这位工程师一些未来的教训。
JAN GERRIT KOOTSTRA
Stack Overflow如何使用redis进行应用缓存一个有趣的技术描述,描述了流行的开发者Q&A站点Stack Overflow如何使用redis来保持事情的顺利运行。
NICK CRAVER (STACK OVERFLOW)
Mariadb vs MySQL,一个技术的衰败——不要只是把Mariadb看作是MySQL的衍生产品,它还有更多的功能。
TONINO JANKOV
您不需要一个ER图来理解您的数据库-“ERD对于可视化数据库很好,但不适合作为文档本身。”
PIOTR KONONOW
MontyDB:python中MongoDB的一个很小的克隆版本——这对python开发人员来说有点有趣。这是一个Tinydb灵感,纯Python MongoDB-A-like!
DAVID LAI
LF:一个完全分散、完全复制的密钥/值存储——它被称为“beta”软件,但这是一个有趣的实验,可以为“小但关键”的信息片段创建一个快速的数据存储(想想ETCD,但适用于开放、分散的系统)。。
ZEROTIER, INC.
备注:英文原文地址
Postgres通过插件使自己容易扩展,最常见的插件是用C语言构建的。这个博客演示了如何建立一个基本的Postgres扩展项目并使其工作。
JOBIN AUGUSTINE
Postgres真的能通过JSONB取代‘NOSQL’文档数据库么?从一个文档数据库供应商的角度来看,这是一个有意思的话题。
DENIS ROSA (COUCHBASE)
学习我们如何为Postgres优化性能,如何500倍的降低磁盘IO。
PGANALYZE
赞助商
最近有一个关于Postgres和MongoDB的基准测试,测试结果显示Postgres吊打MongoDB。MongoDB回应测试者没有将两个数据库放置在公平的测试环境之下。
ÁLVARO HERNÁNDEZ
一个项目获得“终身成就”奖让人感觉很奇怪。好在Mark Wong、Bruce Momjian和Christophe Pettus代表PostgreSQL项目在O’Reilly的Oscon活动上接受了该奖项。
MARK WONG
正则表达式是描述文本搜索模式的字符序列。Postgres支持几种使用regex的方法。
MUHAMMAD HAROON
oom“killer”负责终止应用程序,以回收内存并防止内核崩溃。这里有一些建议,以避免它将Postgres进程干掉。
IBRAR AHMED
plpgsql_check是一个类似于plprofiler的项目,它还能检查PL/pgSQL代码指出其中的编译错误。
AVINASH VALLARAPU
当涉及到数据库性能时,您需要跟踪几个关键指标,它们并不都是特定于数据库的。
INFLUXDATA
MYSQL之前也是一款开源数据库,oracle通过收购其母公司,接管了MYSQL项目,这种事情不会发生在Postgres。
UMAIR SHAHID
此版本引入了对即将发布的Postgres12的本机支持,其中包括对时间点恢复和复制管理方式的重大更改。
2NDQUADRANT
虽然不知道这会有什么应用场景,但是这是一个有趣的SQL。
ABBAS
由[GitPrime提供
pgstattuple是一个内置的postgres扩展,它提供了各种函数来查看数据库中各种对象的统计信息。一种用途是检查表中有多少死行(通常是从表中删除数据时导致的)或者表中有多少可用空间。
我们来创建一个有1000行数据的表,然后看一下pgstattuple能带给我们什么。
CREATE TABLE numbers (id int);
INSERT INTO numbers SELECT * FROM generate_series(1,1000);
现在让我们来使用pgstattuple
CREATE EXTENSION pgstattuple;
SELECT * FROM public.pgstattuple('numbers');
这显示我们的表里有1000行数据,有0个无效tuple
让我们删掉一半的数据
DELETE FROM numbers WHERE id < 500;
SELECT * FROM public.pgstattuple('numbers');
现在我们得到了499的死元组计数(我们删除的行数)。但是整个表是一样的。因为那些无效tuple还存在。这可以通过运行以下命令来解决:
VACUUM numbers;
之后重新运行pgstatuple将不会显示无效行,但可用空间得到提升。表长度保持不变!这样做的原因是vacuum将清除死行并将其转换为自由空间(可以重新用于新行),但如果您真的希望Postgres重写表并释放该空间,则需要更进一步并使用vacuum full(尽管您需要注意执行此操作,在生产表上,因为它可能非常慢,并且会一直锁定表)。
本周提示由GitPrime赞助。
🗓 即将举办的Postgres活动
• PGConf.Brasil 2019(8月1-3日,圣保罗)——为期三天的会议,包括讲座,教程,课程和闪电讲座。
• PGDay Austria 2019(9月6日, 维纳·纽斯塔特,奥地利)
• PostgreSQL Conference Asia 2019(9月8-11日,巴厘岛,印度尼西亚)
• PostgresConf South Africa 2019(10月8-9日,约翰内斯堡)——提供给使用Postgres的数据库管理和开发人员互相了解的机会。
备注:英文原文地址
partiql是一种新的查询语言,它将SQL扩展为能够支持非关系、无模式和其他数据格式。它是开源的,已经在各种AWS系统内部使用。几年前,它的一个共同创建者还创建了SQL++(通过CouchBase的N1QL实现了这一点)。
PAPAKONSTANTINOU, GOO, ET AL.
这篇来自dgraph的文章并没有聚焦于金钱,而是深入探讨了dgraph为什么存在,以及它如何对大多数图形数据库采取不同的方法(通过以图形为核心,而不仅仅是一堆抽象的传统关系)
MANISH RAI JAIN
结合NIFI和InfluxDB可产生安全、可访问和可用的物联网数据流。此解决方案支持跨所有设施的单一数据视图,提供主动维护、故障检测等。
INFLUXDATA
10年前,couchdb(一个早期面向文档的nosql数据库)引起了很多关注,但现在它并没有那么多出现在我们的视野中。所以很高兴看到它仍在积极开发中,并且有大量的用例。这篇文章围绕着对两个主要CouchDB团队成员的采访展开。
JOSH MINTZ (IBM)
一个仍在编写的数据工程目录,试图涵盖数据工程中值得了解的主要思想。这是不完整的,但如果你想了解大局,这足够了。
ANDREAS KRETZ
Azure SQL数据库服务级别协议的两个主要更改:业务关键层中99.995%的可用性SLA,以及地理复制数据库的“业务连续性SLA”。
ALEXANDER NOSOV (MICROSOFT)
我对这本书非常喜爱,这本书评对这本书的内容进行了相当深入的探讨。一本学习数据建模、查询语言、格式、事务和分布式数据库以及它们如何连接在一起的。
HENRIK WARNE
在Vettery上找到一份新的开发工作——Vettery专注于技术角色,对求职者来说是完全免费的。
VETTERY
对ApacheCassandra的介绍—Cassandra不是典型的RDBMS,这个介绍清楚地描述了与Cassandra相关的所有术语的含义。
JOHN HAMMINK
Postgres系数据库AWS Aurora—Amazon Aurora提升了Postgres的兼容性,这具体指什么,它是如何使用的,它的限制是什么。Viorel Tabara带你了解所有的这一切。
SEVERALNINES
引入MongoDB 4.2:管道驱动的更新和更具表现力的查询
DJ WALKER-MORGAN (MONGODB, INC.)
介绍Postgres的并行—介绍了新版本Postgres的并行机制,包括并行顺序扫描、并行聚合和并行B-tree索引扫描和他们加速数据扫描的原理。
IBRAR AHMED
在NEO4J中运行决策树-通过一个非正统的示例,了解NEO4J如何与决策树一起工作,以快速解决现实问题。
MAX DE MARZI
Postgres的组合索引和独立索引—在设计数据库关系时,会遇到一个常见的问题,组合索引和单个索引哪一个更有意义。HANS-JÜRGEN研究了Postgres中的一些场景。
HANS-JÜRGEN SCHÖNIG
LiftBridge:轻量级的、容错的消息流—为NATS实现持久的、复制的消息日志的服务器。
LIFTBRIDGE
备注:英文原文地址
介绍了新版本Postgres的并行机制,包括并行顺序扫描、并行聚合和并行B-tree索引扫描和他们加速数据扫描的原理。
IBRAR AHMED
在设计数据库关系时,会遇到一个常见的问题,组合索引和单个索引哪一个更有意义。HANS-JÜRGEN研究了Postgres中的一些场景。
HANS-JÜRGEN SCHÖNIG
学习Postgres的新功能,现在可以完成简单的数据sharding
PERCONA
赞助商
Amazon Aurora提升了Postgres的兼容性,这具体指什么,它是如何使用的,它的限制是什么。Viorel Tabara带你了解所有的这一切。
SEVERALNINES
欧盟正在研究一些未来的新兴技术,其中一项是在合成DNA中存储数据。这是一项及其昂贵的研究,它已经有了可喜的进展,而且有人已经准备为这项研究做学术报告。这是一个值得关注的领域。
GEORGE ANADIOTIS (ZDNET)
Postgres12将提供对SQL/JSON的本地支持,并将提供一种标准化的方法来查询存储在Postgres JSONB列中的JSON数据。另一方面,JSQuery在Postgres9.4以后的扩展中提供了类似的查询语言。本文对这两种方式进行比较。
THOM BROWN
PGX提供完整的PostgreSQL支持,从应急服务到日常运营支持,再到战略规划。我们是为你的数据操作而来的。
POSTGRESQL EXPERTS, INC
赞助商
Spark是一个非常流行的开源大数据分析引擎,如果你对这个不是很了解,那么这篇文章通过Postgres带你深入了解它。
SEBASTIAN INSAUSTI
看 Timescale(PostgreSQL的时间序列集中扩展)如何利用PostgreSQL的基础,并扩展其性能以提高性能。
SVEN KLEMM
PGLogical是一种基于扩展的逻辑复制系统,它是物理复制的有效替代方案。
2NDQUADRANT
由Jonathan Reinink在Twitter提供支持
PostgreSQL中我最喜欢的一个小特性是NULL值的排序(NULL值放在开始或者末尾)。只需在方向(asc/desc)后添加nulls last或nulls first。
这允许你随意定义NULL值在排序结果中的位置。
本周提示由Datadog赞助。使用datadog在一个地方监控Postgres数据库、云服务、Web服务器、容器和servlet。Try it free
🗓 即将举办的Postgres活动
• PGConf.Brasil 2019(8月1-3日,圣保罗)——为期三天的会议,包括讲座,教程,课程和闪电讲座。
• PGDay Austria 2019(9月6日, 维纳·纽斯塔特,奥地利)
• PostgreSQL Conference Asia 2019(9月8-11日,巴厘岛,印度尼西亚)
• PostgresConf South Africa 2019(10月8-9日,约翰内斯堡)——提供给使用Postgres的数据库管理和开发人员互相了解的机会。
备注:英文原文地址
欧盟正在研究一些未来的新兴技术,其中一项是在合成DNA中存储数据。这是一项及其昂贵的研究,它已经有了可喜的进展,而且有人已经准备为这项研究做学术报告。这是一个值得关注的领域。
GEORGE ANADIOTIS (ZDNET)
Brooklin是一个处理大规模实时数据流的分布式服务,近年来它大量的在领英使用。他是java程序而且现在已经开源。
LINKEDIN ENGINEERING
Adam Jacob说:“StrongDM消除了终端用户访问他们需要的系统时发生的摩擦。”零信任访问任何数据库、服务器或k8集群。点击这里免费试用。
STRONGDM
假设LinkedIn决定对用户名称强制执行1000个字符的限制。这需要对现有数据库进行“数据修复”。下面是他们如何思考和安排这样的工作。
KEVIN FU
你可以在没有安装数据库的情况下,在浏览器中测试各个版本的MySQL、PostgreSQL、SQLite的SQL语句。
STATUS200
PostgreSQL获得了O’Reilly开源终身成就奖。
最新的SQL Server 2019技术预览版即将推出。它包括“大数据集群”,这是在SQL Server中进行大数据分析的新功能。
Azure数据共享是一项新的服务,它使从Azure Blob存储区或Azure Data Lake存储区向第三方组织共享数据变得更容易。
在Vettery上找到一份新的开发工作——Vettery专注于技术角色,对求职者来说是完全免费的。
VETTERY
使用SQL对结果进行随机排序-本文介绍了使用ORDER BY以几种特定于数据库的方式进行随机排序。
VLAD MIHALCEA
备机在生产中的使用:在世界第二大分类站点的扩展-Avito是俄罗斯最大的分类广告站点,在100个PostgreSQL节点上存储20TB的数据。下面详细介绍了它们的高可用性设置。
KONSTANTIN EVTEEV
测试驱动一流的CI/CD管道-使用我们的新测试驱动快速了解GoCD如何通过一流的管道、可视化等帮助您解决CI/CD难题。
THOUGHTWORKS - GOCD
赞助商
使用Fastai和Tour创建“相似图像”建议—一种基于Python的图像相似性搜索实现,基于从预先学习的CNN获得的特征向量。
GAUTHAM KUMARAN
ITAMAR TURNER-TRAURING
用约束排除完成更快的查询-时间刻度(一个PostgreSQL的时间序列为重点的扩展)如何利用PostgreSQL的基础并扩展其能力以提高性能。
SVEN KLEMM
EVGENIY GRIBKOV
备注:英文原文地址
阿维托是俄罗斯最大的分类广告网站,它在100个Postgres节点上存储了20TB的数据。这里带你从幕后详细地了解他们的Postgres高可用性设置。
KONSTANTIN EVTEEV
HypoPG是Postgres的扩展,用于创建“假想索引”,本质上是虚拟索引,您可以使用它来测试某个索引是否能够提前改进查询。本文通过自动查找值得创建的索引,使事务推进到下一步。
AVINASH VALLARAPU
Adam Jacob说:“StrongDM消除了终端用户访问他们需要的系统时发生的摩擦。”零信任访问任何数据库、服务器或k8集群。点击这里免费试用。
STRONGDM
赞助商
BRIN索引(它提供了一种有效的方法,可以将索引值分组为“范围”)在Postgres 9.5中引入,并具有一些特定的用例。这篇文章测试了一种确实可以提供帮助的情况。
JOBIN AUGUSTINE
这篇文章介绍了如何使用ORDER以几种特定于数据库的方式对行进行随机排序,包括Postgres。
VLAD MIHALCEA
假设您想根据正在运行的Postgres版本运行不同的代码。你可以的!
LUCA FERRARI
希望你喜欢我们今年在《Postgres Weekly》中收录的各种“本周要诀”,但在这里,Craig Kerstiens还会发掘出更多:-)
CRAIG KERSTIENS
通过对延迟峰值、错误、异常等发出可操作的警报来改进PostgreSQL性能。智能监控与Datadog ——免费使用。
DATADOG
赞助商
简要介绍Postgres是如何存储函数和过程的,以及这些函数和过程是如何被复制的。
HANS-JÜRGEN SCHÖNIG
了解如何使用一个简单的Docker Containers配方设置基于PostgreSQL证书的认证。
JONATHAN S. KATZ
这是一个非常特别的设置,适用于那些希望获得一些额外性能的服务器操作人员(并且仅适用于那些使用Linux的操作人员)。
KAAREL MOPPEL
pgBackRest是一个功能强大的备份和恢复工具,可以配置以使用AWS S3。
STEFAN FERCOT
由Gremlin提供支持
如果要将结果分组并聚合在一起,则使用GROUP BY作为一个常用方法,但ROLLUP是少数条款中的一个,它可以帮助您通过让多个集合在一个单元中将事物转移到另一个维度查询。
这是现场最佳演示的功能,所以让我们创建一个表并加载一些示例数据。不同年份不同足球队的得分数:
CREATE TABLE goals (
team TEXT, year INT, goals INT);
INSERT INTO goals VALUES
('USA', 2010, 5), ('USA', 2011, 3),
('USA', 2012, 12), ('ENG', 2010, 17),
('ENG', 2011, 9), ('ENG', 2012, 11);
如果我们想要获得每队每年平均进球数,我们可以这样做:
SELECT team, ROUND(AVG(goals))
FROM goals GROUP BY team;
但是,假设我们不仅希望按团队分组,还希望通过整体表格(即没有专栏)来获得总体平均目标数量。 我们可以这样做:
SELECT team, ROUND(AVG(goals))
FROM goals GROUP BY ROLLUP(team);
这给我们带来了如下结果:
team | round
--------------
ENG | 12
USA | 7
(null)| 10
除此之外还有更多内容,所以请享受本教程来了解更多信息。
本周的提示由Gremlin提供给您,这个平台可以通过运行合理的Chaos Engineering实验来帮助您构建更具弹性的软件。 更多信息请访问gremlin.com。
🗓 即将举办的Postgres活动
• PGConf.Brasil 2019(8月1-3日,圣保罗)——为期三天的会议,包括讲座,教程,课程和闪电讲座。
• PGDay Austria 2019(9月6日, 维纳·纽斯塔特,奥地利)
• PostgreSQL Conference Asia 2019(9月8-11日,巴厘岛,印度尼西亚)
• PostgresConf South Africa 2019(10月8-9日,约翰内斯堡)——提供给使用Postgres的数据库管理和开发人员互相了解的机会。
备注:英文原文地址
MongoDB, Inc.对最近的一个基准测试做出了回应,该测试显示PostgreSQL在性能方面战胜了MongoDB,但基准测试进行的很困难,并且MongoDB对此并不满意,所以他们用自己的一些基准测试进行了反击。像往常一样,在依赖基准测试之前要考虑所有因素。
GREG MCKEON (MONGODB, INC.)
对Redis数据结构键/数值存储的一个有趣的补充。Gears是一个新模块,它添加了基于python的、集群感知的脚本语言,用于对数据执行更高级的查询。GitHub报道。
REDIS LABS
无论您是在DevOps、开发部门还是数据库管理部门,都可以从Studio 3T免费下载完整的SQL Migration白皮书。
STUDIO 3T
赞助商
YugaByte几年前就已经存在了,它是一个高性能的分布式数据库,支持SQL和Cassandra api。而它现在是完全开源的,包括以前的封闭源码和企业特性。
KARTHIK RANGANATHAN (YUGABYTE)
一篇文章回顾了hadoop驱动的“大数据”时代的十年,并指出随着新技术的扩散和向“云数据”发展的大幅度变化,目标也在不停的变化。
DATANAMI
如果您没有一个系统来设置和检查所有数据库系统的身份验证和网络访问策略,那么现在是时候开始了。
SILICONANGLE
一场骇客新闻探讨,内容涉及CockroachDB、分布式SQL数据库、它的用例以及谁在实际使用它。还有一个关于TiDB、yumb、Citus和MemSQL的有趣解释。
HACKER NEWS
WePay是一个庞大的MySQL用户,但在面临扩展问题时,他们必须决定是分割MySQL还是切换到另一个解决方案。他们和卡桑德拉一起去的。
JOY GAO (WEPAY)
在Vettery上找到一份新的开发工作——Vettery专注于技术角色,对求职者来说是完全免费的。
VETTERY
用SQL编写解释器来寻开心——这取决于你的兴趣,但是很高兴看到这种事情是可能的。我喜欢这句话:“SQL代码是吼叫和关系代数的奇怪组合。”
MICHAEL MALIS
操作分析的SQL查询规划——在基于SQL的事件数据分析系统Rockset中,了解如何实现SQL查询规划来支持操作分析需求,比如低延迟和高并发性。
PURVI DESAI
开始在Containers中部署Postgres数据库——探索是什么推动了containers的增长,以及containers用例的机会:数据库
ENTERPRISEDB
赞助商
SQL 301:为什么需要SQL窗口函数——窗口函数非常强大,它允许您查看表中的行,其中的新列显示了运行的总数、排名或移动平均线等。
HELEN ANDERSON
从Postgres看图形数据库的远景——几周前在Postgres Vision 2019上发表的一个关于AgensGraph的演讲,AgensGraph是一个基于Postgres的多模型图形数据库。音频质量不是很好,但是您可以很好地了解什么是AgensGraph以及它是如何提供帮助的。
AGENSGRAPH
在AWS选项中评估MySQL性能——比较Amazon Aurora、RDS和两个基于Percona服务器的选项。
ALEXEY STROGANOV (PERCONA)
OctoSQL:使用SQL支持的数据源连接、分析和转换来自多个数据源的数据——支持的源文件有CSV、JSON、MySQL、PostgreSQL和Redis
JACOB MARTIN
备注:英文原文地址
支持SCRAM身份验证是在Postgres 10中引入的,它提供了比MD5更大的好处。下面是如何以及为什么这样做,和如何将现有登录账号升级到使用SCRAM方法。
JONATHAN S. KATZ
Citus Data(现在是微软的一部分)的一名工程师在Postgres Open(2018)上发表了一场40分钟的演讲,从一只鳄鱼出发,讲述了一个关于Postgres中所有索引类型的故事。这比听上去的更具有有教育意义,您将从中学到很多,如果您正好需要了解Postgres索引,这40分钟将是一个很好的机会。
LOUISE GRANDJONC
加入免费的PostgreSQL网络研讨会: Postgres通过图片进行真空调优,了解PostgreSQL中的真空和自动真空的关键概念、真空操作、如何调优用于Postgres部署的真空,等等。
2NDQUADRANT POSTGRESQL WEBINARS
赞助商
这是一个技术问题! 最新版本的GNU C库(2.28)对Unicode排序规则(排序规则是控制字符串比较或排序的规则)进行了很大的更改,这可能会导致索引出现问题,包括损坏。Postgres在默认情况下使用os级排序,但也可以使用ICU排序,它本质上是一组独立的、第三方的、跨平台的排序,本文将深入探讨为什么要进行这种转换,以及如何进行这种转换。
LAURENZ ALBE
今年10月在意大利米兰。演讲人要到八月才会选出(CFP现在已经关闭了),但是现在可以买到票了。
PGCONF.EU
Postgres 12在分区选择、引用完整性改进和内省方面得到了一些“非常显著”的改进。
KIRK ROYBAL
在Oracle世界中更常见,自治事务是由其他事务发起的独立事务(也就是说,它们具有不同的上下文,不会干扰“调用”事务)。Postgres对此没有原生支持,但有两种解决方案。
KAAREL MOPPEL
pgAdmin是一种流行的基于web的Postgres管理和数据库管理工具。
DAVE PAGE
DAVE PAGE
最近的一次演讲中这些代码丰富的幻灯片突出了CREATE STATISTICS的用例,这是Postgres 10中引入的一个命令,可以创建扩展的统计对象来帮助查询规划。
TOMAS VONDRA SLIDEDECK
此模式结合了一个SQL编辑器、原生Python和R笔记本,还有viz builder在同一个平台上。连接、分析并且分享。
MODE
赞助商
演示如何使用GraphQL查询语言、Apollo Server和Node.js将各种数据库组合在一起(这里对MongoDB和Postgres的选择相当随意)。
BEN AWAD
几周前,在Postgres Vision 2019上发表了一篇关于AgensGraph的演讲,AgensGraph是建立在Postgres之上的一个多模型图数据库。音频质量不佳,但是您可以很好地了解什么是AgensGraph以及它是如何提供帮助的。
AGENSGRAPH
由percona提供支持
如果您运行自己的Postgres服务器,它就像石头一样坚固,对吧? 如果您运行在云基础设施上,您永远不知道它是如何工作的,因此以一种能够应对Postgres失败的弹性方式构建系统是值得的。
您可以在各种故障场景下测试您的应用程序,方法包括提供不正确的数据库身份验证细节、关闭数据库服务器,甚至设置防火墙规则,但是间歇性故障怎么办? 你需要一些不那么严重的东西。
Toxiproxy是一个开源系统,它可以模拟不同的网络环境,因此您可以看到您的应用程序在后台服务(如Postgres数据库)处于间歇性或遭受高延迟的情况下如何执行。它既是一个Go支持的TCP代理(因此您可以将它用于Postgres之外的其他服务),也是用于Go、Ruby、Python、. net、PHP和Node的客户机库。因此,您可以将它直接集成到您的测试套件中。
本周的小贴士由Percona赞助。本白皮书讨论了高可用性数据库体系结构的重要性,以及如何为高可用性配置PostgreSQL。
🗓 即将举办的Postgres活动
• GConf.Brasil 2019(8月1日至3日,巴西圣保罗)——为期三天的会议,包括讲座、辅导课、课程和闪电讲座。
• PGDay Austria 2019(9月6日,奥地利维也纳诺伊施塔特)
• PostgreSQL Conference Asia 2019 (9月9日至12日,印度尼西亚巴厘岛)
• PostgresConf South Africa 2019(10月8日至9日在约翰内斯堡)——提供给使用Postgres的数据库管理和开发人员互相了解的机会。
备注:英文原文地址
内置于C++中,DUCKDB将自己“标榜”为“用于分析的SQLite”。经过一段时间的开发,第一个官方0.1版本现已发布,同时已与C/C++、Python和 R绑定。官方主页。
CWI DATABASE ARCHITECTURES GROUP
回顾一篇学术论文,概述了SQL可以扩展到更强大地支持现代流媒体需求的一些方法。
THE MORNING PAPER
本教程介绍如何针对Amazon的新MongoDB兼容数据库DocumentDB运行简单的网络黑洞攻击。
GREMLIN
赞助商
最近PostgresVision会议的与会者从数据库先驱Michael Stonebraker博士那里听到了消息。他讲述了他如何帮助Postgres走向全世界。
JOAB JACKSON(THE NEW STACK)
来自Datasette的创建者,这是一种将数据转换为基本Web站点和API的流行工具。
SIMON WILLISON
一个有趣的40分钟的讨论,深入探讨了查询解析和规划的世界,以及如何分析使用PostgreSQL的EXPLAIN命令创建的查询计划。
LOUISE GRANDJONC
简介:
• SQL Server 2019引入了对UTF-8(广泛使用的字符编码方案)的本机支持。
• RavenDB推出了RavenDB Cloud,这是一个基于托管云的事务性NoSQL数据库版本。
• 中国的初创企业正在寻找“购买中国”的途径,它们将目光从Oracle和IBM身上移开,转而投向像 PingCAP这样的供应商
• 开源的github -a平台GitLab已经放弃了对MySQL的支持,并解释了原因。
• 公平地说,Oracle对AWS赢得一份重要的美国军事合同并不满意。
寻求:有️❤️和好奇心的开发者 - 停滞不前?看看C5吧:新项目、新技术、新挑战,以及身处旧金山、洛杉矶、纽约的善良而又聪明的同事们。
CARBON FIVE
在Vettery上找一份新的开发工作 - Vettery专注于技术角色,对求职者来说是完全免费的。
VETTERY
Redis 6中的客户端缓存 - Redis的创建者解释了Redis的下一个主要版本将如何支持那些相当高级的客户端缓存,并完成服务器导向的缓存失效。
SALVATORE SANFILIPPO
积极地调优Cosmos DB (漫漫长路) - 有多少种调优Cosmos DB的方法?“为了(最终还是相当绝望)让它更好地扩展,我们尝试了9种方法。”
TOM WRIGHT
社区亮点:Timbergrove如何使用InfluxDB来提供一组智能的办公套件
INFLUXDATA
赞助商
DATANAMI
36个关于Azure Cosmos DB概念的“宇宙级笔记” - 如果你有任何关于Azure的多模型数据库服务的工作要做的话,这些笔记可能会派上用场。
AZURE COSMOS DB
用Clang/WASI将Redis移植到WebAssembly中 - 几乎可以肯定,您自己永远不需要这样做,但我发现这是一个有趣的幕后观察。(如果您对这些内容感兴趣,您可能还喜欢这个编译为WebAssembly demo的SQLite。)
MIKHAIL VORONOV
CDNs应该像数据库一样工作 - 一个新的边缘计算创业公司为它的方法提出了一个有趣的论点。
MACROMETA
备注:英文原文地址
备注:英文原文地址
如果两个用户都有一个数据集合,Private Join and Compute为他们提供了一种在不影响任何数据的情况下私下计算共同记录的相关值总和的方法。
GOOGLE
SaaS公司的CTO分享了从Amazon RDS迁移到Aurora(Amazon的高性能数据库系统,可以将自己呈现为Postgres或MySQL兼容)的故事。避免停机是关键,他们设法做到了。
MIGUEL CARRANZA (REVENUECAT)
也被称为Matt Mazur的SQL风格指南,这是一个潜在的有用的关于部署SQL的强烈意见和最佳实践的来源。(只是我更喜欢所有大写的SQL格式吗…)
MATT MAZUR
现在,您可以使用Studio3T及其新的SQL迁移功能将整个SQL数据库导入MongoDB。
STUDIO 3T
LinkedIn有一个“你可能认识的人”系统,用于将人们联系在一起。本文将深入探讨它在数据级如何工作的实用性。
INFOQ
keydb是redis数据结构存储的一个多线程分支,它的开发人员试图演示其扩展方法可以带来的性能提升。
EQ ALPHA
TimescaleDB是一个开源的Postgres扩展,用于大规模处理时间序列数据,现在它也是第一个托管的多云时间序列数据库系统的一部分。
JEFF SPOSETTI AND AJAY KULKARNI
一个并发的内存中的高速缓存,内置Go。如果您想将HTTP服务器包作为服务提供,也可以使用它。
ALLEGRO TECH
简介
想快速回顾一下存储在凹口卡上的计算机前数据库吗?
招聘有求知欲的负责的开发者–个人技术水平遇到瓶颈?新项目、技术和挑战与善良、支持和优秀的人完美结合。
CARBON FIVE
在Vettery上寻找数据库有关的工作 – Vettery专门为科技领域的求职者提供相关工作并完全免费。
VETTERY
重新思考数据库物化视图作为索引 – 通过利用时间序列数据的属性,我们能使物化视图的维护足够有效,使它们像索引一样工作吗?
MATVEY ARYE
无损压缩的最低限度指南 – 无损压缩的简要历史,然后简要介绍它在Hadoop场景中的使用。
MARK LITWINTSCHIK
在5分钟内启动GoCD连续传送服务器– 使用新的gocd试驾,了解如何使用一流的管道、可视化等解决您的CI/CD挑战。
GOCD
SQL线性插值 – 如果您有一个缺少值的按时间顺序排列的数据集,那么您可以做些什么。如何找到差距,然后如何尝试填补这些差距?
PHILIPP WAGNER
OLTP和OLAP:它们之间有什么区别?–如果您对这些术语感到困惑,本文将使其保持简单。
TIAGO FRANCO
为企业带来可扩展的实时分析–一次35分钟的播客访谈,采访了Rockset公司的两名员工,Rockset是一家致力于低延迟大数据分析的公司。
O'REILLY DATA SHOW
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
备注:英文原文地址
Elasticsearch是一个分布式,面向文档的搜索和分析引擎。今天我们正式推出 Open Distro for Elasticsearch。这是 Elasticsearch 的一个增值发行版,100% 开源(采用 Apache 2.0 许可证)并且由 AWS 提供支持。随后,将考虑在main project里增加更多的专有功能。(更多详情,请查看相关主页,您将了解到后续的版本发展规划。)
JEFF BARR
通过Foglight for Cross-Platform databasees 的界面,便可主动诊断并解决数据库的相应问题。
QUEST SOFTWARE
赞助商
ArangoDB是一个有趣的,高度可用的多模型NoSQL数据库,它将图形,文档和键/值这些数据类型整合在一个具有相同查询语言的核心中。
ARANGODB
了解使用DynamoDB的公司如何利用新的按需定价模式,这种新模式大大节省了应用程序的数据库需求。
ASHWIN BHAT
从头构建简易的SQLite数据库教程,该教程共有13部分。
CONNOR STACK
GraphQL使您的应用程序的数据成为图形,并允许客户端将其作为图形进行查询。这使得GraphQL 天然适配Neo4j,后者是一款著名的图数据库。
NEO4J
MemSQL是一款分布式的,in-memory的,专注于性能的SQL数据库管理系统, 通过这篇文章,我们可以知晓MemSQL如何被当作一款性能强劲的时序数据库使用的。
ERIC HANSON (MEMSQL)
SEVERALNINES
一个主要的英国面包品牌已将所有关于其库存,第三方数据,公众假期等信息整合在一起,以进行基于机器学习的市场需求预测。
NEW STATESMAN
BuzzFeed的核心基础架构负责人讨论了现实生产日志存储服务器如何崩溃以及如何处理它。
COSSACK LABS
用自研的Go-powered数据管道取代Spark流,为亚洲交通平台带来了巨大的改进。
GRAB TECH
对托管的PostgreSQL服务进行基准测试,本文是系列文章中的第一篇。
SEVERALNINES
电子商务公司为在线交易进行实时防欺诈便是案例之一。
JOHN DILLON (AEROSPIKE)
内置Go,并且Tile38是一个内存中的地理定位数据存储,支持各种对象类型,包括lat / lon点,边界框,XYZ tile,Geohashes和GeoJSON。
JOSH BAKER
少用GUI工具是完全没错的,但基于GUI的工具在某些情况下很有用。本文最Postgres的GUI工具做了简要回顾。
SEBASTIAN INSAUSTI (SEVERALNINES)
John Sully在多线程上与Salvatore Sanfilippo持有不同意见,因此这个分支现在存在。总之,因人而异。
JOHN SULLY
备注:英文原文地址
数据库可以实现自动扩展、自动调优以及自动的组织索引,这个“点子“很是吸引我。现在这些”点子“正在慢慢实现,这真的是太酷了。
VORSTELLA
Apache Solr是一个流行的基于Lucene的搜索引擎(仅次于Elasticsearch),并且它本质上是一个文档数据库。本文(非常)详细介绍了它与MongoDB等传统文档数据库的区别。
GARY A. STAFFORD
如何将Postgres数据库性能提升3倍,数据加载时间减少500倍?详情见该电子书。
PGANALYZE
赞助商
一个10分钟的教程,讲解有关配置和连接AWS的基于Serverless架构的MySQL数据库系统。(在这里,Serverless,基本上意味着自动扩展按需付费数据库。)
AMAZON WEB SERVICES, INC.
一个SQL Server User 表达了对Postgres 管理工具的强烈意见,激起了有趣的讨论,并引起了同行的针对性的博客回应。
RYAN BOOZ
我们向DeveloperWeek的数百名开发人员,工程师,软件架构师,开发团队和IT领导者询问了当前NoSQL与SQL的使用情况,最受欢迎的数据库,要跟踪的重要指标以及最耗时的数据库管理任务。获取有关MySQL,MongoDB,PostgreSQL,Redis和其他许多人的最新见解,了解今年哪些数据库管理系统最受青睐。
KRISTI ANDERSON
HEAP 如何使用Kafka和Redis的pub/sub(发布订阅)机制构建一个轻量级的event bus 。
HEAP
Vertabelo因其频繁的数据库建模文章而闻名,这一趋势在延续着。
EMIL DRKUŠIĆ
GoCD最新的CD metric博客将指导您如何识别瓶颈并改进CI / CD流程。
GOCD
赞助商
一个有趣的想法。就像WAF一样,不过是在数据库级别。
COSSACK LABS
JOIN LATERAL
以及为什么要使用JOIN LATERAL 是为PostgreSQL用户编写的,但Oracle和DB2也支持这种类型的连接。
ELEIN MUSTAIN
ALEX WOODIE (DATANAMI)
了解SQL Server 2019的新“加速数据库恢复 ”功能以及该功能是如何减小长时间运行的事务对数据库恢复的影响。AARON BERTRAND
使用公用表表达式(CTE)。
MATT STACEY
备注:英文原文地址
memcached
Scylla本身是一个高度可扩展的分布式低延迟数据库(基于Apache Cassandra设计), ValuStor则是建立在Scylla之上的,用以替代memcached
的开源解决方案。该方案具备几处值得关注的新特性。
PETER CORLESS
十年前,Redis的创建者Salvatore Sanfilippo首先在Hacker News上发布了有关 Redis数据结构存储的信息,从那一刻便坚定了自己的使命。Redis现如今已成为网络基础设施的重要一环。
DAVE NIELSEN (REDISLABS)
我们迫不及待地想与您分享新一代的InfluxDB2.0。
INFLUXDATA
赞助商
“这有没有可能是数据库的未来?” 存在这样一个数据库,给定数据,便自动地构建最佳结构,算法和索引,以匹配工作负载和环境。
THE MORNING PAPER
新的MariaDB Enterprise Server专为企业生产工作负载而设计,同时忠于开源本心。
STEVEN J. VAUGHAN-NICHOLS(ZDNET)
我们常常讨论数据增长率将持续升高,但其实不是。数据增长率预计放缓,其原因在于娱乐化产业的内容的减少。
DATANAMI
MySQL 8.0具有很多大的改进,如果你是重度Mysql用户,你会发现在这一轮基准测试中,MySQL8.0明显优于MySQL 5.7。
CRAIG KERSTIENS
[不仅仅是CouchDB,MongoDB和PostgreSQL支持JSON,Oracle也坚定不移地支持JSON,本文是对Oracle JSON功能的全面概述。
CHRIS SAXON (ORACLE)
并非所有人都转移到云端,此博客向您展示如何在零停机时间内转移到现场。
SEVERALNINES
赞助商
NICKOLAY IHALAINEN
当程序员将其技能用来组建一个bakery时,会发生那些事情。当然,这可适用于任何DBMS。
PIERS CAWLEY
通过thread pool、调优以及使用multiple IP 来建立10万个mysql数据库连接。
VADIM TKACHENKO
用Java编写,这是一个面向开发人员,管理员和分析师的开源跨平台数据库工具。支持所有流行的数据库。
DBEAVER TEAM
一个用以构建app的运行环境,集合一个框架、SDKs 和 客户端,便可以构建流数据可视化,并将其嵌入到现有的app里。
DATANAMI
备注:英文原文地址
备注:英文原文地址
一个简易的在线工具,通过使用DSL语言可快速绘制关系模型图(relationship diagrams)与关系模型之间的对应关系。
HOLISTICS SOFTWARE
JSON现在比以往任何时候都更多地被用作数据交换,服务器往往需要花费大量时间来解析JSON。该项目实现了对JSON的极速解析。
DANIEL LEMIRE
究竟什么是时序数据以及存储它的最有效方法是什么?我应该使用时序数据库吗?通过注册我们即将举行的网络研讨会(3/5)并阅读此博客文章来了解相关信息。
TIMESCALE
赞助商
Redis的创建者解决了最近对Redis前进方向的担忧。在相关新闻中, Redis Labs已经在E轮系列中筹集了6000万美元。
SALVATORE SANFILIPPO
WePay的工程团队谈论他们使用HAProxy,Consul和Orchestrator构建的新的高可用性MySQL集群。新架构的停机时间将从30分钟减少到40-60秒。
INFOQ
数据集成初创公司已成为主要的收购目标,因为云分析供应商希望加强其迁移能力。仅在过去八个月中,谷歌已经收购了两个。
MARKUS WINAND
DynamoDB Streams是有关DynamoDB表中项目更改的有序信息流,并提供跟踪活动的方法。
MAJA GRUBIC AND SOFIA TZIMA
去年八月, Redis Labs 的自研模块的许可变更(涉及the Commons Clause)引起了业界的争议。他们现在通过实施新的 Redis源可用许可证(RSAL)来解决批评。
REDIS LABS
“数据库的访问权限控制往往是难以管理的。如今有了强大的DM,它将变得非常简单。” - Hearst MediaOS 的VP Engineering。了解更多。
STRONGDM
赞助商
在进行数据库测试时,通过并使用Docker技术并关闭fsync(),使得数据库测试效率提高10倍以上。
AMIT JAIN
如果你是一个深度的Postgres用户,你可能多年没有使用过MySQL了。但是,如果你很好奇现在的MySQL是什么样的,Kaarel已经帮你了解了,甚至找到了在Postgres中受欢迎的一些功能。
KAAREL MOPPEL
EXPLAIN ANALYZE
的结果更易读把Explain Analyze 的结果粘贴到该工具 下,可以将Explain Analyze的结果内容转换为更加易读的版本。
HUBERT DEPESZ LUBACZEWSKI
这代表成熟的、关系型的、开源SQL数据库的另一个进步,Firebird脱胎于Borland的InterBase。
FIREBIRD PROJECT
[原文链接](https://modern-sql.com/blog/2019-02/postgresql-11#footnote-0)
备注:英文原文地址
图数据库公司 Dgraph Labs的创始人介绍了他之前在谷歌的工作并解释了谷歌将如何使用图技术来改进他们的搜索系统。
MANISH RAI JAIN (DGRAPH LABS)
Citus Data公司的Craig Kerstiens解释了为什么,在他职业生涯中所学到的所有技能中,SQL仍然是最有价值的技能。
CRAIG KERSTIENS
该软件产品可以管理您基础架构的运行状况。通过基于Web的仪表板,可直观地提醒您可能造成性能问题和可用性问题的隐患,清晰的enterprise-wide级别的视图可帮助您优化整个PostgreSQL环境。下载免费试用版。
QUEST SOFTWARE
赞助商
快速了解如何将大量数据从Postgres数据库传输到Google的 BigQuery,这可用于进行分析,甚至公开开放。
PAVEL TIUNOV
加利福尼亚州消费者隐私法案(CCPA),本质上相当于欧洲的GDPR,将于2020年1月1日生效。鉴于加利福尼亚州的科技公司和数据库提供商的强大存在,提供相应工具用以检测数据是否遵守现代隐私法是必须的。
DATANAMI
PostgreSQL 11相对于其竞争者,提供了最佳的OVER子句支持,也提供了真正的procedures ,并对FETCH FIRST 做了改进,同时支持XML。
MARKUS WINAND
MySQL 8.0具有很多大的改进,如果你是重度Mysql用户,你会发现在这一轮基准测试中,MySQL8.0明显优于MySQL 5.7。
PAUL NAMUAG (SEVERALNINES)
CockroachDB,是一个分布式的数据库, 将基于KV存储的 RocksDB作为其存储引擎, 因为RocksDB具备丰富的功能集. (如果您正在构建您的数据库系统,那么推荐阅读该文)
ARJUN NARAYAN AND PETER MATTIS (COCKROACH LABS)
LUKAS EDER
PostgreSQL 11对其处理数据库索引的机制进行了更改。
AMIT JAIN
GoCD最新的CD metrics博客将指导您如何识别瓶颈并改进CI / CD流程。
GOCD
赞助商
DBdeployer是一种工具,可以轻松地在本地,单个或整体快速部署MySQL服务器,可以构建带replication的环境 或者不带repelication的环境 。
GIUSEPPE MAXIA
Benchling是一个生命科学数据管理平台,这意味着他们需要处理大量数据,就像上周Braintree / PayPal一样,学习下这种数据级别的迁移是很酷的。
VINEET GOPAL
译:我认为现在人们对图数据库及其用途了解甚少。 大多数人只熟悉 sql 和document存储, 所以存在这样一种丰富的语言用以对relationships进行描述和高效查询,对于数据探索和数据可视化来讲,是一种全新的方式。
备注:英文原文地址
理解何为sharding(分片),sharding的主要的优缺点以及几种常用的sharding方法。
MARK DRAKE
数据库与搜索功能(search)的关系,可以看成携手并进(例如Elasticsearch),但深度学习通过提供与数据库完全不同的模型,从而对search功能产生了有趣的,重大的影响。本文让我迫切地想了解在search功能上,数据库与深度学习有哪些明显的不同与对立之处。
JAMES LE (FLOYDHUB)
日期:6月24日 - 26日,波士顿-马萨诸塞州。
ENTERPRISEDB
赞助商
在FOSDEM(自由及开源软件开发者欧洲会议)上,Joe Conway的演讲深入探讨了PostgreSQL的部分历史,并简要介绍了Postgres 11中的新特性以及未来版本Postgres 12的规划方案. 时长:48 mins
JOE CONWAY
自SQL Server 2016以来,默认情况下,SQL Server实例对数据库进行各种查询并收集ResultSet,然后主动 “Photo home” to MS 。 但它们究竟是什么?对此,BRENT OZAR抓住了一丝痕迹。
BRENT OZAR
数据库行业简要新闻快报..
对于您当下规模的Postgres,如果您没能正确地设置好相应的autovacuuming的值,那么您需要多加注意了,这则新闻就是对应的案例。Sentry在2015年经历了类似的中断,并做了一次full writeup。
HACKER NEWS
Databricks是一个 由Apache Spark的创建者创立的high-flying analytics创业公司”。
DATANAMI
Baypree Payments是PayPal的一个部门,大量使用Postgres,由于提供支付处理服务,因此必须实现零停机。这里深入探讨了在没有停机的情况下进行架构Schema更新所涉及的所有方面。
JAMES COLEMAN
什么是Proxy,为什么需要它来实现数据库的高可用性?
SEVERALNINES
赞助商
在处理个人或其他有价值的数据时,查看数据更改者,数据更改时间以及更改内容,都变得至关重要。
ROSS JAY JONES
RYAN WYNN
我真的很期待这篇blog,它介绍了一种有趣的容器通信方法。Database as databus?
RICK BRANSON ON TWITTER
By Jian Shen, Ze Wang, David Wang, Jeremy Shi, and Steven Chen
Go to the profile of Gajus Kuizinas
备注:英文原文地址
Citus因其同名的Postgres扩展插件—Citus extension而被人熟知,该扩展插件使得Postgres可以横向扩展,这是一场有趣的收购,表明微软致力于支持Azure上的开源数据库用户,并履行该承诺。
MICROSOFT
MongoDB首席执行官Dev Ittycheria解释 “为什么document model是显而易见地处理数据的最佳方式”和 “documents,而不是tables,才是未来。”文中展示了MongoDB与AWS DocumentDB的功能特性对比列表。
DEV ITTYCHERIA(MONGODB)
文中介绍了TimescaleDB如何通过将插入速率提高20倍,保持更快的查询速度,引入新的分析功能等,将PostgreSQL转换为时序数据库。
TIMESCALE
赞助商
了解如何检测数据中的“skew”(正常的数据分布不对称并且衡量这种不对称度以及数据倾斜的方向)。
LUKAS EDER
MongoDB的CTO Eliot Horowitz对MongoDB和新的AWS DocumentDB服务进行了比较。虽然 DocumentDB提供了MongoDB协议兼容性,但MongoDB声称它只传递了35%的正确性测试,并且在许多类型的workloads上都表现优异。
ELIOT HOROWITZ (MONGODB)
了解GE如何使用Kafka和Cassandra在Go中构建高吞吐量数据管道,以及如何使用它。
GRANT GRIFFITHS
对于最新版本的Redis添加了新的数据类型“Stream”的概述以及添加原因。
FERNANDO DOGLIO
探讨了对于cache类型的workload,使用新型存储设备用以减少DRAM依赖的可能性。
ALAN KASINDORF
在此webcast系列中,您将了解MongoDB的schema设计,索引,数据聚合和扩展架构。
MONGODB
赞助商
数据存储在SQL server里,然后用Postgres的查询引擎来查询,通过使用foreign data wrapper便可以办得到。方法见文中介绍。
LUCA FERRARI
InfluxDB 2.0的第一个alpha版本现已发布。
LUCA FERRARI
一个可扩展的高性能KV存储数据库,专注于传感器数据的时序存储。4.1增加了long-term data存档。
GRIDDB
超过65,000名开发人员和工程师信任我们,帮助他们找到完美的技术工作。 2019年是因为你的技能而被聘用的一年。
HACKAJOB
由Pgpool Global Development Group发布于2018-10-21
Adrian Bridgwater
备注:英文原文地址
英文原文地址:点击这里
英文原文地址:点击这里
Ora2Pg v19.0 has been released today, this is one year of Oracle to PostgreSQL migration improvements! Now MySQL to PostgreSQL migration is fully functional and supported.