产品动态
1. 商用版应用网络隔离优化方案上线,独立 IP 降价 50%
为了彻底隔离不同用户的网络访问入口,避免意外情况下的相互影响,我们在 10 月份上线了网络隔离优化方案,为拥有商用版应用的账户免费分配了一个独立 IP(默认提供 2Gbps 的防护带宽),以作为账户下所有应用使用存储服务的默认入口。这一变化对有些应用已经自动生效,对部分应用则还需要开发者手动修改 API 域名的 DNS 解析记录才能生效。
另外,如果开发者需要在名下的多个应用之间也进行网络流量隔离,还可以额外购买更多的独立 IP,为此我们将原来的独立 IP 价格降低 50%,以鼓励大家更好地使用 LeanCloud 服务。详情可参考博客介绍 [1]。
2. 应用内搜索完成了架构升级,并更名为「全文搜索」
应用内搜索服务推出五年来,收到了许多开发者的反馈和建议,在过去的一段时间,我们对技术架构进行了调整和优化,包括:升级了搜索和分词引擎,优化了中英文混合文本的分词,也支持了索引重建过程中的多版本平滑过度,等等。10 月份这些调整正式上线,我们也将这一增值服务更名为「全文搜索」,以便更好反应它的用途。
另外,从 11 月 1 日开始全文搜索的统计将会和数据存储区分开,并进行独立计费,具体可参考博客介绍 [2]。
3. 云引擎在所有分组上支持云函数,并取消分组管理费
云引擎的组管理功能允许开发者建立多个独立分组,在访问同一数据源的情况下,部署多套不同的服务器端业务代码,并对每个分组绑定不同的自定义域名,实现更丰富的业务需求。在此之前我们规定了只有「主要分组」可以使用云函数和 Hook 机制,这给一部分开发者的代码组织带来了一些障碍。我们最近做了一些工作,让所有分组都支持了云函数和 Hook 机制,并且完全取消了分组管理费,以方便大家的使用。具体可参考博客介绍 [3]。
内容分享
去年配置 Linux 软路由让我对基于「原生 Linux」的开源解决方案信心和兴趣大增,于是准备自己 DIY 一台 NAS,计划解决未来十年的存储需求。
常见问题
1. 【数据存储】当数据量越来越大时,怎么加快查询速度?
与使用传统的数据库一样,查询优化主要靠索引实现。索引就像字典里的目录,能帮助你在海量的文字中更快速地查词。
原则:数据量少时,不建索引。多的时候请记住,建立索引后,写入时还需要更新索引,以此来换取更少的查询时间。所以,一般来说,写少读多就多建索引,写多读少就少建索引。
操作:进入控制台 > 存储,选定一张表之后,点击右侧的其他下拉菜单,然后选择索引,然后根据你的查询需要建立好索引。
提示:
如果 Class 内数据很多,点击「创建」按钮后,控制台可能会显示「排队中」。这意味着索引创建操作已进入任务队列,会在集群闲时(通常是凌晨)自动进行。
数据表的默认四个字段 objectId、ACL、createdAt、updatedAt 是自带索引的,但是在勾选时,可以作为联合索引来使用。
「唯一索引」选项指比如 uuid 等使用场景。勾选「唯一索引」但不勾选「允许缺失值」时,最多只能有一条不存在该字段的数据,否则数据就不唯一了。如果可能存在不止一条不存在该字段的数据,请同时勾选「允许缺失值」。
目前索引提供 3 种排序方案:正序、倒序和 2dsphere。其中 2dsphere 用于地理位置经纬度的数据(GeoPoint)。比如移动场景中一个常见的需求是查找附近的其他用户。由于存储服务支持双向遍历索引,因此单字段索引,正序和倒序是等价的,可随意选择。但联合索引的正序、倒序的组合需要根据业务需求选择。
下面以两个字段的联合索引为例详细说明正序、倒序的选择。我们假定创建 foo、bar 双字段联合索引时, foo 字段的索引选择正序,bar 字段的索引选择倒序。显而易见,foo 正序且 bar 倒序的查询能够利用索引。又因为支持双向遍历索引,所以上述查询的翻转形式 foo 倒序且 bar 正序也能利用索引。但是,foo、bar 同序(皆正序或皆倒序)的查询无法利用索引。同样是因为支持双向遍历索引的缘故,创建 foo 字段倒序、bar 字段正序的联合索引,效果是等价的。同理,foo、bar 字段同序的联合索引,能够被 foo、bar 同序的查询利用,不能被 foo、bar 异序的查询利用。三个或更多字段的联合索引以此类推。
2. 【域名绑定】域名已经备案,在控制台绑定域名时却域名备案检查不通过。
请先访问工信部网站 [4] 试下能否查到域名备案信息,如果查询不到,需要等待工信部域名备案查询系统更新后再去控制台点「重试」。如果工信部网站可以查到而控制台域名备案检查却不通过,通常是因为 LeanCloud 使用的备案查询服务数据有延迟,请通过工单或邮件联系我们处理。
3. 【数据存储】不通过短信验证能否强制修改 _User 表 mobilePhoneVerified 字段,使其设置为 true?
可以通过云引擎使用 master key [5] 来修改 mobilePhoneVerified 的值。因为云引擎运行在可信的服务器端环境中,所以可以全局开启超级权限(Master Key),这样云端会跳过包括 ACL 和 Class 权限在内的检查,让你自由地操作所有云存储中的数据,当然这种方式也只允许调用一些仅供 Master Key 使用的 API。
相关链接:
[1] https://url.leanapp.cn/l9KXquX
[2] https://url.leanapp.cn/BSzlaro
[3] https://url.leanapp.cn/fXlWwQs
[4] https://url.leanapp.cn/YMqxYAl
[5] https://url.leanapp.cn/OKSpXGp
end
LeanCloud,领先的 BaaS 提供商,为移动开发提供强有力的后端支持。更多内容请关注「LeanCloud 通讯」