2011-01-13 3 views
0

Est-ce que berkeley db a autoincrement?autonicrement berkeley db, ou la liste

J'utilise java pour les tests,

j'ai vu l'exemple: collections.ship.tuple.Sample où l'auteur utilise un StoredSortedMap pour traiter les données, il a donc besoin de mettre une touche à chaque fois. Je voudrais savoir si le Berkeley a des trucs auto-incrustés.

Ou s'il y a une sorte de liste pour être stockés et récupérés ...

Répondre

4

David Segleau, directeur de la gestion des produits pour Berkeley DB ici. Généralement, nous recommandons que les gens posent des questions sur les forums de Berkeley DB. Vous y trouverez une grande communauté de développeurs d'applications Berkeley DB actifs.

La réponse courte à votre question est que Berkeley DB a des services d'auto-incrémentation disponibles. Vous devez juste décider comment vous voulez les utiliser. Ces options comprennent:

  1. Mettez le code dans votre application. Étant donné que BDB est une bibliothèque et qu'elle est liée à votre application, de nombreuses personnes contrôlent simplement la génération de clés à incrémentation automatique dans l'application elle-même. Bien sûr, cela peut être un peu plus compliqué si vous développez une application multi-thread ou multi-processus.
  2. Utilisez la séquence Berkeley DB pour gérer l'auto-incrémentation. Si vous utilisez l'API de paire clé/valeur de base ou l'API Collections (comme dans votre cas), vous pouvez créer une séquence BDB, appeler les routines appropriées pour obtenir la valeur suivante, puis affecter cette valeur à la clé avant d'écrire l'enregistrement. Comme les séquences BDB sont protégées transactionnelles et fonctionnent dans un environnement BDB, toutes les problématiques multi-threading ou multi-processus sont prises en charge par la bibliothèque BDB. Vous trouverez plus d'informations sur les séquences BDB dans le chapitre 19 du Guide de référence BDB et dans le Java API Programmers Reference Guide.
  3. Si vous utilisez l'API DPL (Direct Persistence Layer), vous pouvez définir la clé primaire en tant que séquence. La DPL prendra alors automatiquement soin d'incrémenter la valeur de la clé lors d'une opération put().

J'espère que cela a été utile.

Cordialement,

Dave

Questions connexes