PlanetScale团队发布Neki:面向Postgres的分布式数据库

PlanetScale团队近日宣布推出Neki,一个基于他们构建Vitess的经验而开发的Postgres分布式数据库。不同于Vitess对MySQL的适配,Neki从一开始就针对Postgres进行设计,旨在将Vitess的水平扩展能力带给Postgres用户。目前Neki尚处于开发阶段,团队正与规模化设计合作伙伴一起构建,未来将作为开源项目发布,以满足最苛刻的Postgres工作负载需求。
阅读更多
PlanetScale团队近日宣布推出Neki,一个基于他们构建Vitess的经验而开发的Postgres分布式数据库。不同于Vitess对MySQL的适配,Neki从一开始就针对Postgres进行设计,旨在将Vitess的水平扩展能力带给Postgres用户。目前Neki尚处于开发阶段,团队正与规模化设计合作伙伴一起构建,未来将作为开源项目发布,以满足最苛刻的Postgres工作负载需求。
阅读更多
PlanetScale使用的开源数据库Vitess的SQL引擎最初是一个直接操作SQL AST的解释器。一年来,它逐渐被一个Go语言编写的虚拟机取代,性能与MySQL原生的C++代码相当,且维护性更好。该虚拟机通过静态类型检查和巧妙的指令调度设计,实现了显著的性能提升,在某些情况下甚至比C++快20倍。这篇文章详细介绍了其设计和实现,包括如何利用Go的闭包特性简化虚拟机实现,以及如何处理SQL中动态类型的情况。
阅读更多
PlanetScale公司基于其大规模使用Amazon EBS的经验,揭示了EBS的真实故障率远高于官方文档描述。文章指出,EBS的“慢”问题远比“故障”更常见,即使在满足AWS性能承诺的情况下,也存在频繁的性能波动,导致应用短暂中断。这种性能下降并非偶然,而是系统固有的复杂性导致的。PlanetScale通过监控和自动替换EBS卷来缓解问题,并最终推出了PlanetScale Metal,以避免依赖网络存储带来的性能问题。
阅读更多
本文探讨了计算机存储技术的历史演进,从磁带到硬盘再到固态硬盘(SSD),以及云计算时代带来的IO性能挑战。传统的云数据库服务通常使用网络附加存储(NAS),导致高延迟和IOPS限制。PlanetScale推出的Metal产品则采用本地 NVMe 驱动器,将计算和存储直接连接,从而实现极低的延迟、无限IOPS和高数据持久性,彻底解决云数据库的IO瓶颈问题。
阅读更多
高并发场景下,数据库计数器更新容易产生锁竞争,导致性能下降甚至死锁。文章介绍了一种名为“分槽计数器”的模式,通过将计数器分散到多个槽中,有效缓解锁竞争问题。这种模式将计数操作分散到多个行上,避免了单行更新的瓶颈,从而提升了并发性能。GitHub也曾使用类似的方案解决计数问题,其核心思想是将更新操作分散到多个行,最后再汇总得到最终计数。
阅读更多
PlanetScale宣布其向量数据库公开测试版正式发布。该数据库支持将向量数据与关系型MySQL数据存储在一起,无需单独的向量数据库。PlanetScale的向量搜索基于微软研究院的SPANN和SPFresh算法,并针对性能和可扩展性进行了优化,支持事务操作、数据一致性和TB级向量索引的有效管理。
阅读更多