Existe-t-il une implémentation open source connue du B+ Tree
Structure de données dans Erlang?Structure de données arborescente B + dans Erlang
Répondre
Je recommande fortement de regarder dans l'application eleveldb
si vous avez vraiment besoin d'un arbre B +. Le point étant que vous voulez stocker des données dans les feuilles d'un arbre, hors ligne sur le disque, car c'est là que les arbres B + sont normalement une option. Il y a aussi une variante en Erlang pur de LevelDB appelée hanoidb
qui est aussi très jolie, écrite par Kresten Krab Thorup. Même zone d'utilisation
Si vous avez besoin d'un stockage en mémoire, vous devriez regarder ETS ou Mnesia (ce dernier pour la distribution). Dans Erlang, ces solutions ont tendance à être les plus rapides car vous avez l'avantage de ne jamais toucher le disque. C'est particulièrement vrai si vous pouvez faire des recherches de clé/valeur standard sur vos données sans avoir besoin de courir dans le contexte transactionnel dans Mnesia (faire des lectures sales). La vitesse de recherche typique est alors de 5 à 10 nanosecondes.
Je ne connais pas de bibliothèque autonome. Cependant, le CouchDB source code est très lisible et bien implémenté.
Juste une alternative si vous ne voulez pas pirater les systèmes de base de données open source:
Chris Okasaki Structures de données fonctionnelles Purement peuvent vous donner un aperçu de la mise en œuvre par vous-même. B + arbre lui-même n'est pas si compliqué de mon expérience.
Je recommande d'utiliser gb_trees si vous voulez à la fois un stockage en mémoire et quelque chose de plus bas niveau (dans un sens) que ets et Mnesia.
- 1. Structure de données arborescente
- 2. Structure arborescente dans application.properties
- 3. Afficher les données dans la structure arborescente
- 4. meilleure structure arborescente pour les données multidimensionnelles
- 5. comment analyser une structure de données arborescente?
- 6. Construire une structure arborescente
- 7. Pathname à une structure arborescente
- 8. Structure arborescente multi-racine
- 9. Structure arborescente avec Jekyll
- 10. Comment stocker la structure de données arborescente dans objc
- 11. Structure arborescente pour AST
- 12. équilibrée structure de données arborescente qui redimensionne aux dimensions premiers
- 13. Visualisation de la structure arborescente
- 14. Structure arborescente complexe Entity Framework
- 15. Comment créer une structure arborescente
- 16. Comment stocker des données avec une structure arborescente dans Julia
- 17. Structure arborescente (hiérarchique) dans Hibernate et GAE
- 18. plugin structure arborescente pour vim
- 19. Structure arborescente de SQL vers HTML UL
- 20. Comprendre le temps d'exécution pour une structure de données arborescente
- 21. XSLT: Marcher une structure arborescente
- 22. Gson, sérialiser une structure arborescente
- 23. Optimisation de la structure de contrôle arborescente
- 24. Implémentation de la structure arborescente UITableView
- 25. Dans une structure de données arborescente, afficher les nœuds de l'arborescence niveau par niveau
- 26. Copier-Coller des données avec une structure arborescente
- 27. parallèles « insertions » dans une structure arborescente binaire dans Haskell
- 28. nœuds Parse dans une structure arborescente Java vecteur de chaînes
- 29. RDMBS: Approche pour accéder efficacement aux données de structure arborescente contenues dans une base de données
- 30. Comment stocker la structure arborescente via JPA?