SQLite 的 STRICT 表(严格表)特性可以在插入或更新数据时强制类型检查,避免将文本错误地放入数字列等数据类型问题。本文详细介绍了严格表的优势,包括防止类型不匹配、阻止创建无效列类型,同时仍可通过 ANY 类型保留灵活性。文章也讨论了无法对现有表启用严格模式、需要 SQLite 3.37.0+ 版本支持等限制。作者认为严格表的优点远大于缺点,推荐在大多数场景下使用。
#database
30 条相关内容
一个名为 pgrust 的开源项目,将 PostgreSQL 数据库用 Rust 语言重新实现,目前已完全通过所有 Postgres 回归测试。该项目旨在保留 Postgres 兼容性的同时,利用 Rust 的内存安全特性和性能优势,为数据库带来更高的可靠性和安全性。这标志着 Rust 在系统级数据库开发领域取得的重要里程碑。
这篇文章探讨了 ClickHouse 如何在可观测性领域脱颖而出,逐步成为监控、日志和追踪数据的主流存储方案。凭借其卓越的查询性能和灵活的架构设计,ClickHouse 正迅速取代传统数据库,成为该领域的赢家。
本文介绍了如何利用Claude AI助手来管理EventSourcingDB数据库的启动与操作。通过自然语言指令,用户可以快速完成数据库的配置、启动和基本管理任务,极大简化了开发工作流。文章展示了AI与数据库运维结合的实际应用场景。
Multigres 现在支持在连接池化场景下使用 PostgreSQL 的 Listen/Notify 机制,使不同连接之间能够可靠地接收和传递通知消息。这一功能解决了池化环境下长连接监听与通知的常见难题,提升了应用的实时通信能力。
我是卡内基梅隆大学数据库方向的博士生。过去几个月,我在 Columnar 实习并开发了一个 DuckDB 社区扩展,支持查询 Snowflake、Databricks、BigQuery、PostgreSQL、MySQL 以及任何拥有 ADBC(Arrow 数据库连接)驱动的系统。该扩展通过 read_adbc 表函数直接查询 ADBC 数据库,也支持使用 ATTACH 连接并在 DuckDB 中执行 SELECT、INSERT、COPY 和 CTAS 语句,操作如同本地数据库。该扩展已开源,采用 Apache-2.0 许可证,未来计划贡献给 Arrow 项目。
本文是 PostgreSQL B-Tree 索引系列的第一部分,系统介绍了 B-Tree 索引的核心理论。文章从索引的基本概念入手,详细讲解了 B-Tree 的数据结构、工作原理以及如何在 PostgreSQL 中高效利用 B-Tree 索引来加速查询。内容涵盖平衡树的结构特性、索引的创建与管理、以及常见的查询优化策略,为读者打下坚实的理论基础。
死锁与停机
4.0本文深入探讨了数据库死锁的成因及其对系统可用性的影响,分析了常见死锁场景(如行锁、间隙锁导致的相互等待),并提供了从监控、索引优化到事务设计等多层面的预防与解决方案,帮助开发者减少因死锁引发的生产环境停机风险。
Xata 推出了一款 GitHub 应用,可为每个 Pull Request 自动创建独立的 Postgres 数据库分支。该分支与主数据库隔离,允许开发者在不影响生产环境的情况下测试 Schema 变更和数据迁移。合并 PR 后,分支可一键合并回主库,简化了数据库与代码的协同开发流程。
sqlite-utils 4.0 的第三个候选版本。作者原计划发布正式版,但在处理积压问题时不断新增功能,其中最重要的是支持复合外键的 introspection 与创建,这涉及对 table.foreign_keys 的轻微破坏性变更。此外,该版本现在也遵循 SQLite 的不区分大小写列名约定。
PgBouncer 是一个轻量级的 PostgreSQL 连接池工具,它通过在应用程序和数据库之间维护一组持久连接来减少频繁创建和销毁连接的开销。本文深入介绍了 PgBouncer 的三种连接池模式(会话、事务和语句模式),以及其内部工作原理、配置要点和最佳实践,帮助读者优化数据库连接管理并提升系统性能。
本文解释了 PostgreSQL 遇到 OOM Killer(内存不足杀手)的根本原因,并论证了为什么必须启用严格内存超额分配(strict memory overcommit)来防止数据库进程被意外终止。文章深入分析了内存管理的运作机制,并为生产环境中的 PostgreSQL 部署提供了关键配置建议。
文章分析指出,ClickHouse 凭借其卓越的列式存储架构、高效的实时查询性能和强大的压缩能力,正在逐步取代 Elasticsearch 等传统方案,成为可观测性领域(包括日志、指标和追踪)的首选数据库。其开源生态的快速发展和众多企业的成功迁移案例,进一步巩固了它在可观测性战争中的领先地位。
没人再读 SQL 了
3.0现代数据管道的复杂性日益增长,使得原始 SQL 查询往往被封装在多层抽象工具和框架之下。文章探讨了这一趋势带来的问题——SQL 作为数据领域的通用语言,当其被隐藏后,团队在调试、审计和优化查询时面临更大挑战。作者呼吁重新关注 SQL 的可读性和透明性,以确保数据处理的可维护性。
本文介绍了 ScalarDB 和 ScalarDL 文档的全新改进,旨在帮助用户更快上手、及时获取最新信息,并更轻松地浏览文档内容。通过优化文档结构和导航方式,开发者和用户能更高效地理解和使用 Scalar 的分布式数据库与账本解决方案。
本文详细介绍了如何在三个不同云平台(AWS、GCP、Azure)上扩展一个拥有1.59千万亿行数据的日志系统(Loghouse)。文章深入探讨了ClickHouse在大规模日志存储和查询方面的架构设计、分片策略与跨云部署的最佳实践,为构建高性能、可扩展的日志基础设施提供了宝贵经验。
ScyllaDB推出了基于字典树(Trie)的新型索引技术,相比传统索引方案,可将吞吐量提升多达3倍。该索引通过优化数据结构和内存访问模式,显著提高了查询性能和系统效率,适用于大规模分布式数据库场景。
本文探讨了如何利用Postgres事务来简化分布式系统中的状态管理。通过将工作流状态与数据共同定位,开发人员可以利用数据库事务的ACID特性来确保分布式操作的一致性和可靠性,避免引入复杂的外部协调服务。文章展示了这种方法如何将分布式系统的复杂性降低,同时保持高性能和强一致性保证。
SurrealDB 推出全新 Scale 云产品,专为需要高可用性和大规模扩展能力的应用场景而设计。该版本通过分布式架构和多区域部署,确保数据库服务在故障情况下仍能持续运行,同时支持弹性扩展以应对不断增长的数据和流量需求。
本文探讨了一种将数据库与编程语言深度融合的架构理念,即把整个系统视为一个统一的程序来设计。作者分析了传统应用中数据库与代码分离所带来的复杂性问题,并提出通过消除两者之间的边界,可以简化开发流程、提升数据一致性并降低系统复杂度。文章讨论了这种融合方式在实践中的可行性与潜在优势。
Pgblame 是一款开源工具,能够将 Postgres 数据库的性能问题追溯到具体的代码部署,尤其适用于 Vercel 环境。它通过分析查询性能的变化,帮助开发者快速定位是哪个部署版本导致了数据库变慢,从而加速问题排查与修复流程。
文章探讨了ClickHouse如何在可观测性领域脱颖而出,凭借其卓越的列式存储和实时分析性能,成为日志、指标和追踪数据管理的领先选择。与传统数据库相比,ClickHouse在处理大规模数据时展现出更高的查询速度和压缩效率,正逐渐取代Elasticsearch等方案,成为可观测性架构的核心组件。
本文是 SQL 标准制定进程的系列报告之一,记录了在斯德哥尔摩举行的 BMA(数据库管理系统)会议的最新进展。会议讨论了 SQL:202y 标准的新特性、改进方向以及各工作组的进度,反映了国际标准化组织在推动 SQL 语言演进方面的持续努力。
Pl/PHP 是一种用于 PostgreSQL 数据库的过程语言,允许开发者使用 PHP 编写存储过程和函数。该项目位于 GitHub 上,由 Command Prompt 维护,为 PostgreSQL 提供了 PHP 语言支持,使得数据库开发人员能够利用熟悉的 PHP 语法和特性来创建数据库端的业务逻辑。
6万电台流数据库
0.0Radio-Browser.info 是一个收录了超过6万个网络电台流媒体地址的公开数据库。用户可通过网站或API搜索、浏览和提交全球各地的电台信息。该项目旨在为听众和开发者提供一个开放、可自由访问的互联网广播资源集合。
Supabase 目前遭遇平台故障,现有数据库无法重启,新数据库也无法创建。该问题正在影响用户的数据库服务可用性,官方团队正在排查并修复中。
该项目实现了一个Go语言编写的进程间通信(IPC)机制,通过完全避免系统调用来实现超高性能,达到了每秒1800万次事务处理(TPS)的惊人吞吐量。它专为解决数据库插入速度瓶颈而设计,展示了在特定场景下通过底层优化可以实现的极致性能提升。
NVIDIA GQE(GPU 查询引擎)是一个开源 C++ 库,旨在帮助开发者构建 GPU 加速的查询引擎。它提供了一套高效的数据处理原语和操作符,能够充分利用 GPU 的并行计算能力来加速 SQL 查询和大规模数据分析任务。本文介绍了 GQE 的核心架构、关键特性以及如何将其集成到现有查询引擎中,从而实现显著的性能提升。
本文提出了一种基于集合论的方法来检测数据库管理系统(DBMS)在内连接(Inner Join)优化过程中存在的逻辑错误。通过将查询优化问题形式化为集合运算,该方法能够系统性地识别优化器在等价变换时引入的语义错误。实验结果表明,该方法在多个主流DBMS中成功发现了若干此前未知的逻辑缺陷。
LadybugDB 宣布正式脱离母公司独立运营,开启单飞之旅。作为一个轻量级分布式数据库,LadybugDB 专注于为边缘计算和物联网场景提供高效、低延迟的数据存储解决方案。独立后的团队将更灵活地推进产品迭代与社区建设。