数据库粘合层--基于protobuffer

背景:

最近在工作中,受到大量数据库操作的折磨。由于采用拼接字符串的方式来进行数据库操作,带来了每个数据库操作业务都需要提供一个接口,导致同一张表的操作需要一堆堆接口。比如表person_t有3个字段(age、name、sex),如果对age和sex做update,需要一个接口,如果对age的update那又需要一个接口,对name的update还需要一个字段。这种接口会根据业务不断衍生出来,会造成接口大爆炸和拼接字符串出错而带来的额外高昂的成本。在我不堪折磨的时候想到了利用protobuf来解决此问题,proto_db横空出世。

 

作用:

类似于SAOP技术,基于protobuf。用于数据库数据与C++对象数据之间的序列化,当然了,这个对象还可以在网络上序列化。达到两个目的:

1. 数据库表与对象自动映射,不需要认为写结构体与数据库表字段一一对应

2. 数据库操作均通过对象与固有接口进行配合,不需要单独写拼接sql语句接口(解释得有点模糊,下面继续解释)

 

横向比较:

这里列出与另外两个数据库操作库进行对比

  proto_db DTL OTL
模型  基于protobuf,采用简单接口操作  基于ODBC,类采用STL算法与数据结构的操作  基于各种数据库提供的API,采用IOstream流式操作
易用性 十分简单 简单 简单
稳定性 个人作品,未商业,还不太成熟 可靠
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值