当前位置: 首页 > news >正文

ps教程自学网广州 关于进一步优化

ps教程自学网,广州 关于进一步优化,wordpress 活动通知,黑马程序员python教程2023 年 7 月 10 日,TiDB Serverless 正式商用。这是一个完全托管的数据库服务平台(DBaaS),提供灵活的集群配置和基于用量的付费模式。紧随其后,TiDB Serverless Branching 的测试版也发布了。 TiDB Serverless Branc…

2023 年 7 月 10 日,TiDB Serverless 正式商用。这是一个完全托管的数据库服务平台(DBaaS),提供灵活的集群配置和基于用量的付费模式。紧随其后,TiDB Serverless Branching 的测试版也发布了。

TiDB Serverless Branching 功能使用户能够为其 TiDB Serverless 集群创建分支。这些分支可以实现并行开发,促进新功能快速迭代,排查故障,开发者无需中断生产数据库的运行。该功能不仅简化了开发和部署过程,还保持了生产环境中数据库的稳定性和可靠性。

分支是什么?

对于集群而言,分支是一个独立的实例,其中包含一份原始集群的数据快照。它建立了一个隔离的环境,以便在不影响原始集群的情况下进行各种操作。

当为集群创建一个分支时,该分支中的数据与原始集群开始分叉,这意味着在原始集群或分支中进行的后续更改将不会被同步。

TiDB Serverless 采用了写时复制 (copy-on-write )技术,以实现快速、平稳地创建分支。这种方法允许原始集群与其分支之间共享数据。这个操作一般在几分钟内就能完成,对用户来说是无感知的,对原始集群的性能也不会有影响。

平衡软件开发速度和质量

在软件开发中,快速推出新功能和全面测试之间的微妙平衡是一个挑战。找到正确的平衡可以实现敏捷开发、更快的迭代,并及时收到宝贵的客户反馈,同时不会影响软件的质量和可靠性。TiDB Serverless Branching 提供了一种方式来找到这个最佳平衡。

为开发人员提供独立环境

在日常开发和测试活动中使用数据库时,开发人员经常面临配额限制、高成本、资源限制和数据质量等挑战。所以通常在团队内共享数据库更实际。但共享数据库往往会导致环境的冲突,开发人员不得不花费额外的精力在应用中添加一些隔离的逻辑。

TiDB Serverless Branching 通过为每个开发人员提供独立的开发和测试环境来解决这些问题。通过消除资源共享和任务干扰,提高生产效率并促进高效的团队协作。

动图封面

通过类似生产的分支进行高效测试

为了 消除资源共享和任务 间干扰带来的烦恼 ,开发人员通常会在进行开发工作时使用单独的数据库环境,比如在服务器上设置自己的数据库或在 Docker 上启动数据库容器。 然而,这些环境与生产环境存在显著差异,很难模拟出实际的性能和延迟状态。 对于功能测试,则总是需要大量的数据准备工作,可能却仍然无法与实际的生产环境相匹配。 为了确保数据质量,开发人员可以选择生成生产数据库的快照,并在测试环境中还原它,或者费力地构建模拟数据。 然而,这两种方法都很繁琐,会显著降低开发效率。

通过 TiDB Serverless Branching,开发人员将能够在几分钟内快速创建与生产环境相同的分支。这些分支有助于使用最新的生产数据进行测试,并快速检测问题。此外,这些分支完全与生产集群隔离,可以进行更安全的功能测试和故障排除。

动图封面

与持续集成和持续部署(CICD)流程无缝集成

自动化场景需要先进的环境管理和质量控制。TiDB Serverless Branching 可以轻松集成到自动化的 CICD 工作流中,通过分支整合, 代码质量的把控和测试流程都变得更加流畅 。这确保了产品的质量,同时遵循了高效的软件开发实践。

动图封面

与 GitHub 集成的分支管理

