la production ObjectDB est-elle prête?

Dans cette référence, ObjectDB est la firebase database la plus rapide: http://www.jpab.org/All/All/All.html

Mais je ne vois pas d’autres résultats de benchmark d’ObjectDB. Est-ce que quelqu’un utilise ObjectDB? Est-ce que la production est prête? Quelles sont les expériences?

Je l’ai utilisé pour de nombreux projets et produits, tant sur le plan professionnel que personnel. Je l’utilise depuis un peu plus de 5 ans maintenant. Ce sont mes expériences:

Disclaimer: Je possède une licence de serveur et une licence OEM, et au fil des années, je dois connaître le (s) créateur (s). Je n’ai aucune autre relation commerciale avec la société ObjectDB – en d’autres termes, je ne gagne rien commercialement si elles vendent plus de copies. J’aime juste le produit.

Mes usages:

  1. Personnellement, je l’ai utilisé dans le cadre d’un produit commercial issu de mon phd, pour conserver les modèles UML2 / EMF. Ce sont des choses complexes avec de nombreuses classes et ObjectDB était le seul produit que je pouvais trouver capable de gérer la liaison complexe avec des performances adéquates. il a été un interprète stellaire dans cet environnement.

  2. travail lié: Je travaille dans une banque d’investissement et nous avons utilisé ObjectDB pour conserver les états du workflow et gérer la persistance dans un environnement de grande grid (> 2000 nœuds). Cela a très bien fonctionné dans cet environnement également.

En 2007, j’étais également consultant chez Gentleware et nous avons évalué ObjectDB par rapport à db4o, hibernate, etc. Il a surpassé toute concurrence par un ordre de grandeur près. C’était ma première expérience commerciale avec elle.

En conclusion, j’ai trouvé ObjectDB extrêmement rapide et solide. Nous l’avons testé jusqu’à 10 Go seuls sur les modèles UML2 et il n’y avait pas de problèmes là-bas. Je n’ai jamais vu une firebase database mourir sur moi ou être corrompue pendant tout mon temps d’utilisation. De plus, son encombrement est assez réduit. En bref, c’est un peu un héros méconnu dans l’espace.

Mes expériences concordent avec les tests jpab – ils rendent la lecture inconfortable pour les propriétaires d’autres produits, mais … peut-être que je ne suis pas complètement impartial à ce sujet – j’ai eu beaucoup de contacts avec le créateur d’ObjectDB années et les a poussés à libérer les repères. En particulier, je pense qu’ils devraient rendre le graphique linéaire plutôt que logarithmique – cela montre que les performances d’ObjectDB sont nettement meilleures dans la plupart des cas.

En passant, la raison pour laquelle vous ne trouverez pas beaucoup d’autres points de référence sur ce produit ou sur tout autre produit JPA est qu’aucun des fournisseurs ne peut généralement se mettre d’accord sur un indice de référence et accuser les autres de biais. J’ai vu cette première main plusieurs fois. Certaines personnes préfèrent les polepos, mais cela est dominé par db4o et ces personnes ne publieront pas les résultats dn par exemple. Certains fournisseurs de bases de données ne permettent pas les résultats, etc. C’est un champ de mines et les créateurs d’ObjectDB ne sont pas différents ici. Tout le monde aime contrôler son propre sharepoint repère 😉

Bref, pour faire court, mon expérience honnête est que ObjectDB est très rapide, prêt pour la production (depuis plusieurs années à 1.x) et bien supporté. C’est un très bon produit.

Nous utilisons Object DB dans notre startup depuis un peu plus de 5 mois. Nous avons longtemps hésité avant de choisir objectDB après avoir examiné différentes technologies (RDBMS, Graph db et object db). Nous développons une application métier basée sur le Web et nous avions un ensemble d’exigences pour notre couche de persistance. Nous avons examiné entre autres: MySQL, PostgreSQL, Derby, Db4o, ObjectivityDB, Prest, Ozone, Neadatis ODB, Neo4j, OrientDB

Nos exigences étaient les suivantes:

  • Produit mature pour la stabilité
    ObjectDB a plus de 6 ans – Dans la version 2.2.9 à l’heure actuelle
  • Soutenu par une communauté
    Nous voulions nous assurer que quelqu’un puisse nous aider si nous avons un problème et jusqu’à présent, nous sums très satisfaits de la rapidité avec laquelle nous obtenons des réponses à nos questions. La communauté pourrait être plus grande mais très active.
  • Vitesse de développement
    Pour une agilité et une fonctionnalité rapide, le traitement d’une firebase database d’objects est incroyablement simple et rapide. Nous avons considéré RDBMS + Hybernate mais c’était lent et un peu compliqué
  • Capable de supporter une charge lourde
    Rien de scientifique ici, mais nous voulions être certains que le système pouvait traiter un grand nombre de demandes simultanées. Nous avons testé jusqu’à 1000 requêtes simultanées, un mélange de requêtes indexées, de mises à jour d’objects, de créations et de suppressions et de mises à jour de collections pour essayer d’imiter la charge sur notre application. ObjectDB est sorti dans le top 2
  • Vite
    Même chose ici, nous avons utilisé le même type de requêtes et les avons chronométrés, nous avons également augmenté la charge de ce que nous pensons être une estimation raisonnable de notre charge de poste en direct et encore ObjectDB était constamment dans le top 2
  • Capable de gérer une grande quantité de données
    Nous avons progressivement augmenté le nombre de clients de notre firebase database à 5 millions de clients (un peu optimiste) avec 1 à 5 commandes chacun et vérifié les performances. Il n’y a pas eu de baisse significative de la performance (avec les bons index en place!)
  • Open source / cheap
    Petit problème lié au fait de ne pas avoir access à la source lors de l’utilisation de GWT et occasionnant parfois des problèmes de sérialisation des collections gérées et des dates (bien qu’une solution existe)
  • Soutien JPA
    Si possible, nous voulions que le support JPA ou JDO s’intègre facilement aux frameworks existants (Spring) et soit rassuré sur le pire qui puisse arriver à un ancien système RDMS – même si je dois dire que la persistance des objects est si facile et transparente Il est parfois difficile de respecter les exigences de l’APP.

