Qu’est-ce qui est plus rapide: JDBC ou JNDI?

J’ai deux options pour configurer ma connexion de firebase database d’application – l’une utilisant JDBC, l’autre utilisant JNDI. Quelle sera la meilleure option en termes de rapidité avec laquelle ces types de connexion fonctionnent avec la firebase database.

Je comprends que ce sont deux types différents de connexions de firebase database utilisant des principes différents (JDBC est une connexion directe à une firebase database, JNDI est une configuration de pool de connexions de firebase database côté serveur d’applications). Mais existe-t-il d’autres avantages et inconvénients généraux de JDBC / JNDI qui pourraient être plus importants que la vitesse de fonctionnement? Si oui, de quoi s’agit-il?

Je parie que vous voulez dire, c’est choisir

  1. créer une connexion de source de données ou jdbc manuellement dans votre application, ou
  2. configurer la source de données dans le conteneur et application la rechercher via JNDI

Si c’est le cas, tenez-vous-en à 2 si possible.

Les principales raisons de ce choix ne sont jamais les différences de performances. La raison pour laquelle on s’en tient à 2 est que dans la plupart des cas, vous avez besoin de 2 fonctionnalités plus avancées à partir du conteneur, par exemple, la transaction dissortingbuée.

Une connexion à une firebase database utilise toujours JDBC. Avec JNDI, vous enregistrez une source de données dans un service de répertoire auquel vous pouvez accéder par son nom. Ainsi, JDBC et JNDI sont complètement différents et non interchangeables.

C’est ce que j’ai trouvé sur JNDI et JDBC.

JNDI: Il s’agit d’une technologie qui fonctionne comme un annuaire téléphonique qui permet de rechercher le nom sur le serveur et la source de données à distance.

JNDI crée un pool de connexions. Le pool de connexions est un environnement sur le serveur où sont encapsulés JNDI et la firebase database pour la connectivité Type4.

JDBC: API Java permettant aux programmes Java d’exécuter des instructions SQL. Cela permet aux programmes Java d’interagir avec toute firebase database compatible SQL.

JDBC est similaire à ODBC, mais est spécialement conçu pour les programmes Java, alors qu’ODBC est indépendant du langage.

JDBC a été développé par Sun Microsystems. JNDI est plus rapide et efficace.

Pas tout à fait clair sur la question.

JNDI n’est pas un type de connexion à une firebase database. Vous pouvez utiliser JNDI pour rechercher une source de données, qui est une fabrique pour les connexions. La source de données fait cependant partie de l’API JDBC, aussi JNDI fonctionne-t-il avec JDBC plutôt que d’être une alternative ici.

Parlez-vous de l’utilisation de JDBC par rapport à une firebase database pour des informations d’annuaire, par opposition à l’utilisation de JNDI par rapport à un référentiel LDAP?

L’avantage réel de la vitesse provient de la possibilité de réutiliser les connexions aux bases de données.

Par conséquent, vous devez utiliser une approche fournissant le regroupement des connexions à la firebase database, puis utiliser la technologie appropriée pour accéder au pool. Selon l’implémentation, il peut s’agir de JDBC (si le pilote le supporte lui-même) ou de JNDI, ou quelque chose de complètement différent.

Si votre application s’exécute dans un conteneur Web, il est courant d’utiliser JNDI pour permettre la configuration et la gestion du pool dans le conteneur Web plutôt que dans votre application.

Comme indiqué dans les réponses précédentes, l’utilisation de Datasource est identique à celle de JDBC en termes de technologie.

Néanmoins, l’utilisation d’une source de données est généralement la méthode préférée, car vous avez ainsi le serveur qui gère vos pools de connexions à la firebase database.

L’utilisation du regroupement de connexions n’affecte pas le code de l’application. Il ne nécessite aucune modification de code pour l’application car l’application effectue une recherche sur un nom JNDI d’une source de données précédemment enregistrée. Si la source de données spécifie une implémentation de pool de connexions lors de l’enregistrement JNDI (comme décrit dans la section Création d’une source de données à l’aide du Gestionnaire de pool de connexions DataDirect ), l’application client bénéficie de connexions plus rapides via le regroupement de connexions.

La question n’a pas de sens. Plus rapide à quoi? Il n’y a rien à comparer. JDBC est une interface polyvalente pour les bases de données relationnelles. JNDI est une interface polyvalente pour les systèmes de nommage. La forte probabilité est que l’efficacité de l’un ou l’autre dépend à 99% du système cible avec lequel on communique. Dans tous les cas, les bases de données relationnelles et les systèmes de dénomination répondent à des besoins totalement différents et en grande partie non comparables. Habituellement, JNDI est utilisé pour obtenir une connexion, puis JDBC est utilisé pour fonctionner avec cette connexion.