前 言
数据好比互联网产品的“血液”,数据库的管理效率关乎一个产品甚至一项业务能否良好且高效地运转。在使用云开发时,如何通过云数据库来做好数据管理,为你的产品打通“任督二脉”?本文将介绍 10 种不同的云数据库管理小技巧,助各位开发者轻松玩转云开发数据库。
云开发介绍
云开发(CloudBase)是云端一体化的后端云服务,采用 serverless 架构,免去了移动应用构建中繁琐的服务器搭建和运维。同时云开发提供的静态托管、命令行工具(CLI)、Flutter SDK 等能力极大的降低了应用开发的门槛。使用云开发可以快速构建完整的小程序/小游戏、H5、Web、移动 App 等应用。
产品文档:https://cloud.tencent.com/product/tcb?from=12763
技术文档:https://cloudbase.net/?from=10004
第一招
借助数据导入导出对接历史数据
在过往的业务开展过程中,会产生大量的数据,例如,不少业务会选择使用 MySQL 存储数据。随着业务发展,技术选型从传统模式变为了云开发模式,应该如何将传统数据迁移到云开发呢?
你可以在 MySQL 中,将数据导出为 CSV 文件的格式,并使用云开发提供的文件导入的功能,一键导入历史数据。
类似的,如果你需要将云开发数据库导出到线下,进行离线数据分析,也可以使用云开发提供的数据导出能力,将所有数据导出到云开发环境中。
第二招
借助数据环境分离做好版本控制
日常的开发流程,都会先进行开发联调、再部署到测试环境进行测试,优化产品体验,最后发布到线上环境。
在这个过程中,开发者可以创建多个云开发环境与小程序对应,这样在开发测试过程中出现问题,就不会对线上数据产生影响。
第三招
借助多端 SDK 实现多端应用开发
在将数据导入了云开发数据库以后,可以根据自己的业务需求,在不同的平台侧进行数据的修改和调用。云开发提供了客户端、服务端、管理端的 SDK 支持:
- 客户端 SDK:在客户端方面,得益于云开发的数据库安全规则,开发者可以直接在客户端调用数据库数据;云开发 SDK 提供了 JS、Flutter、.Net 三种语言的支持,开发者可以方便的进行小程序、H5、App、Unity 游戏的开发。不仅如此,云开发数据库支持实时数据监听,数据的变更会实时推送到客户端,无需自建 websock 服务,开箱即用。
- 服务端 SDK:在服务端,我们提供了 Node.js 和 PHP 两种语言的 SDK 支持,你可以使用服务端来对数据进行增删改查,实现各种数据能力。不仅如此,基于服务端所拥有的管理员权限,我们近期还上线了批量插入的能力,大家可以试试这个新能力。
- 管理端 SDK:管理端 SDK 是对对控制台能力的封装暴露。开发者可以借助于管理端 SDK 来完成集的增删改查、数据导入导出、回档操作等能力。
除了官方提供的 SDK,你还可以使用社区提供的多语言云开发 SDK,社区 SDK 提供了诸如 Python、.net、Golang、Java 等语言版本的支持。
第四招
借助数据库安全规则实现细粒度权限控制
对于开发者来说,在开发过程中,还可以借助安全规则,实现更细粒度的权限控制,比如这里可以控制数据库权限的为“仅创建者可读写”,这样用户只能操作自己写入的数据。
第五招
借助 SDK 实现多数据库实例管理
你可以在云开发上搭建一个运营配置系统,数据配置完成后,可以点击测试环境发布的按钮,将配置发布到测试环境的云数据库,在测试无误后,将其发布到线上环境,确保数据的准确性。
你还可以通过新建多个环境的实例,来完成对指定环境的云数据库的操作。
第六招
借助 SDK 实现旧有系统对接云数据库
如果你希望将已有的一些系统与云数据库进行数据对接,则需要主动传入腾讯云API固定密钥对。通过这种方式,已有的各种运营系统也可以实现数据的打通。
第七招
借助聚合进行数据分析
业务增长离不开对数据的分析。云开发提供了聚合接口,帮助用户对业务数据进行统计。例如,如果要对订单数据进行分析,需要先过滤出6月份以来的所有数据,并按照“每天-省份”的维度进行聚合,统计每天、每个省份的订单总金额。
此外,还可以借助云函数的定时触发器,对数据进行定时统计分析。
第八招
借助 CMS 赋能运营者管理数据
云开发近期上线了 CMS 内容管理系统,赋能产出运营。通过CMS系统,产品运营能够对向上数据进行运营管理。无需编写代码即可使用,支持对文本、富文本、图片、文件、关联类型等多种类型的数据进行可视化编辑。
在 CMS 内容管理系统中,支持管理员和运营者两种身份角色,由管理员来完成数据建模,并自动生成相应的管理界面,将配置好的管理界面交给运营者进行操作,从而实现多级别数据权限控制。
第九招
借助数据备份回档实现数据安全备份
在应用开发完成,数据导入完成,业务开始运营以后,最怕的就是删库跑路和数据发生异常。在这种情况下,可以借助云开发数据库提供的自动数据备份能力,保障数据安全。
云开发数据库会自动备份最近7 天的数据,遇到任何数据问题,都可以轻松实现数据回档,快速恢复业务。
具体地,只需要指定要回档的时间点、回档的数据集合、回档后的名称,几分钟数据即可完成数据回档操作。
第十招
借助不同付费模式来完成产品性能优化
云开发支持包年包月与按量付费两种模式。默认情况下,开发者使用的是包年包月的版本,但面对业务高峰,可能会因为来不及升级套餐而导致业务受损,针对这个问题,开发者可以将计费模式切换到按量计费,在按量计费模式下,连接数等指标会提升到最高,确保业务平稳运行,开发者还可以通过购买资源包,来获得更低的单价。
总结
本篇文章共介绍了10种不同的云开发数据库管理方式,借助这些能力,你可以轻松地满足业务对于数据管理的种种需求,在未来,云开发也将提供更多的数据库能力,帮助开发者更好的推进业务的发展。
作者:刘盛,腾讯云云开发团队,腾讯高级产品策划。