Base de donnée locale en Java

Suggérez moi des bases de données relationnelles pour Java s'utilisant en local et ne nécessitant pas de serveur externe

a marqué ce sujet comme résolu.

Bonjour à tous,

J'envisage de me faire un logiciel en Java pour naviguer à travers les données nutritionnelles alimentaires de Santé Canada. Les fichiers sont disponibles gratuitement sous forme de fichiers représentant une base de donnée relationnelle. Les fichier sont disponible en format csv ou Excel, mais j'aimerais les convertir dans une base de donnée relationnelle que je puisse utiliser en local avec mon logiciel et qui ne nécessite pas l'usage un logiciel de serveur de BDD externe.

La base de donnée est assez consistante et contient au moins 5000 aliments différents ainsi que la teneur de chacun pour chacun des nutriments. J'aimerais donc quelque-chose de rapide à l'exécution.

Évidemment, je souhaite quelque chose de gratuit et possiblement redistribuable…

Salutations, Olivier

Hello,

Je me vois obligé de contredire nohar sur ce point : il y sans doute des bindings SQLite pour Java, mais c'est une solution à éviter (parce qu'elle t'oblige à embarquer du code natif).

Il vaut mieux utiliser un SGBD en Java pur, comme HSQLDB ou Apache Derby.

Merci de vos réponses rapide, Ma petite recherche sur le web m'orientait effectivement vers Java DB (Derby). Par contre, je viens de voir que Java DB ne semble pas disponible sur Android et j'aurais aimé plus tard faire aussi une version Android utilisant le même fichier de BDD…

Pour commencer, parce que les natives. Un SGBD Java pure fonctionne normalement quelle que soit la JVM (à niveau de langage compatible), quand une version bindée risque des surprises.

Et franchement, les performances et fonctionnalités de HSQLDB, Derby etc face à SQLite ne donnent pas vraiment de raison logique d'utiliser ce dernier. Le raisonnement est plus dans ce sens.

C'est intéressant.

On était parti sur SQLite pour sa simplicité de mise en place (pas besoin de service SQL, donc pas de user/password et pas de port/socket à ouvrir). Les performances étaient bonnes (voir très bonnes) pour ce qu'on fait, donc on est resté là dessus.

Ça vaudrait peut-être le coup de refaire une comparaison entre HSQLDB, Derby et SQLite. Tu as déjà eu l'occasion de comparer leurs performances ?

Ça vaudrait peut-être le coup de refaire une comparaison entre HSQLDB, Derby et SQLite. Tu as déjà eu l'occasion de comparer leurs performances ?

Clems

Non, parce que si ton problème est dans les performances, c'est très probablement que tu as besoin d'un vrai SGBD. Par contre, les fonctionnalités sont intéressantes à comparer, par exemple le respect des contraintes de taille de champs et de certaines clés étrangères ou d'unicité, que SQLite peut joyeusement ignorer sans le moindre avertissement.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte