查询方式设计

PL

优点

语言查询提供的查询接口比较灵活。灵活带来的优点是不言而喻的,它应对未来业务的变化能表现出更好的可扩展性,而且给用户提供的接口也更加简洁。所谓简洁是指完成复杂的查询逻辑只需要少量的语句,说明PL的描述力比较强。

缺点

  1. 使得后台解析数据的复杂度变大,而且要完全描述出什么是合法的查询语句是非常困难的。
  2. 灵活带来的缺点是不确定性增大,一般内部模块在查询时最好是不要用这样的方式。因为内部模块之间的查询方式一般都相对比较固定,变化的概率不大。除非业务发生剧烈变化,否则可以通过扩容查询接口的方式来解决业务发展带来的问题。
  3. 灵活带来的另一个缺点是速度下降,越是灵活的查询语言在解析方面花费的时间越长。

RPC

优点

接口完成的业务功能专一,专一往往就是暗示其具有着高内聚的特性,当然这个也不是绝对的。另一方面是相比起语言来说耦合度比较的低。语言一旦设计不好,就会影响所有这个语言能够描述的业务。而RPC接口的话只完成某项具体的功能,所以就算接口设计不好,影响也只有使用这个接口的业务。

缺点

业务扩展时开发效率偏低,需要针对不同的功能增加不同的接口。所以需求一旦多了起来,就会导致维护的接口膨胀,因为RPC的描述力太弱了。

PB

本质上是RPC的扩展版本,解决了RPC同一个功能扩展需要新增新接口的带来的冗余。

取舍原则

灵活性带来的效率和解析复杂度下降没有想象中那么大,在需要使用灵活度更高的查询时,果断应该使用灵活度更高的查询。查询方式里灵活性越来越大依次为:方法调用(RPC),结构信息(Protocol buffer),查询语言(SQL)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值