高效率数据库为小程序·云开发赋能,共同为客户提供更多优质解决方案。

目录

小程序·云开发介绍小程序·云开发的数据库服务解决方案及客户成功案例

小程序云开发介绍

“小程序·云开发”是微信团队和腾讯云联合打造的“应用服务中台”。秉承高效、易用、安全、低成本的服务理念,为开发者提供稳定高性能的服务。“小程序·云开发”整合了微信公众平台和腾讯云的核心技术,提供云数据库、云存储、云函数、日志和监控等开发运维能力。通过“小程序·云开发”,开发者可无缝安全调用小程序的开放服务,提升开发效率,快速试错和落地产品。

小程序·云开发发展时间线

相比传统开发模式,云开发免去了搭建、维护服务器等步骤,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,让开发更简单、效率更高、运维更省事。

云开发(蓝)与传统开发(蓝灰)路径对比

在开发过程中,只需要使用SDK访问云服务,就可以使用各种云资源,不需要面对服务搭建过程中会遇到的各种麻烦。

云开发核心产品能力

只使用SDK,就可以完成绝大部分功能,再完成部分云函数的编写工作,上传代码,就能在你的应用里直接调用。

这样在产品功能确定后,就可以立即开始上手编码并快速上线;上线后用户快速增长,客户仍然只需关注产品迭代。

小程序·云开发的数据库服务

对大多数应用来说数据库都是非常重要的基础服务。

小程序·云开发数据库服务拥有以下几个特点:

  • 文档型数据库

    灵活的类JSON文档,集合类似于JSON数组。

  • 简单易用的SDK

    简单易用的数据库SDK,控制台直接操作格式化的数据。

  • 权限控制

    用户级别的权限控制,拥有强大的安全规则。

SDK与控制台能力

SDK让开发者在小程序端、服务端及web端等以api的方式访问数据库服务,不需要管理数据库连接。

我们对数据库操作做了接口封装,开发者可以跟简单的写书写CRUD语句,学习成本远低于标准语法。

云控制台是云资源的管理平台,在这里开发者可以格式化的查看数据,可视化的修改数据,可以导入导出数据,管理索引。在控制台,数据库里的数据不再是黑乎乎的终端,而是实实在在看得到的。

高级数据类型

云开发的数据库同样支持flexdb的一些高级数据类型如服务端时间地理位置数组和列表等。

地理位置支持范围搜索,列表支持常见的队列操作。服务端时间是个非常有用的数据类型,如果在客户端直接操作数据库,可以以一个特定的参考时间为标准,避免客户端取的时间不统一。

性能与稳定性

每个数据库资源都会分配一个实例ID,每一个实例都是至少一主二从的三副本的分片集群,数据库底层会自动选择最优副本集。

背靠flexdb强大的底层支持,云开发可以提供稳定、安全、高效的数据库服务,我们会管理连接、保障在套餐内的访问高效运转。

数据实时推送

数据实时推送是我们研发中即将上线的一项服务,客户端使用我们的SDK发起socket连接建立对一个集合的监听,目标集合中如果有符合过滤条件的数据发生变更,将会直接推送到建立监听的客户端。

使用实时推送可以更有效率的拉取数据,把你的应用变成实时有状态的,有一些场景会非常有用,比如可以用来做弹幕,做实时排名更新,做实时刷新,或者实时推送一些通知给到用户。

保障数据安全

安全规则是针对非小程序终端非常重要的一项能力,在小程序里所有的数据交换都是通过微信私密协议来进行了,这种方式保证了数据交换过程的安全性,请求被篡改或者伪造的难度非常大。安全规则功能即将推出,敬请期待。

在非小程序端,客户单如果直接发起一个数据库操作,很有可能数据被用户擅自修改,进而非法看到或者是可以修改一些敏感数据。我们目前线上的数据库权限功能比较少,私有访问就限定是每个用户只能访问自己创建的数据。

