CockroachDB 22.1:从原型到超大规模的构建方式

207 阅读7分钟

今天,我们发布了CockroachDB 22.1,它可以帮助你在应用生命周期的每个阶段以更少的努力构建更好的产品。

选择合适的数据库是对现在和未来规划的一种艰难平衡。通常,你需要做出权衡--你可能会在Postgres或类似的云服务上迅速起步,但随着你的用户规模扩大,你的数据库会遇到瓶颈。或者你可能会在前期投入时间学习一个不必要的复杂的平台,以保证未来的成功。

我们建立了CockroachDB,所以你不需要做这些权衡。你可以从一开始就使用相同的数据库,而不需要重建你的应用程序,也不需要复杂的操作。你可以从小处快速开始,相信你的应用程序可以达到大规模,并随着时间的推移处理每秒数百万的交易。

在我们最新的版本中,我们已经为你的旅程的每个阶段提供了更新--从你的第一个查询到你的第一个百万客户,甚至更多。

  • 更快地开始并开始原型设计

    • 通过CockroachDB Dedicated和CockroachDB Serverless的新CLI,你可以直接从命令行中快速启动并管理你的集群。
    • 通过对Prisma的支持,轻松开发Node.js和Typescript应用程序。
    • 通过CockroachDB Serverless的各种更新,包括更容易连接到你的应用程序、更多的云区域和更广泛的监控,可以免费和灵活地进行原型开发。
    • 利用生存时间(TTL)更有效地进行构建,它可以对行级数据进行基于时间的删除。
    • 将CockroachDB与Google Pub/Sub整合,并通过更新变更数据捕获(CDC)来构建更好的事件驱动型应用。
  • 更有效地优化,避免劳累

  • 更好地扩展,以满足各地的峰值需求

请继续阅读以了解更多信息,或前往发行说明以获取完整的新内容列表。

更快起步,开始原型设计

当你开始工作、制作原型和构建时,你不希望花时间配置和规划后台。通过这个版本的更新,你可以比以往任何时候都更快地建立CockroachDB并将其与你的堆栈集成。

CockroachDB CLI

  • 通过新的CockroachDB专用和无服务器CLI,你可以直接从命令行管理你的集群,从而更快地开始工作并简化工作流程。CLI让你只需几行代码就能启动、配置和扩展你的集群。

  • 通过对Prisma ClientPrisma Migrate的支持,可以更轻松地开发Node.js和Typescript应用程序

  • 通过对CockroachDB Serverless的各种更新,包括更容易连接到你的应用程序,更多的云区域部署,以及更广泛的监控,可以免费和灵活地进行原型设计

  • 利用生存时间(TTL),你可以为行级数据设置一个生存期,之后将被删除,从而更有效地构建。TTL是一个被要求最多的功能,有各种常见的使用案例(现在处于预览阶段)。

  • 将CockroachDB与更多的数据流工具进行整合,并与之建立更好的事件驱动型应用。

阅读Ultimate Tournament如何快速建立他们的电子竞技投注平台→

更有效地优化,避免劳累

监测和操作你的数据库往往是重复和耗时的。我们建立CockroachDB是为了尽可能地减少操作,并消除常见的数据库痛苦,如停机维护、频繁的补丁或围绕性能的黑盒子。

在这个版本中,我们引入了更多的自动化更新,更容易的故障排除和优化,以及更好的备份管理。

index recommendations cockroachdb

  • 通过新的云计算API自动管理CockroachDB。该API可以让你以编程方式控制CockroachDB专用集群和无服务器集群的配置、扩展和管理,从而创建更高效的开发和交付管道(现在处于预览阶段)。

  • 通过以下更新,可以更快、更容易地排除故障和优化查询性能

    • 通过新的 索引建议和指标了解哪些索引需要添加或删除。使用EXPLAIN命令,你可以查看你应该创建哪个索引来优化和调整一个特定的语句,使用DB Console,你现在可以看到索引使用指标,以确定可能阻碍写性能的未使用的索引。
    • 通过新的工作负载洞察力查找和修复事务争用,这些洞察力解释了受影响的活动语句实时发生争用的原因,以及过去语句的历史争用。
    • 通过散列索引减少写入量大的工作负载的热点,让你在使用顺序主键(如时间戳)时提高性能(现在普遍可用)。
  • 通过对Datadog的支持在一个玻璃窗内监控CockroachDB。新的整合让你可以监控CockroachDB,设置警报,并将CockroachDB的性能指标与应用性能指标联系起来。

    datadog cockroachdb monitoring

  • 通过更新,你可以为完整备份和增量备份指定不同的位置,实现备份的智能分层,并从备份中排除一些表数据,从而提高备份效率和成本

阅读RapidOps如何通过迁移到MySQL以外的地方来简化操作→

更好地扩展以满足各地的峰值需求

无论你的应用程序是为数以百万计的客户提供服务,还是你正在扩展到新的市场,规模都是令人兴奋和可怕的。停机是不可能的,你必须确保一直保持峰值性能。

在CockroachDB 22.1中,我们增加了更多的功能来缓解规模的压力,让你的应用程序在跨地域和每秒处理数百万的交易时保持性能。

super regions cockroachdb

  • 通过新的功能--超级区域(Super Regions)**将数据保存在特定的地理区域,解决数据归属**问题。超级区域让你将多个云区域组合成一个更大的地理区域,并确保数据永远不会离开该区域,即使在区域故障时也是如此。这项功能大大减少了那些在操作多地区或多国应用时必须应对数据法规的团队的开销(现在处于预览阶段)。

  • 通过以下更新,在大量交易期间提高性能

    • 利用服务质量(QoS)对请求执行进行优先排序,确保对你的应用程序最重要的请求总是被优先提供。从三个级别的优先级中进行选择,可作为会话设置。

    • 通过准入控制改善查询执行和可靠性,在需求激增时通过创建一个传入请求队列来限制查询执行率(现在普遍可用)。

    • 通过监控用户界面中的新的热区页面检测和解决热点问题,该页面显示哪些范围(分片)的QPS和交易量最高的实时统计数据。这些信息有助于您追踪和缓解瓶颈。

      hot ranges in cockroachdb

阅读Kami如何在大流行期间将规模扩大20倍以服务远程学生→

了解更多信息,赢得一件T恤衫,并免费开始使用

这篇文章只是介绍了CockroachDB 22.1中的部分更新。如需完整的列表,请前往发布说明。如果你有什么想法,或者你只是想打个招呼,我们的社区slack就是你的地方。

我们正在举办三场现场会议,以便你可以了解更多。其中有两场包括赢得限量版T恤的机会,所以不要错过了

要想亲自体验CockroachDB,你可以在CockroachDB Dedicated上免费开始。你也可以在我们最新的产品CockroachDB Serverless上免费试用其中的许多功能。