2011-11-11 4 views
4

Ai-je raison de stocker des données JSON dans HBase?Stocker JSON dans HBase et interroger par Id

put 'messages', 123, 'cf:json', '{"foo":"bar"}' 

Fondamentalement, j'ai besoin de l'interroger par ID, qui est 123 dans mon exemple. Et JSON est une chaîne de longueur variable.

Répondre

9

Il n'y a aucun problème pour stocker JSON dans une valeur de cellule. Les tailles de cellules allant jusqu'à 5M sont toujours raisonnables. D'une manière générale, bien qu'il soit recommandé de garder les tailles de clé et de colonne petites (http://hbase.apache.org/book.html#keysize) et JSON, tout en étant plus compact que XML, est toujours un format inutile (vs. JSON binaire , Thrift, Avro, MessagePack etc.). Si vous restez avec JSON, vous devrez peut-être envisager de compresser la famille de colonnes

+0

Hi! Le client utilise du JSON simple, donc si j'utilise BSON ou tout autre format binaire, cela entraînerait un surcoût supplémentaire lors de la conversion. Peut-être qu'il est préférable d'ajouter la compression de la famille de colonnes à la place? –

+0

De quelle taille de tables parlez-vous? –

+0

difficile de deviner la taille, mais ça va avoir plusieurs millions de lignes ... –