将Protobuf消息持久化到数据库

Persisting Protobuf messages to Database(将Protobuf消息持久化到数据库)

本文介绍了将Protobuf消息持久化到数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

持久化使用协议buf3定义的数据的正确方式是什么。我使用的是Golang和Java,这两个地方都支持ORM。在java中使用Hibernate,在golang中使用Gorm。这两个地方我都需要将生成的代码转换成相应的实体模型。我觉得为了被ORM理解而保持相同的对象结构是比较痛苦的。有没有什么数据库可以让我原封不动地和Protobuf对象一起使用。或者,我可以在协议Buf本身中定义对象之间的关系。

任何帮助都非常感谢。

推荐答案

此问题有一个非直截了当的解决方案。

Protobuf 3为消息制定了JSON mapping标准。一旦将消息序列化为JSON,您就有多种选择将其存储在数据库中。

以下(以及更多)数据库可以存储JSON数据:

  • MariaDB
  • PostgreSQL
  • MongoDB

这篇关于将Protobuf消息持久化到数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:将Protobuf消息持久化到数据库

基础教程推荐