2014-09-04 3 views
1

J'ai une exigence de créer une édition d'applications de bureau d'une application Web basée sur les données. Cette application Web est actuellement en cours d'exécution sur la base de données MySQL.Quelle est la meilleure application de base de données pour travailler avec des données hors ligne?

Maintenant, selon mes besoins je dois créer une édition de bureau qui sera téléchargé à partir du-application Web ainsi que le fichier de données et il peut fonctionner sans connexion Internet sur la plate-forme Windows et Mac.

donc je ne peux pas maintenant utiliser MySql ici car il a besoin de connectivité avec le serveur de base de données. Donc, ma question est ce qui est la meilleure option maintenant à utiliser comme base de données dans mon édition de bureau qui peut être utilisé avec le fichier de données en mode hors connexion sans application serveur? Aussi, ce sera un point positif si la migration de MySql vers cette base de données nécessite un minimum d'effort.

Voici quelques considérations à prendre en considération:

  1. Il doit être capable de stocker des données blob.
  2. Il devrait avoir presque la même structure que sql MySql
  3. Il devrait soutenir cadre ORM comme Hibernate
  4. données MySql peuvent être transfert dans sa structure compatible.

S'il vous plaît me suggérer la meilleure option pour cela.

De plus, cette solution sera basé sur Java si je prévois d'utiliser JavaFX comme cadre UI. S'il vous plaît me suggérer s'il y a une autre meilleure option pour cela dans Java.

+0

Y a-t-il des raisons particulières pour ne pas considérer MySql? – ItachiUchiha

+0

Comme je l'ai mentionné, j'ai besoin d'une base de données sans serveur qui peut fonctionner hors ligne, donc je ne peux pas considérer MySQL. –

+2

SQLite, HSQL, Apache Derby ... –

Répondre

2

Vous pouvez intégrer les bases de données suivantes (entre autres) assez facilement dans une application portable:

  • H2 Database
  • HSQL Database
  • base de données Derby

Il est pratique courante d'utiliser l'un d'entre eux par défaut, mais permet également aux utilisateurs de configurer leur propre base de données. Donc, s'ils souhaitent utiliser leur propre base de données mysql, ils ont cette option.

1

Stack Overflow Similar question answered here

Ces bases de données intégrées vous permettent d'utiliser JDBC, JPA, Hibernate, vous pouvez donc bien utiliser le même code de communication/transaction base de données telle qu'elle était sur le point de terminaison de serveur d'applications Web, à l'exception des nouvelles exigences mais ... Personnellement, je préfère utiliser HSQL DB.

Questions connexes