Au total, ObjectDB était constamment au top 2 de nos concurrents, parfois le premier, parfois le second. La fréquence des corrections de bogues et des nouvelles fonctionnalités est également impressionnante.

J’espère que cela aidera, si je dois quelque temps avant notre mise en ligne (au début de l’année prochaine) pour mettre nos résultats dans un format présentable, je vais essayer de les publier ici.

Je ne ferais pas confiance à ce sharepoint référence sans vérification indépendante. Si vous vérifiez les informations de copyright, le site appartient et est exploité par les propriétaires de ObjectDB!

Cela dit, je n’ai aucune donnée pour contrer leurs revendications, je ne les prendrais pas pour argent comptant.

J’utilise également ObjectDB depuis de nombreuses années (je pense 7 ans) dans une capacité commerciale. Notre société a deux produits qui utilisent la firebase database (les deux versions intégrées). L’un de nos produits affiche des informations sur les signaux envoyés entre des appareils mobiles (téléphones mobiles, par exemple) et un réseau simulé. Bien que nous ayons créé une firebase database distincte pour chaque test que nous exécutons, nous pouvons souvent enregistrer jusqu’à 1 Go de données XML équivalentes dans la firebase database.

Les vitesses d’enregistrement des données sont très rapides (normalement plus rapides que de demander à Windows de copier le fichier XML équivalent). La vitesse de récupération est excellente, ce qui nous permet de faire défiler des milliers (voire des dizaines de milliers) d’éléments représentés graphiquement, comme si vous parcouriez un répertoire de fichiers de l’explorateur Windows.

ObjectDB est un excellent produit avec lequel j’espère continuer à travailler. Lorsque nous avons développé nos produits, nous avons rencontré un problème étrange (même si nous n’avons pas eu à signaler une seule chose aussi longtemps que je me souvienne), mais la rapidité avec laquelle nous avons résolu chaque problème a été la meilleure. jamais rencontré.

Pour répondre à votre question de “Est-ce que cette production est prête” bien, à mon avis, c’est très certainement.

Je teste ObjectDB sur un petit projet. Voici mes remarques:

  • Il n’y a pas beaucoup de documentation / tutoriel lorsque vous travaillez avec JDO. Vous avez beaucoup plus de documentation avec JPA.
  • Les tutoriels sont trop simples et éloignés de la réalité.
  • J’ai rencontré 2 bogues dans DatabaseExplorer. Mais il a été rapidement corrigé dans la nouvelle version.
  • Le support du forum est très bon, j’ai reçu une réponse rapidement.

Comparé à Versant DB avec le même projet et ObjectDB est plus simple pour commencer.

Le benchmark standard de l’indussortinge est,

http://www.spec.org/jEnterprise2010/

qui utilise fortement JPA

Notez qu’il teste l’intégralité du serveur Java EE, pas seulement JPA, mais que JPA constitue la partie la plus importante du benchmark. Les principaux produits JPA ont soumis des résultats via leurs serveurs d’applications respectifs.

SpecJ n’est pas aussi facile à comparer les produits que les résultats de JPAB, car la plupart des résultats sont sur du matériel différent, mais les résultats sont tous examinés par des pairs. Il s’agit également d’une application réelle simulée, avec plusieurs utilisateurs, une firebase database volumineuse, des exigences de concurrence et d’isolation et la plupart des résultats sont sur un cluster.

Il n’y a aucun résultat ObjectDB disponible, mais en théorie, puisque ObjectDB prend en charge JPA, il devrait être possible d’exécuter SpecJ sur ce dernier et de le comparer à d’autres produits.

Je ne ferais pas confiance à cette référence sans vérification indépendante. Si vous vérifiez les informations de copyright, le site appartient et est exploité par les propriétaires de ObjectDB!

Plus important encore, les données sont une chose, des explications une autre. Et il y a vraiment une explication à la raison pour laquelle il devrait être plus rapide par une ampleur. Cela, et le fait que les tests de performance affichés sur leur site Web sont TRÈS faibles et ne montrent donc qu’une très petite partie de l’image, me semble très étrange.

Mon expérience (en général, pas avec ObjectDB) est que, par exemple, la mise en veille prolongée dépend du type de charge de travail et que, si vous devez migrer une firebase database, vous devez ajuster le comportement d’hibernation pour obtenir des performances correctes. ObjectDB prend-il en charge la mise en cache? Est-ce que cela excelle uniquement dans les scénarios de débit élevé qui détruisent les caches?

Mettre à jour

Je viens de lire http://www.objectdb.com/database/forum/259 . La némésis typique de la vitesse est, devinez quoi, la cohérence. Il semble que ObjectDB ne supporte aucun modèle de concurrence raisonnable. Donc, c’est simplement un magasin NoSQL?