Javaのコンテナオブジェクトに数十万のProtoBufオブジェクトがあります。
コンテナは非常に大きくなり、MySQLデータベースにシリアル化するのが最善の方法のようです。
Javaを使用してProtobufオブジェクトをMySQLに保存する最も合理的な方法は何ですか?
- 正しい(逆)シリアル化手法は何ですか?
- シリアル化されたオブジェクトのMySQLスキーマでどのフィールドタイプを使用する必要がありますか?
Javaのコンテナオブジェクトに数十万のProtoBufオブジェクトがあります。
コンテナは非常に大きくなり、MySQLデータベースにシリアル化するのが最善の方法のようです。
Javaを使用してProtobufオブジェクトをMySQLに保存する最も合理的な方法は何ですか?
プロトコル バッファに組み込まれているシリアル化手法を使用します。 protobufsをシリアル化し、シリアル化されたデータをデータベースに格納します。値を取得するには、データベースからデータを取得し、さまざまな parseFrom メソッドのいずれかを使用して情報を取得します。
私は MySQL (または SQL 全般) の専門家ではありませんが、おそらく BLOB データ型を使用してこのデータを格納するでしょう。クラス名を保持する列とデータを保持する列の 2 つの列を持つことができます。その時点で、Java リフレクションを使用して必要なクラスをロードし、そのオブジェクトで parseFrom を呼び出すことができます。
おそらく、休止状態よりもはるかに悪い結果になる可能性があります。このアプローチの優れた点は、protobuf メッセージに戻す機能を失わずに、照会できるまともなレコードにそれらをシリアル化できることです。