这很明显是不够用的,在更复杂的场景,开发者需要更多的可以定制的安全规则,来满足业务需求的同时也能确保自己的数据是安全的。

安全规则运行在云开发服务端,运行开发者编写的规则代码,确保只有开发者允许的数据库操作才可以进行。

解决方案及客户成功案例库服务

解决方案·在线状态系统

以一个简单的场景来呈现以下数据库实时推送的应用:

假如我们在一个小游戏里,需要知道哪些游戏好友是在线的,我们可以这样来实现。

每个进入游戏的用户每隔一段时间更新自己的在线状态,如果一段时间没有更新则认为是离线的。

每个接入游戏的用户同样监听自己的好友列表的在线状态,一旦有用户的在线状态发生了变更或者是一段时间内没有更新为在线,则认为该好友是离线的。

我们可以很轻易的用几行代码来做到一个高效的实时状态更新服务。

解决方案·确保用户和组数据访问的安全性 在云开发的当前产品能力布局下,web端一个非常重要的使用场景就是为小程序开发内容管理系统,这也是很多开发者很期待的一个能力。

  • 小程序的内容管理系统(CMS)

    CMS一般是面向企业内人员的,不同的员工有不同的权限,比如超级管理员可以修改所有内容,产品部门的同事可能可以修改产品信息,市场部门的同事只能查看。

  • 调用服务端sdk更新auth信息

  • 安全规则

如果有了安全规则,可以很轻易在用几行类js代码类书写一个可靠的权限分组的规则。使用服务端sdk修改用户的认证信息后就生效了。

客户案例·腾讯相册

腾讯相册是在云开发内测期间就已经上线并大规模使用的小程序,腾讯相册已于去年拥有破亿用户量。

需求:

兼容并“旧”,快速上线新功能如评论点赞等。

痛点:

新增小程序评论及点赞等操作需要用户的鉴权信息,存储原有的后端服务架构太复杂,增加新功能成本很高。

解决方案:

云函数中访问客户自有服务鉴权服务,存储评论及点赞数据到云开发数据库(2天实现)

客户案例·小游戏开发

需求:

快速上线,实现好友助力功能。

痛点:

后台研发资源有限,调用微信开放平台认证逻辑复杂

解决方案:

前端使用cloudsdk直接调用数据库或云函数、云函数天然支持微信开放平台鉴权,借助云开发高效鉴权能力,快速实现好友助力功能。

此外,云开发还是在多种应有场景下为多个小程序提供解决方案,例如降低成本(唯品会小程序)、细粒度监控版本变化并更新小程序(转转交易小程序)、缩小小程序体积(腾讯乘车码)。

— — — — End — — — —

欢迎分享云开发实战经验与技术故事~

云开发

Tencent CloudBase

大小端交换的程序_数据库在小程序云开发中的应用相关推荐

  1. 专属海报小程序_轻松生成小程序分享海报

    小程序海报组件 需求 小程序分享到朋友圈只能使用小程序码海报来实现,生成小程序码的方式有两种,一种是使用后端方式,一种是使用小程序自带的canvas生成:后端的方式开发难度大,由于生成图片耗用内存比较 ...

  2. wxml 判断 小程序_如何判断小程序外包公司是否靠谱

    微信小程序依附微信App,由于其无需下载,无需安装,无需注册,直接用微信授权登录,不占内存等优势在短短2年多的时间斩获超过10亿用户.又因为微信官方开通了小程序附近五公里展示以及在微信搜一搜增加&qu ...

  3. python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    原标题:干货 | 微信小程序自动化测试最佳实践(附 Python 源码) 本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善, ...

  4. python人工智能小程序_杭州python小程序

    杭州python小程序 来源:教育联展网    编辑:佚名    发布时间:2018-10-19 Java.PHP.Python哪个就业前景比较好 具体对比分析如下: Java语言特点:所有Andro ...

  5. f2 柱状图滚动 钉钉小程序_钉钉小程序图表库AntV - F2 使用总结

    项目涉及图表部分的技术选型 对于图表这块的开发,使用一些流行的图表库可以大大提高我们的开发效率,目前较为流行的图表库大概有Echarts,Hcharts,AntV,他们都是大同小异,我印象比较深刻的是 ...

  6. c++趣味小程序_工具类小程序10天增长103万全复盘

    本文目录: 一.100万小程序用户意味着什么 二.为什么要选择春节期间做增长 三."己亥计划"全复盘 四.活动总结及可复用经验 一.100万小程序用户意味着什么 或许对于很多公司的 ...

  7. 数字抽奖小程序_如何利用小程序玩转抽奖活动?

    抽奖作为一种古老的运营套路,一直活跃在营销最前沿.无论是线下门店促销,还是线上活动,抽奖被广泛用于拉新.促活.获客等增长环节.虽然玩法看似老套,但凭借着以小博大的杠杆效应.低门槛参与.高奖励诱惑的活动 ...

  8. protobuf 微信小程序_常州微信小程序开发-Unity3D使用Protobuf、ProtobufHelper

    常州微信小程序开发-Unity3D使用Protobuf.ProtobufHelper 在序列化,Protobuf有着天然的优势,Protobuf作为Google的一个开源序列化库,因为使用的数据压缩算 ...

  9. css计算函数 scalc 微信小程序_在微信小程序中,基于云函数发送邮件

    引言:基于第三方Nodemailer可以实现使用云函数来发送邮件.在开发过程中使用发送邮件,一般使用场景是用来用户注册账号,更改密码等其它验证. 1.开发准备 1.1邮箱 已注册成功的QQ邮箱.网易邮 ...

最新文章

  1. WCF后续之旅(16): 消息是如何分发到Endpoint的--消息筛选(Message Filter)
  2. oracle字符串清洗、拆分案例
  3. Linq to xml 示例分析
  4. 获取linux命令硬盘信息,Linux下如何获取磁盘信息
  5. Run-Time Check Failure #2 – Stack around the variable 'a' was corrupted.
  6. 实现WebSocket和WAMP协议的开源库WampSharp
  7. H5 data-* 属性,设置获取方法总结
  8. (转载)MyEclipse 9.1配置ADT(Link方式配置Android开发环境)
  9. Android TV框架TIF
  10. 如何解决Maven导入Oracle驱动出现Missing artifact com.oracle:ojdbc14:jar:10.2.0.2.0,Mvaen:com.oracle:ojdbc14:10.
  11. 全流程各工程类型地下水环境影响评价【一级】方法与MODFLOW Flex建模技术
  12. 校园学生管理系统设想
  13. 软件测试 | 正交试验测试用例设计方法
  14. Microsoft Edge浏览器或者电脑上其他浏览器的主页被篡改后的解决办法。(适用于联想电脑)
  15. 最优传输论文(十七):Sinkhorn Distances: Lightspeed Computation of Optimal Transport论文原理
  16. 基因表达矩阵中排除表达量低的样本和基因
  17. matlab:预测股票价格走势
  18. 微信小程序 申请第三方平台流程
  19. 哔哩哔哩 机器人历险记_机器人历险记谁演的,机器人历险记的扮演者罗德尼资料介绍-易看TV...
  20. 顺应EMM趋势,烽火星空重磅出击

热门文章

  1. php sae,GitHub - ytf606/sae-weiphp: 基于SAE平台weiphp CMS系统
  2. 用Python底层编写进行计量经济分析(一):多元线性回归(参数估计、T检验、拟合优度、F检验)
  3. WebSocket的那些事(4-Spring中的STOMP支持详解)
  4. 前端切页快速上手系列
  5. 如何执行存储过程以及如何进行调试?
  6. linux查看某个端口的流量_linux流量查看工具汇总
  7. R语言按照城市取样(一个城市有多行观测,想筛选一些城市)
  8. 【性能测试】如何完全卸载LoadRunner?
  9. 如何使用友盟统计(自定义事件)
  10. Microsoft Excel 单元格行高和列宽