views:

206

answers:

1

Are there any databases, in either the SQL or NoSQL worlds, that support protocol buffers? (Support could mean various things, but hopefully would include being able to index on fields in protocol buffers.)

+1  A: 

I am not aware of any (not that they don't exist, I just don't know about them), but perhaps it is worth discussing an alternate strategy and the pros and cons.

Typically you would want to store a serialized version of your protocol buffer, indexed by some particular key (a unique identifier, perhaps). You could then build secondary indexes for other interesting fields that point to that unique identifier. The idea is that you would want explicit indexes like this to scale beyond what a system that provides arbitrary indexes. This obviously opens up a world of new problems (such as stale arbitrary indexes).

allenporter
Why would anyone want keys and other entites packed into protobuf instead any language can just work with primitive types for database indexing etc. it works great of it's purpose but it doesn't mean that it should be used everywhere where it doesn't make any sense,
mamu
If you want to use your database across many machines you'll likely need to handle the secondary indexes yourself anyway instead of relying on some database software to do it fore you.
allenporter