您的位置:首页 > 其它

查询方式设计

2016-07-08 09:37 375 查看

PL

优点

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

缺点

使得后台解析数据的复杂度变大,而且要完全描述出什么是合法的查询语句是非常困难的。

灵活带来的缺点是不确定性增大,一般内部模块在查询时最好是不要用这样的方式。因为内部模块之间的查询方式一般都相对比较固定,变化的概率不大。除非业务发生剧烈变化,否则可以通过扩容查询接口的方式来解决业务发展带来的问题。

灵活带来的另一个缺点是速度下降,越是灵活的查询语言在解析方面花费的时间越长。

RPC

优点

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

缺点

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

PB

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

取舍原则

灵活性带来的效率和解析复杂度下降没有想象中那么大,在需要使用灵活度更高的查询时,果断应该使用灵活度更高的查询。查询方式里灵活性越来越大依次为:方法调用(RPC),结构信息(Protocol buffer),查询语言(SQL)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: