3 votes

Comment HBase supprime-t-il les lignes ?

J'ai lu dans Livre HBase qu'il est désormais possible de supprimer des lignes d'un tableau.
Comment fonctionne-t-il exactement ? Ces données sont-elles déplacées quelque part pour être supprimées ultérieurement ?

HBase est limité par la limitation de HDFS dans l'édition des fichiers écrits une fois, donc je suis curieux de savoir comment cela fonctionne. Si quelqu'un en sait plus à ce sujet, merci de partager vos connaissances.

Merci.

8voto

Nija Points 3625

J'ai trouvé des informations utiles sur http://hbase.apache.org/book.html#d705e2948

Un extrait de cette section

Supprime le travail en créant une pierre tombale en créant des marqueurs de pierre tombale. Par exemple, supposons que nous voulons supprimer une ligne. Pour cela, vous pouvez spécifier une version, ou bien par défaut le CurrentTimeMillis est utilisé par défaut. Cela signifie cela signifie "supprimer toutes les cellules où la version est inférieure ou égale à cette version". HBase ne modifie jamais les données en place, donc par exemple un delete ne supprimera pas immédiatement (ou ne marquera pas comme supprimées) les entrées du fichier de qui correspondent à la condition de suppression . Au lieu de cela, une opération dite de tombes les valeurs supprimées. Si la version que vous spécifiée lors de la suppression d'une ligne est plus grande que la version de n'importe quelle valeur de la ligne, vous pouvez considérer que la ligne complète est supprimée. la ligne complète est supprimée.

La ligne est "marquée" comme supprimée et n'est pas incluse dans les données extraites, mais les données sont toujours présentes. Lors du compactage, les données supprimées sont supprimées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X