Quel est l'intérêt d'utiliser des fichiers "Berkeley DB" plutôt que le
module "Storable" ? Pour les grandes quantités de données je pense que
les "Berkeley DB" sont conseillées. Mais sinon le module "Storable" a
l'air très rapide.
Est-il possible de stocker une table de hachage dans un fichier
"Berkeley DB", de la même façon que l'on peut faire des tables de
hachage de tables de hachage.
Je cherche des documentations sur les fichiers "Berkeley DB" en général
et leur utilisation avec Perl en particulier.
J'avoue ne pas avoir bien saisie les notions de DB_HASH, DB_BTREE,
et DB_RECNO (Queue n'est pas supporté ?)
Quelle sont les différences entre les versions 2, 3, 4 des fichiers
"Berkeley DB" supportés plus les modules DB_File, BerkDB, BerkeleyDB ?
Je suis preneur de toutes informations, liens, livres, ...
Merci,
--
Bruno Ethvignot
http://mozilla.tlk.fr/contact.php
http://linux.tlk.fr/contact.php
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent Wacrenier
Bruno Ethvignot écrit:
Je cherche des documentations sur les fichiers "Berkeley DB" en général et leur utilisation avec Perl en particulier. J'avoue ne pas avoir bien saisie les notions de DB_HASH, DB_BTREE, et DB_RECNO (Queue n'est pas supporté ?)
HASH est une table de hashage, elle permet d'avoir accès en un temps constant aux données.
BTREE est un arbre binaire, le temps d'accès est proportionel au logarithme du nombre d'enregistrements, par contre les clefs sont triées et il est possible (en option) qu'une clef référence plusieures valeurs.
RECNO sert à acceder à une liste d'enregsistrement. Il n'y a pas de clef, mais des numéros d'enregistrement.
Quelle sont les différences entre les versions 2, 3, 4 des fichiers "Berkeley DB" supportés plus les modules DB_File, BerkDB, BerkeleyDB ?
Plus le numéro de version est grand, plus les possibilités sont nombreuses. Il y a des possibilités de plus en plus interessantes comme le partage de la base avec d'autres processus, d'autres types de de base (les queues), des curseurs, des transactions, des clefs multiples, etc.
DB_File normalement accède au format DB1 (le format historique de Berkeley)
Les autres (tout au moins BerkeleyDB) à DB 2 , 3 et 4.
Bruno Ethvignot <b.ethvignot@webshaker.net> écrit:
Je cherche des documentations sur les fichiers "Berkeley DB" en général
et leur utilisation avec Perl en particulier.
J'avoue ne pas avoir bien saisie les notions de DB_HASH, DB_BTREE,
et DB_RECNO (Queue n'est pas supporté ?)
HASH est une table de hashage, elle permet d'avoir accès en un temps
constant aux données.
BTREE est un arbre binaire, le temps d'accès est proportionel au
logarithme du nombre d'enregistrements, par contre les clefs sont
triées et il est possible (en option) qu'une clef référence plusieures
valeurs.
RECNO sert à acceder à une liste d'enregsistrement. Il n'y a pas de
clef, mais des numéros d'enregistrement.
Quelle sont les différences entre les versions 2, 3, 4 des fichiers
"Berkeley DB" supportés plus les modules DB_File, BerkDB, BerkeleyDB ?
Plus le numéro de version est grand, plus les possibilités sont
nombreuses. Il y a des possibilités de plus en plus interessantes
comme le partage de la base avec d'autres processus, d'autres types de
de base (les queues), des curseurs, des transactions, des clefs
multiples, etc.
DB_File normalement accède au format DB1 (le format historique de
Berkeley)
Les autres (tout au moins BerkeleyDB) à DB 2 , 3 et 4.
Je cherche des documentations sur les fichiers "Berkeley DB" en général et leur utilisation avec Perl en particulier. J'avoue ne pas avoir bien saisie les notions de DB_HASH, DB_BTREE, et DB_RECNO (Queue n'est pas supporté ?)
HASH est une table de hashage, elle permet d'avoir accès en un temps constant aux données.
BTREE est un arbre binaire, le temps d'accès est proportionel au logarithme du nombre d'enregistrements, par contre les clefs sont triées et il est possible (en option) qu'une clef référence plusieures valeurs.
RECNO sert à acceder à une liste d'enregsistrement. Il n'y a pas de clef, mais des numéros d'enregistrement.
Quelle sont les différences entre les versions 2, 3, 4 des fichiers "Berkeley DB" supportés plus les modules DB_File, BerkDB, BerkeleyDB ?
Plus le numéro de version est grand, plus les possibilités sont nombreuses. Il y a des possibilités de plus en plus interessantes comme le partage de la base avec d'autres processus, d'autres types de de base (les queues), des curseurs, des transactions, des clefs multiples, etc.
DB_File normalement accède au format DB1 (le format historique de Berkeley)
Les autres (tout au moins BerkeleyDB) à DB 2 , 3 et 4.
Michel Rodriguez
Bruno Ethvignot wrote:
Quel est l'intérêt d'utiliser des fichiers "Berkeley DB" plutôt que le module "Storable" ? Pour les grandes quantités de données je pense que les "Berkeley DB" sont conseillées. Mais sinon le module "Storable" a l'air très rapide.
Les 2 ne sont pas utilises du tout de la meme facon: avec Storable tu sauvegarde une structure de donnees qui peut etre complexe mais a priori tient en memoire, sur disque, et tu peux la relire plus tard. Avec Berkeley DB tu met un hash, rien de plus complique, mais il peut etre plus gros que ta memoire, sur disque, et tu peux acceder a ses valeurs sans avoir besoin de le charger entierement en memoire. Si tu veux des structures de donnees plu scomplexes il faut que tu gere toi-meme leur "serialisation" (ceci dit ca m'etonnerait qu'il n'y ait pas de modules CPAN qui fasse cela).
Est-il possible de stocker une table de hachage dans un fichier "Berkeley DB", de la même façon que l'on peut faire des tables de hachage de tables de hachage.
Je cherche des documentations sur les fichiers "Berkeley DB" en général et leur utilisation avec Perl en particulier. J'avoue ne pas avoir bien saisie les notions de DB_HASH, DB_BTREE, et DB_RECNO (Queue n'est pas supporté ?)
Pour les utiliser, regarde la doc de GDBM_File, c'est vraiment simple. Sinon voit http://sleepycat.com/
-- Michel ROdriguez Perl & XML http://www.xmltwig.com
Bruno Ethvignot wrote:
Quel est l'intérêt d'utiliser des fichiers "Berkeley DB" plutôt que le
module "Storable" ? Pour les grandes quantités de données je pense que
les "Berkeley DB" sont conseillées. Mais sinon le module "Storable" a
l'air très rapide.
Les 2 ne sont pas utilises du tout de la meme facon: avec Storable tu
sauvegarde une structure de donnees qui peut etre complexe mais a priori
tient en memoire, sur disque, et tu peux la relire plus tard. Avec
Berkeley DB tu met un hash, rien de plus complique, mais il peut etre
plus gros que ta memoire, sur disque, et tu peux acceder a ses valeurs
sans avoir besoin de le charger entierement en memoire. Si tu veux des
structures de donnees plu scomplexes il faut que tu gere toi-meme leur
"serialisation" (ceci dit ca m'etonnerait qu'il n'y ait pas de modules
CPAN qui fasse cela).
Est-il possible de stocker une table de hachage dans un fichier
"Berkeley DB", de la même façon que l'on peut faire des tables de
hachage de tables de hachage.
Je cherche des documentations sur les fichiers "Berkeley DB" en général
et leur utilisation avec Perl en particulier.
J'avoue ne pas avoir bien saisie les notions de DB_HASH, DB_BTREE,
et DB_RECNO (Queue n'est pas supporté ?)
Pour les utiliser, regarde la doc de GDBM_File, c'est vraiment simple.
Sinon voit http://sleepycat.com/
--
Michel ROdriguez
Perl & XML
http://www.xmltwig.com
Quel est l'intérêt d'utiliser des fichiers "Berkeley DB" plutôt que le module "Storable" ? Pour les grandes quantités de données je pense que les "Berkeley DB" sont conseillées. Mais sinon le module "Storable" a l'air très rapide.
Les 2 ne sont pas utilises du tout de la meme facon: avec Storable tu sauvegarde une structure de donnees qui peut etre complexe mais a priori tient en memoire, sur disque, et tu peux la relire plus tard. Avec Berkeley DB tu met un hash, rien de plus complique, mais il peut etre plus gros que ta memoire, sur disque, et tu peux acceder a ses valeurs sans avoir besoin de le charger entierement en memoire. Si tu veux des structures de donnees plu scomplexes il faut que tu gere toi-meme leur "serialisation" (ceci dit ca m'etonnerait qu'il n'y ait pas de modules CPAN qui fasse cela).
Est-il possible de stocker une table de hachage dans un fichier "Berkeley DB", de la même façon que l'on peut faire des tables de hachage de tables de hachage.
Je cherche des documentations sur les fichiers "Berkeley DB" en général et leur utilisation avec Perl en particulier. J'avoue ne pas avoir bien saisie les notions de DB_HASH, DB_BTREE, et DB_RECNO (Queue n'est pas supporté ?)
Pour les utiliser, regarde la doc de GDBM_File, c'est vraiment simple. Sinon voit http://sleepycat.com/
-- Michel ROdriguez Perl & XML http://www.xmltwig.com