¿Cuál de las siguientes bases de datos es mejor para una gran aplicación de escritorio: Firebird, JavaDB, hsqldb? Necesito rendimiento, fácil de usar y licencia totalmente gratuita.¿Cuál es la mejor base de datos para usar en una aplicación de escritorio Java?
Respuesta
Si usted está buscando una base de datos integrable, mi recomendación sería H2 (siglas de Hypersonic 2, (re) escrito por el autor de HSQLDB). Vea el detailed comparison of features y el performances.
Usar una base de datos 100% Java permitiría ejecutarlo en el mismo proceso y facilitar las cosas mucho más.
H2 parece muy bueno. – BalusC
@BalusC He dejado caer hsqldb y javadb a favor del H2, me encanta. Y su [modo de compatibilidad] (http://www.h2database.com/html/features.html#compatibility) (puede "comportarse", digamos, Oracle, DB2, etc.) es maravilloso para probar. –
Oye, eso es bueno. Debo admitir que no sabía que significa Hypersonic 2. Ese será un nuevo juguete para jugar tarde o temprano :) – BalusC
Depende de los requisitos y la cantidad de datos. Mi última elección fue MySQL y era muy cómodo (aplicación columpio)
Déjeme recomiendo el Postgres (http://www.postgresql.org/ ), que es uno de los mejores de dominio público DB que conozco.
Tuve una experiencia con este DB en mi proyecto anterior, en el cual teníamos ~ 20 tablas en el esquema, la tabla más grande tenía ~ 100,000 filas, y la cantidad total de datos no era tan grande.
Este proyecto se está ejecutando en producción durante más de 2 años, y no hubo ningún problema especial con él.
Shay
Si está enviando una aplicación de escritorio, es probable que no sea necesario que los usuarios instalen una aplicación de base de datos por separado, por lo tanto, el OP ha sugerido JavaDB y hsqldb, ambos pueden integrarse en aplicaciones Java. Aunque no estoy seguro de cómo encaja Firebird en eso. Por supuesto, esto no es de ninguna manera una incursión en Postgres, que en mi opinión es la elección obvia siempre que se requiera una base de datos: escritorio o servidor. – Geoff
Creo que estarás mejor con una base de datos incrustada para esto. HSQLDB o H2 funcionaría, al igual que SQLite. SQLite es bastante popular fuera del mundo Java (es utilizado por el proyecto Mozilla, por ejemplo). No estoy familiarizado con JavaDB, por lo que no puedo hablar de sus capacidades.
SQLite es conocido por ser bastante rápido.
Me gustaría un DBMS que es no específico de Java. Es posible que desee compartir sus datos con una aplicación C++ o .NET algún día. Si no necesita ser cliente/servidor, considere SQLite o H2. Si lo hace, entonces considere Postgres. Todos estos tienen controladores ODBC y/o controladores para lenguajes específicos distintos de Java.
Firebird es muy buena base de datos especialmente para aplicaciones de escritorio
No es buen conductor de Java.
Especialmente para 'grandes aplicaciones de escritorio'. Firebird escala a cientos de gigabytes y más. –
Mi recomendación es H2. Recientemente migré un archivo db (del servidor MS SQL) que incluye 2 tablas más grandes con más de 2 millones de filas cada una. Primero probé Derby y tuve problemas (no solo de rendimiento), luego cambié a H2 y migré todo con éxito.
- 1. ¿Cuál es la mejor manera de conservar datos en una aplicación de escritorio Java?
- 2. ¿Cuál es la mejor manera de almacenar/recuperar datos para un escritorio sin usar una base de datos?
- 3. ¿Cuál es la mejor base de datos de objetos Java?
- 4. ¿Cuál es la mejor base de datos para usar con un programa Java?
- 5. ¿Cuál es el mejor tipo de datos para usar con dinero en la aplicación Java?
- 6. ¿Cuál es la "mejor" base de datos para incrustado?
- 7. ¿Cuál es la mejor forma de archivar datos en una base de datos Oracle?
- 8. ¿Cuál es la mejor biblioteca matemática para usar con Java?
- 9. Misma base de código para la aplicación iPhone/Escritorio
- 10. ¿Cuál es la mejor forma de almacenar datos individuales no repetitivos en una base de datos?
- 11. ¿Cuál es la mejor manera de conectar y usar una base de datos sqlite desde C#
- 12. ¿La mejor manera de guardar datos en una aplicación Java?
- 13. ¿Cuál es la mejor manera de controlar una aplicación de escritorio?
- 14. ¿cuál es el mejor alojamiento para la aplicación web java?
- 15. ¿Existe una "mejor" o más popular base de datos para la aplicación independiente de Java?
- 16. ¿Cuál es la mejor implementación para boolean en MySQL usando Java para conectarse a la base de datos?
- 17. ¿Cuál es la mejor práctica para almacenar detalles de conexión de base de datos en .NET?
- 18. ¿Cuál es la mejor manera de administrar la concurrencia en una aplicación de acceso a la base de datos?
- 19. ¿Se puede usar realmente CouchDB para una aplicación de escritorio?
- 20. ¿Cuál es la mejor manera de perfilar una base de datos sqlserver 2005 para el rendimiento?
- 21. ¿Cuál es la mejor arquitectura para la integración de CDR en una aplicación basada en Asterisk?
- 22. Java Framework de aplicación de escritorio
- 23. ¿Cuál es la mejor manera de guardar datos localmente en una aplicación WPF?
- 24. Cuál es la mejor aplicación de .dispose()
- 25. Mejor base de datos para la aplicación Node.js usando websockets
- 26. ¿Cuál es la mejor base de datos DLL-Base para .NET?
- 27. ¿Cuál es la mejor manera de guardar la configuración del usuario en la aplicación Java?
- 28. SQLCipher - Abrir una base de datos cifrada en el escritorio
- 29. Aplicación de escritorio en Java
- 30. ¿Cuál es la mejor forma de crear una base de datos en Rails?
Esta pregunta también tiene algunas buenas discusiones: http://stackoverflow.com/questions/41233/java-and-sqlite –
¿Qué desea almacenar en la base de datos? ¿Objetos? XML? tipos primitivos? – Catchwa
+1 para BalusC, debes aceptar la respuesta que desees para las preguntas que hagas, de lo contrario la gente no querrá responderte más. – dimo414