In memory Key/Value store in go using gRPC
github.com
github.com
My google-fu only turns up references to invalid utf-8 data, but that didn’t sound like what you were referring to.
Only use string when you really mean utf8.
Luckily you can change from string to bytes at any time, since the wire format is the same, so this isn't the kind of mistake that gets cast in stone.
What are "keys and values" with regard to protobuf? Surely you don't mean maps as bytes can't be "keys" anyways. And why shouldn't you use string as a field type?
Neither Spanner nor Bigtable has this feature. If you store a protobuf in a Bigtable column, that's your own business. Bigtable itself won't notice.
This is from memory. I'm not at Google anymore.
also some bare mention here - https://static.googleusercontent.com/media/research.google.c...
"... The effort to standardize our own implementations both covers gaps in the SQL standard where details are unclear or left to the implementation and covers our own Google specific extensions. Before defining our own SQL dialect, we did consider other options. Using the front end of an open-source SQL processing system, such as Postgres, would have accomplished several of the same goals including filling the gaps left by the SQL standard and ensuring uniform syntax/semantics across our systems. We ruled out this approach because internal systems at Google make heavy use of Protocol Buffers in their applications, and we wanted Protocol Buffer message and enum types to be first class types in our SQL language"
Later this allows one to change things independently.
I would also not use Any as a request or reply type, but Any, in general, is fairly common in practical use.
The tooling around pulling in protobuf at compile time is a huge pain in the ass. I've been spending an hour or so every night over past few weeks searching issues to figure out why things aren't working. This is a great reference point for me, thanks!