If you are going to handle large number of rows and you don't need
transactional support, MyISAM is a good candidate for an engine. It is
used by, e.g., ScienceLogic in write-intensive setups, so it might be
something for you.
http://en.oreilly.com/mysql2008/public/schedule/detail/592
Also, the data should probably be stored as a BLOB since it has an
arbitrary length and is pure binary data (TEXT is like a BLOB but with a
character set and collation attached).
It is easy to serialize the message to a string using the serialization
functions available in protobuf and then write it to the database in the
normal manner.
Just my few cents,
Mats Kindahl