查询方式设计
2016-07-08 09:37
375 查看
PL
优点
语言查询提供的查询接口比较灵活。灵活带来的优点是不言而喻的,它应对未来业务的变化能表现出更好的可扩展性,而且给用户提供的接口也更加简洁。所谓简洁是指完成复杂的查询逻辑只需要少量的语句,说明PL的描述力比较强。缺点
使得后台解析数据的复杂度变大,而且要完全描述出什么是合法的查询语句是非常困难的。灵活带来的缺点是不确定性增大,一般内部模块在查询时最好是不要用这样的方式。因为内部模块之间的查询方式一般都相对比较固定,变化的概率不大。除非业务发生剧烈变化,否则可以通过扩容查询接口的方式来解决业务发展带来的问题。
灵活带来的另一个缺点是速度下降,越是灵活的查询语言在解析方面花费的时间越长。
RPC
优点
接口完成的业务功能专一,专一往往就是暗示其具有着高内聚的特性,当然这个也不是绝对的。另一方面是相比起语言来说耦合度比较的低。语言一旦设计不好,就会影响所有这个语言能够描述的业务。而RPC接口的话只完成某项具体的功能,所以就算接口设计不好,影响也只有使用这个接口的业务。缺点
业务扩展时开发效率偏低,需要针对不同的功能增加不同的接口。所以需求一旦多了起来,就会导致维护的接口膨胀,因为RPC的描述力太弱了。PB
本质上是RPC的扩展版本,解决了RPC同一个功能扩展需要新增新接口的带来的冗余。取舍原则
灵活性带来的效率和解析复杂度下降没有想象中那么大,在需要使用灵活度更高的查询时,果断应该使用灵活度更高的查询。查询方式里灵活性越来越大依次为:方法调用(RPC),结构信息(Protocol buffer),查询语言(SQL)。相关文章推荐
- error: ‘PATH_MAX’ undeclared (first use in this function)
- stroke和closePath
- 洛谷 P2024 食物链
- Linux中yum和apt-get用法及区别
- web前端知识体系大全
- 关于apue第二章获取绝对路径长度程序path_alloc()分析
- BP神经网络
- NYOJ_重建二叉树
- java实现人民币数字转换中文大写的工具实例代码demo分享
- 关于path_alloc()函数
- Merge k Sorted Lists
- PlSql链接不上Oracle问题跟踪
- 内存管理 & 内存优化技巧 浅析
- [Python]更加Pythonic的多个List合并和Python的安利
- C# 实现是否设置指定程序为开机启动程序
- hbase hive
- 快速掌握Java语言
- nfs,ftp,telnet区别
- IE9 IE8 ajax跨域问题的快速解决方法
- stl string常用函数