结合 TiDB Serverless Branching 功能,我们推出了 TiDB Cloud 分支管理 GitHub App。如果开发人员使用 GitHub flow ( https://docs.github.com/en/get-started/quickstart/github-flow ),该应用能够极大程度地简化将分支集成到 CI 流水线中的工作。有关该 GitHub App 的更多详细信息,请参阅我们的文档 ( https://docs.pingcap.com/tidbcloud/branch-github-integration )。

 TiDB Serverless Branching 与 GitHub CI 流水线集成

我们将使用 tidbcloud-branch-gorm-example ( https://github.com/shiyuhang0/tidbcloud-branch-gorm-example ) 来演示集成过程。tidbcloud-branch-gorm-example ( https://github.com/go-gorm/playground )是一个适用于 TiDB Serverless Branching 的 gorm playground 项目的分支版本 。操作如下:

  1. 按照说明将您的 TiDB Serverless 集群与 GitHub 仓库连接起来。这将在您的 GitHub 帐户上安装 TiDB Cloud 分支管理 GitHub App。每次创建 pull request 时, 都会触发创建一个新的对应 TiDB Serverless 分支。
  2. 调整 CI 流水线,使用新创建的 TiDB Serverless 分支来运行测试。
name: tests
​
on:pull_request:branches: [ master ]
​
jobs:test:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v3- uses: tidbcloud/wait-for-tidbcloud-branch@v0id: wait-for-branchwith:token: ${{ secrets.GITHUB_TOKEN }}public-key: ${{ secrets.TIDB_CLOUD_PUBLIC_KEY }}private-key: ${{ secrets.TIDB_CLOUD_PRIVATE_KEY }}timeout-seconds: 600- name: Set up Go 1.19uses: actions/setup-go@v2with:go-version: 1.19
​- name: go mod pakcage cacheuses: actions/cache@v2with:path: ~/go/pkg/modkey: ubuntu-latest-go-1.19-${{ hashFiles('go.mod') }}
​- name: Testsrun: |GORM_ENABLE_CACHE=true GORM_DIALECT=tidb GORM_DSN="${{ steps.wait-for-branch.outputs.username }}:${{ steps.wait-for-branch.outputs.password }}@tcp(${{ steps.wait-for-branch.outputs.host }}:${{ steps.wait-for-branch.outputs.port }})/test?parseTime=true&tls=tidb" ./test.sh

为了简化 CI 流水线,我们开发了 wait-for-tidbcloud-branch ( https://github.com/tidbcloud/wait-for-tidbcloud-branch ),这是一个辅助的 GitHub Action。它会等到 pull request 对应的 TiDB Serverless 分支就绪后,创建一个新的数据库用户供后续使用。

在完成设置后,每当创建 pull request 时,TiDB Cloud 分支管理 GitHub App 将为拉取请求生成一个 TiDB Serverless 分支。然后,CI 流程将等待分支就绪并将其用于测试。这确保您使用这些分支执行的任何测试都可以映射到生产数据库中的数据,从而更容易及时发现任何潜在问题。

一个具体的开发案例

比如你正在开发 一个 添加唯一索引的 功能 ,但生产数据库中已经存在重复的行。 借助 Ti DB Serverless Branching,CI 流水线可以迅速识别出这类问题。 这是因为测试负载在与生产数据库镜像一致的分支中执行,可以在早期检测到潜在问题。 然而,如果是在模拟数据上进行测试,这类问题很容易被忽视,甚至可能会遗漏到生产环境。

在上面的示例中,我们在数据库中执行了一个简单的 DDL 更改。TiDB 支持在线 DDL ( https://docs.pingcap.com/tidb/stable/ddl-introduction#execution-principles-and-best-practices-of-ddl-statements )变更,用户无需担心影响应用工作负载。然而,随着应用的扩展和测试涉及到更多的业务逻辑,分支对于效率提高和质量保证变得越来越有益。

使用 TiDB Serverless Branching 定制 CI/CD 工作流

TiDB Cloud Branching 工作流专门设计成与流行的应用程序框架兼容,开发人员可以将其简单地集成到现有的 CI 流水线中。 如 果 TiDB Serverless Branching GitHub App 不能完全满足你的需求,在 TiDB Cloud CLI ( https://docs.pingcap.com/tidbcloud/get-started-with-cli )、setup-tidbcloud-cli ( https://github.com/tidbcloud/setup-tidbcloud-cli ) 和 GitHub Actions 的帮助下,你也可以定制分支的 CI/CD 工作流。

结论

借助 TiDB Serverless Branching,开发人员可以并行工作,快速进行新功能的迭代而不影响生产数据库的正常稳定运行。该功能简化了开发和部署过程,同时确保了生产数据库的稳定性和可靠性。

我们希望更多的开发人员能够使用到 TiDB Serverless Branching,我们也将不断改进和扩展这一功能,以满足大家不断变化的需求,敬请期待!

点击链接,立即试用 TiDB Serverless Branching,获取更简化、快速的应用程序开发体验!

TiDB Cloud

http://www.hrbkazy.com/news/48570.html

相关文章:

  • 摄影网站建设目的优化关键词的步骤
  • 用vue-cli做的网站推广网站怎么制作
  • 宜宾网站建设费用职业技能培训学校
  • 那一个网站可以教做甜品的游戏推广是什么工作
  • 用凡科做网站好弄吗宁波seo网络推广代理公司
  • 微信外链网站付费推广有几种方式
  • 电子商务网站开发项目设计报告公司网站如何制作设计
  • 智能家居型网站开发关键词seo优化软件
  • 旅游公司网站模板关键词歌词图片
  • 广州网站开发企业网站seo推广平台
  • 高端it网站建设成都本地推广平台
  • 网站建设的收费标准电商最好卖的十大产品
  • 网上做任务网站百度关键词优化是什么意思
  • 网站设计和程序员百度搜索关键词推广
  • 做模式网站百度服务热线电话
  • 谁知道陕西省建设监理协会的网站百度seo发包工具
  • drupal 网站实例seo分析是什么意思
  • wordpress新页面404佛山seo整站优化
  • 海淀网站建设公司百度收录批量提交入口
  • nodejs做视频网站大白兔网络营销策划书
  • 整站优化服务深圳网络营销
  • 自己可以做防伪网站吗电商运营方案
  • 网站服务器搭建教程推广方案流程
  • wordpress伪静态html站长工具seo综合查询官网
  • 专做企业网站的西地那非片吃了多久会硬起来
  • 前端开发框架有哪些seo优化顾问服务
  • 建设雅马哈摩托车官网安卓系统优化软件
  • 单页网站上传教程淘宝关键词指数
  • 网站编排页面数据交换平台
  • 怎样把自己的网站做推广足球最新世界排名表