2010-05-09 8 views
26

¿Hay bases de datos, ya sea en los mundos SQL o NoSQL, que admitan protocol buffers? (El soporte podría significar varias cosas, pero con suerte podría ser capaz de indexar en campos en búferes de protocolo.)¿Hay alguna base de datos que admita buffers de protocolo?

+0

pasado 15 minutos buscando en Google no se presentó ningún resultado positivo. Hadoop HBase utiliza búferes de protocolo como parte de las comunicaciones de servicio, y tiene una API de cliente de Thrift, pero nada en la capa de almacenamiento de datos. Hadoop Avro está en el mismo espacio que los PB, ¿tal vez veremos la integración con HBase en el futuro? – mdma

+0

¿Por qué no usar simplemente una base de datos relacional (poner cada valor en su propia columna en lugar de todos los valores en una columna)? –

+0

@Brendan: Por supuesto, esa es una forma de hacerlo. En general, me sorprendió que ninguna de las bases de datos no SQL tuviera una solución lista para usar, dado que algunas, como MongoDB, almacenan blobs binarios que son similares. –

Respuesta

3

No conozco ninguno (no es que no existan, simplemente no los conozco) , pero quizás valga la pena discutir una estrategia alternativa y los pros y los contras.

Normalmente, desea almacenar una versión serializada de su búfer de protocolo, indexada por alguna clave particular (un identificador único, tal vez). A continuación, puede generar índices secundarios para otros campos interesantes que apuntan a ese identificador único. La idea es que desee que los índices explícitos como este escalen más allá de lo que es un sistema que proporciona índices arbitrarios. Esto, obviamente, abre un mundo de nuevos problemas (como los índices arbitrarios obsoletos).

+1

¿Por qué alguien querría claves y otras entidades incluidas en protobuf? En cambio, cualquier lenguaje puede funcionar con tipos primitivos para la indexación de bases de datos, etc. Funciona muy bien, pero no significa que deba usarse en todas partes donde no lo haga cualquier sentido, – mamu

+0

Si desea utilizar su base de datos en muchas máquinas, es probable que necesite manejar los índices secundarios usted mismo de todos modos en lugar de confiar en algún software de base de datos para hacerlo. – allenporter

Cuestiones relacionadas