Lorsque je pose cette question, je constate que la version actuelle de la base de données H2 a été publiée le 07-01-2011 (très récemment). C'est très bon et en bonne santé. Ce rythme sera-t-il respecté? Si le rythme des nouvelles versions est lent, sera-t-il pris en charge par la communauté Open Source à long terme?
Pour des raisons de coût, j’envisage actuellement d’utiliser Postgresql pour une application haute performance et la base de données H2 semble avoir le bon ensemble de fonctionnalités (essentiellement ce dont j’ai besoin). Je ne suis pas seulement sûr que ce serait une bonne décision d'utiliser H2. Fondamentalement, ma décision devrait être basée sur le support à long terme, que ce soit par abonnement ou par communauté.
Ce rythme sera-t-il respecté?
C'est le plan.
sera-t-il pris en charge par la communauté opensource sur le long terme?
Il est difficile de prédire l’avenir, je suppose que c’est la raison pour laquelle personne n’a encore répondu à votre question :-) Je suis sûr qu’il sera soutenu, car suffisamment de gens l’utilisent. Le H2 est utilisé dans de nombreux produits (open source et commerciaux). Beaucoup répondent régulièrement aux questions de la liste de diffusion. Actuellement, H2 n’a pas beaucoup de committers, notamment parce que les utilisateurs sont généralement satisfaits de ses fonctionnalités et que la vitesse de développement actuelle est suffisamment rapide et que la qualité du code est satisfaisante.
Le support par abonnement n’est actuellement pas disponible, mais cela est prévu pour l’avenir (il a toujours été prévu de fournir un support commercial à un moment donné). La raison pour laquelle il n’est pas encore disponible est que H2 n’a pas encore une part de marché suffisante pour créer une entreprise.
Juste pour fournir des informations supplémentaires, en 2010, nous sommes passés de H2 à MySQL pour nos grands fragments de base de données d'entreprise. La principale raison était que le moteur H2 interne est à thread unique. Lorsque des requêtes volumineuses non optimisées sont exécutées sur nos bases de données avec des centaines de milliers ou des millions de lignes, toutes les autres opérations de base de données s'arrêtent. Voir la documentation H2 pour plus d'informations. Le verrouillage des lignes de H2 semble relativement immature par rapport à MySQL ou à Postgres.
De plus, MySQL et Postgres fournissent également des mécanismes de réplication au lieu de les lancer vous-même. Cela nous permet également de sauvegarder notre système de base de données "en direct" de l'esclave au lieu de bloquer une base de données H2 pendant le vidage.
Enfin, bien que je n’aie pas exécuté ce test de performance, je soupçonne que bien que H2 s’éclaire rapidement pour les bases de données de taille petite à moyenne, à mesure que vous augmentez la taille de la base de données et en particulier le nombre de requêtes simultanées, MySQL et Postgres vont commencer à s’égaliser, puis optimiser ses performances globales - en particulier en ce qui concerne la distribution du temps de requête.
Nous continuons à utiliser H2 pour les boutiques, les mémoires et les bases de données d’essai avec beaucoup de succès. Merci beaucoup à Thomas pour cela!
H2 est un moteur de base de données formidable. Après avoir résolu un problème non lié à H2, nous sommes passés de PostgreSQL et MySQL (tous deux toujours pris en charge) à H2. H2 est devenu notre premier choix de base de données.
La vitesse est la raison principale, mais il y en a d'autres: le mode intégré est incroyable et nous donne la possibilité d'installer le logiciel sur un périphérique portable, voire de partager la base de données sur le cloud, via Dropbox!
Nous n'utilisons pas beaucoup de fonctionnalités, car nous sommes "dépendants de manière persistante" via "Datanucleus" (aucun déclencheur, procédure, etc.), mais notre application est suffisamment complexe pour que Push the H2! Et il livre parfaitement.
La raison en est que H2 a toujours continué à surperformer. En 2019, H2 est une superbe base de données. Nous l'utilisons dans toutes nos applications autonomes depuis 4 ans et nous constatons qu'il minimise l'écart entre SQLite et MySQL. Il fonctionne aussi vite ou plus vite que MySQL.
Où H2 est approprié?
Pourquoi est-il meilleur que SQLite?
Comparaison avec MySQL:
Comparaison avec PostgreSQL:
Il est plus facile à gérer tout en fournissant un support technique. Il peut être partagé aussi facilement qu’un glisser-déposer.