|
|
Bases de données - ZODB
ZODB est une base de données objet. Très prisée il y a quelques années, elle est aujourd’hui surtout utilisée avec le serveur d’application Zope.
|
|
|
|
|
On retrouve plus souvent la ZODB au sein du serveur applicatif ZOPE, qui est largement déployé pour les Web mais aussi pour des applications métier. En dehors de cette utilisation «par défaut » (puisque ZOPE ne peut fonctionner sans la ZODB), elle demeure un choix idéal pour les applications Python faisant appel à une persistence orientée objets : elle permet de stocker les données complexes de manière transparente, sans faire appel à une couche d'ORM supplémentaire.
Utilisateurs :
Communauté :
Fonctionnalité :
Robustesse :
Performance :
Documentation :
Facilité d'emploi :
| Recommandé par Bull |
-
|
| Supporté et intégré |
-
|
UTILISATEURS La base ZODB est largement utilisée dans tous les environnements Zope/Plone, et est donc largement répandue.
COMMUNAUTE La communauté ZODB est entièrement centrée sur Zope. C’est une communauté de petite taille, mais de très bonne qualité. L’accès «commiter» est assez facile à obtenir. Il y a une haute réactivité sur les patches. L’offre commerciale est portée par les sociétés expertes en Python/Zope (voir www.plone.net).
FONCTIONNALITES ZODB est un SGBDO puissant. Il est difficile de battre une base de données Zope quand il s'agit de récupérer des objets depuis une base de données, ce qui est un usage de plus en plus courant avec l'adoption massive des ORM. Il n’est pas aisé de comparer une base de données objet comme ZODB avec des bases relationnelles comme PostgreSQL ou MySQL… ; signalons tout de même la possibilité unique d'annuler des transactions même lorsque d'autres transactions ont été validées entre-temps.
ROBUSTESSE La technologie de ZODB est robuste. Pour obtenir de la haute disponibilité, il faut néanmoins faire appel à l'offre commerciale ZRS - Zope Replication Services - ou bien mettre en place des configurations complexes.
PERFORMANCE La scalabilité par rapport au nombre d'objets n'est pas exceptionnelle. Il est par contre possible de partitionner relativement facilement les données sur plusieurs serveurs. Il est possible d'obtenir d'excellentes performances avec ZODB, mais cela demande généralement un niveau d'expertise plus important qu'avec une base SQL classique.
DOCUMENTATION La documentation est relativement succincte, ce qui explique que même pour des développements Python, on lui préfère souvent un ORM comme SQLAlchemy.
FACILITE D’EMPLOI ZODB est intégrée à Zope. La forte dépendance de Zope à une version précise de Python ne rend pas toujours aisé le déploiement de versions récentes sur des distributions à cycle long (type RHEL) qui ont en général des versions de Python anciennes (cycle long oblige). Intrinsèquement, la ZODB ne propose pas vraiment d'interface d'administration et n'en nécessite pas, car elle se situe un peu plus bas applicativement que les autres bases de données.
Contributeurs à cette fiche : Jérôme Petazzoni (Pilot Systems), Guillaume Smets (OpenWide),
|
Mettre en oeuvre  |
FORMATION |
SUPPORT |
MIGRATION |
DEVELOPPEMENT |
INTEGRATION |
Des services ZODB sont disponibles chez les intégrateurs Zope, dont notamment Pilot Systems.
Des services ZODB sont disponibles chez les intégrateurs Zope, dont notamment Pilot Systems.
Des services ZODB sont disponibles chez les intégrateurs Zope, dont notamment Pilot Systems.
Des services ZODB sont disponibles chez les intégrateurs Zope, dont notamment Pilot Systems.
Des services ZODB sont disponibles chez les intégrateurs Zope, dont notamment Pilot Systems.
|
|
|
|