2010-05-09 5 views
26

Esistono database, nei mondi SQL o NoSQL, che supportano protocol buffers? (Il supporto potrebbe significare varie cose, ma si spera che includa la possibilità di indicizzare i campi nei buffer del protocollo.)Esistono database che supportano i buffer di protocollo?

+0

15 minuti spesi googling non si presentò alcun risultato positivo. Hadoop HBase utilizza i buffer di protocollo come parte delle comunicazioni di servizio e ha un'API client di risparmio, ma nulla sul livello di archiviazione dei dati. Hadoop Avro si trova nello stesso spazio dei PB, forse vedremo l'integrazione con HBase in futuro? – mdma

+0

Perché non utilizzare solo un database relazionale (inserire ciascun valore nella propria colonna anziché tutti i valori in una colonna)? –

+0

@Brendan: certo, questo è un modo per andare. Per lo più sono rimasto sorpreso dal fatto che nessuno dei database noSQL avesse una soluzione pronta all'uso, dato che alcuni, come MongoDB, memorizza blob binari simili. –

risposta

3

Non ne sono a conoscenza (non che non esistano, semplicemente non ne so) , ma forse vale la pena discutere di una strategia alternativa e dei pro e contro.

In genere si desidera memorizzare una versione serializzata del proprio buffer di protocollo, indicizzata da una particolare chiave (un identificatore univoco, forse). È quindi possibile creare indici secondari per altri campi interessanti che puntano a quell'identificatore univoco. L'idea è che vorreste che indici espliciti come questo vadano oltre quello che un sistema che fornisce indici arbitrari. Questo ovviamente apre un mondo di nuovi problemi (come gli indici arbitrari stantii).

+1

Perché qualcuno dovrebbe voler includere le chiavi e le altre entrate in protobuf, invece qualsiasi linguaggio può funzionare solo con tipi primitivi per l'indicizzazione del database, ecc. Funziona molto bene allo scopo ma non significa che dovrebbe essere usato ovunque dove non fa in qualsiasi senso, – mamu

+0

Se si desidera utilizzare il database su più macchine, è probabile che sia necessario gestire gli indici secondari autonomamente, invece di affidarsi a un software di database per farlo. – allenporter