Foros del Web » Programación para mayores de 30 ;) » Java »

Donde se almacenan los datos en aplicaciones sin BBDD?

Estas en el tema de Donde se almacenan los datos en aplicaciones sin BBDD? en el foro de Java en Foros del Web. Hola a tod@s; Tengo una pequeña aplicacion Java que utiliza una base de datos no demasiado grande. Esta base de datos consta solo de una ...
  #1 (permalink)  
Antiguo 11/08/2005, 03:48
Avatar de Marta_81  
Fecha de Ingreso: julio-2005
Ubicación: El Norte
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Donde se almacenan los datos en aplicaciones sin BBDD?

Hola a tod@s;

Tengo una pequeña aplicacion Java que utiliza una base de datos no demasiado grande. Esta base de datos consta solo de una tabla con 8 campos (7 INT, 1 VARCHAR(30)). Tiene unos diez mil (10000) registros y no va a crecer en el futuro.
Ahora necesito hacer "portable" la aplicacion, a usuarios que no tienen que tener necesariamente instalada una BBDD, o que la tienen pero no la quieren configurar solo para esta aplicacion.
Aqui viene mi duda: dado el volumen de datos citado, cual es la mejor forma para "almacenar" los datos dentro de el paquete de la aplicacion?

- en un archivo de texto?
- en un archivo XML?
- en un archivo o archivos de otro tipo?

Como se suele hacer en software de este tipo? (partiendo de la base de que no puedo usar una BBDD).

Gracias,

Marta

Última edición por Marta_81; 11/08/2005 a las 03:54
  #2 (permalink)  
Antiguo 11/08/2005, 04:59
Avatar de Ani Alamo  
Fecha de Ingreso: julio-2005
Mensajes: 35
Antigüedad: 18 años, 9 meses
Puntos: 1
En cualquier formato que tú prefieras pero a título personal trabajaría mejor con un xml, porque sólo tendrías que recorrer nodo a nodo, sin tener que tú mismo encargarte de parsear los campos.
Puedes comenzar revisando esta URL para que parsees un documento XML usando un DOM.

http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/dom
__________________

Ani Alamo Gómez de González


"Sin Dios no soy nada en este mundo, sin El nada puedo ser... ni las hojas de los árboles se mueven, sino es por su gran poder. Bendito seas Señor."
  #3 (permalink)  
Antiguo 11/08/2005, 06:33
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Puestos a escoger, si vas a manipular los datos estilo BDD.... pues nada mejor que una BDD portable, con instalacion cero y 100% Java. Como por ejemplo HSQLDB.

http://hsqldb.sourceforge.net/
  #4 (permalink)  
Antiguo 12/08/2005, 03:51
Avatar de Marta_81  
Fecha de Ingreso: julio-2005
Ubicación: El Norte
Mensajes: 66
Antigüedad: 18 años, 9 meses
Puntos: 1
Gracias a todos por vuestras aportaciones.

Para el que le pueda interesar, recapitulo: Un par de BBDD portatiles, ambas codificadas en Java y ambas open source:

- hsqldb (http://hsqldb.org/). Al parecer es la continuacion del proyecto Hypersonic Sql, que ahora esta parado. Thanks GreenEyed.

- Derby (http://db.apache.org/derby/index.html): lo lleva la gente de Apache Foundation, despues de que hace unos años IBM liberara el codigo.

He bajado las dos para probar. Alguien que haya trabajado con ellas tiene alguna preferencia?

Y otra cosa: para el volumen de datos citado en el primer post, y teniendo en cuenta que la aplicacion hace muy pocas querys, creeis que merece la pena usar BBDD de este tipo, o por el contrario es mejor almacenar los datos en XML?

Un saludo,

Marta
  #5 (permalink)  
Antiguo 12/08/2005, 04:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Hola,

Yo trabajo con HSQLDB desde hace un tiempo sin demasiados problemas, y estoy bastante contento con ella, moviendola de un lado para otro sin demasiados problemas, simplemente copiando los ficheros que la forman y escribiendo el "connectString" como toca.

Derby... no he llegado a jugar con ella, ya que las veces que la he mirado la documentacion me ha parecido poco clara, liosa y llena de vaguedades. Quiza sea necesaria una documentacion complicada para usarla como BDD en servidor, etc, pero para utilizarla simplemente como BDD incrustada me parecio demasiado y como HSQLDB me va bien, pues no he llegado a probarla.

Con lo sencillo que es montar una BDD en memoria, yo te recomendaria que la usaras puesto que asi tienes transacciones, una interfaz estándar especializada en consultas (JDBC+SQL) y lo que aprendas/uses te servirá en un futuro para aplicaciones más complejas. Y seguramente el rendimiento será bastante mejor, puesto que SQL y sus indices etc estan para eso, y parsear un documento XML "a mano" transformando las cadenas en enteros etc etc no es lo más optimo.

El XML tiene sus usos, y este, para mí, no es uno de ellos.
  #6 (permalink)  
Antiguo 21/08/2005, 20:20
Avatar de El_derby  
Fecha de Ingreso: noviembre-2001
Ubicación: Lima Limón
Mensajes: 5.729
Antigüedad: 22 años, 5 meses
Puntos: 43
Cita:
Iniciado por Marta_81
Gracias a todos por vuestras aportaciones.

Para el que le pueda interesar, recapitulo: Un par de BBDD portatiles, ambas codificadas en Java y ambas open source:

- hsqldb (http://hsqldb.org/). Al parecer es la continuacion del proyecto Hypersonic Sql, que ahora esta parado. Thanks GreenEyed.

- Derby (http://db.apache.org/derby/index.html): lo lleva la gente de Apache Foundation, despues de que hace unos años IBM liberara el codigo.

He bajado las dos para probar. Alguien que haya trabajado con ellas tiene alguna preferencia?

Y otra cosa: para el volumen de datos citado en el primer post, y teniendo en cuenta que la aplicacion hace muy pocas querys, creeis que merece la pena usar BBDD de este tipo, o por el contrario es mejor almacenar los datos en XML?

Un saludo,

Marta
los voy a probar
__________________
nadie esta libre de decir estupideces, lo malo es decirlas con énfasis
w w w . e l d e r b y w e b . c o m ===============> mi blog de diseño gráfico
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:35.