Que opináis sobre usar xml como motor para datos ?

78 views
Skip to first unread message

Sebastian Ayala

unread,
Nov 26, 2010, 9:42:49 AM11/26/10
to phpbar...@googlegroups.com
Hola Lista,

Quería saber que opinan de usar XML como motor de datos, quiero ver de hacerme una aplicación y evitar el uso de base de datos, pero quiero saber los costos de usar xml, la aplicación es básica es para llevar gestión hogareña y con los xml me dejaría usarlos desde todos lados.

Experiencias usando XML, sumas de campos porcentajes etc.?

Saludos y gracias!

Arnald Auli

unread,
Nov 26, 2010, 9:50:04 AM11/26/10
to phpbar...@googlegroups.com
Yo uso xml como antes se usaban los ficheros planos solo que el xml me permite definir que es cada campo y me es util para comunicar diferentes clientes pero para mi nada como las bbdd si puedes usarlas.

2010/11/26 Sebastian Ayala <poiso...@gmail.com>
--
Has recibido este mensaje porque estás suscrito al grupo "Grupo de programadores PHP de Barcelona" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a phpbar...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a phpbarcelona...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/phpbarcelona?hl=es.

Daniel Blanco

unread,
Nov 26, 2010, 9:56:28 AM11/26/10
to phpbar...@googlegroups.com
Cuál es el motivo para usar XML? 
No tengo mucha experiencia con XML fuera del uso para web services y similares (intercambios de datos, ficheros de configuración...), pero no creo que sea lo más adecuado para este caso. Supongo que querrás hacer búsquedas, ordenaciones, juntar datos de varios ficheros.. 
Desconozco los motivos que tienes para no querer utilizar una base de datos, pero si es por generar una aplicación autocontenida y facilmente distribuible, quizás SQLite te sea de utilidad. 

Un saludo!

Dani

--
-Dani-

Jordi Roura

unread,
Nov 26, 2010, 9:58:43 AM11/26/10
to phpbar...@googlegroups.com
y JSON?

2010/11/26 Daniel Blanco <zareo...@gmail.com>

Sebastian Ayala

unread,
Nov 26, 2010, 10:09:38 AM11/26/10
to phpbar...@googlegroups.com
En general es perder la dependencia de tener que correr un motor db para ver los datos, excel 2007 usa formato padecido.

Lo que estoy tratando de ver es como trabaja el xml a nivel memoria, ya que lo que quiero hacer es una simple aplicación de entradas y salidas, gastos, alquiler, mas de una cuenta, y tal. Claramente que sql seria lo mejor, pero lo que me da el XML es que puedo hacer un programa en lo que quiera mientras respete el diagrama del xml para trabajar, por esto quiero explorar esta posibilidad.

Saludos y gracias 

2010/11/26 Daniel Blanco <zareo...@gmail.com>

Arnald Auli

unread,
Nov 26, 2010, 10:10:07 AM11/26/10
to phpbar...@googlegroups.com
Sebastian, si lo único que necesitas es recorrerte todos los datos hasta que encuentras el que buscas pues bueno, lento pero puede servir... como esa agenda que todos hemos hecho en msdos cuando aprendimos pascal,c o java... pero como tengas que hacer una consulta combinada... lo que seria una select con más de una tabla... entonces con XML vas a flipar porque una de dos, o tendrás que dar varias vueltas e ir anotando y cruzando coincidencias o estarás programando tu propio gestor de BBDD!




2010/11/26 Jordi Roura <fintlew...@gmail.com>

Daniel Blanco

unread,
Nov 26, 2010, 10:17:52 AM11/26/10
to phpbar...@googlegroups.com
"Lo que estoy tratando de ver es como trabaja el xml a nivel memoria"

XML, de por sí, es un lenguaje de marcado, por lo que la gestión de memoria y el rendimiento de tu aplicación, dependerá de el código (librerías, clases) que esté accediendo a estos datos XML. 
SQLite ofrece soporte para infinidad de lenguajes de scripting y programación (C,C++, ObjectiveC, Python, Java, ActionScript, PHP; Ruby), tanto en aplicaciones de servidor, escritorio o móviles. 

Que conste que no soy comercial de SQLite :D. Simplemente creo que podría servir a tus fines mejor que XML en este caso. Yo veo XML como un formato de intercambio, pero creo que una BBDD es más eficiente a la hora de indexar, ordenar y acceder a los datos, y permite una explotación de los mismos más eficiente.

Carlos Buenosvinos Zamora

unread,
Nov 26, 2010, 10:20:19 AM11/26/10
to phpbar...@googlegroups.com
Trabajar con un fichero plano o XML (y me refiero a no sólo añadir datos en modo "append") es siempre una mala idea (colisión de datos, acceso simultáneo, etc. - échale un vistazo al concepto ANSI en la wikipedia).

Cuál es el problema? 
- Q: No puedes instalar un gestor de base de datos en tu servidor?
- A: Pues cambia de hosting o aceptamos barco y texto plano, xml o json

- Q: Puedes instalar cosas pero no un mysql o similar?
- A: Mírate Sqlite (tienes selects y esas cosas que te ayudarán)

- Q: No sabes cómo instalar un mysql o similar?
- A: Pídele a algún colega que te ayude, porque no se puede ir por ahí sin saber esas cosas :)

Un abrazo,
Saludos

Carlos

Luis Lorenzo

unread,
Nov 26, 2010, 10:22:31 AM11/26/10
to phpbar...@googlegroups.com
Si quieres usar xml por el tema de multiplataforma puedes hacer un webservice que tire de cualquier bbdd y resultados en xml.

SQLite tambien mola bastante...


--
Luis Lorenzo
Enviado desde BlackBerry


From: Daniel Blanco <zareo...@gmail.com>
Date: Fri, 26 Nov 2010 16:17:52 +0100
Subject: Re: Que opináis sobre usar xml como motor para dato s ?

Hernán Kleiman

unread,
Nov 26, 2010, 9:53:58 AM11/26/10
to phpbar...@googlegroups.com
el tema del xml es que se puede corromper, si armas un buen sistema de
backup de los xml y que no haya escrituras simultaneas, porque eso es
otra cosa que puede ocurrir, no vas a tener problema.

2010/11/26 Arnald Auli <arnal...@gmail.com>:

Juan Antonio Galán

unread,
Nov 26, 2010, 10:25:52 AM11/26/10
to phpbar...@googlegroups.com
Hombre si yo tuviera esa necesidad, mi vena freak me impulsaria a aprender como va CouchDB http://couchdb.apache.org/docs/intro.html y probablemente usarlo.

Si lo haces no te olvides de compartir tus impresiones ;)

Saludos

Juan
Juan Antonio Galán Martínez

César

unread,
Nov 26, 2010, 10:37:18 AM11/26/10
to phpbar...@googlegroups.com
Pues yo he hecho maravillas con XML y XPath. En PHP5 tienes varias opciones, entre las que la más completa es DOM, y después SimpleXML. Ambas tienen soporte de XPath, que para mí es la parte más poderosa de XML. Sin eso, no sería más que un almacén de datos.

Lo malo, obviamente, es que el motor tiene que cargar el fichero entero en memoria, (aunque esto se puede mitigar fragmentando los ficheros), y que si hay un acceso simultáneo tienes que controlarlo un poco para no corromper los datos (manejando números de versión del fichero, por ejemplo)

Por supuesto, siempre es mejor un SQL, pero XML también puede hacer cosas decentes

Y si te animas, recuerda que los datos van siempre en utf-8!


un saludo,

César Escribano



2010/11/26 Juan Antonio Galán <juan.gala...@gmail.com>

Sebastian Ayala

unread,
Nov 26, 2010, 11:15:12 AM11/26/10
to phpbar...@googlegroups.com
Gracias a todos, por las respuestas.

Lo que veo de esto, claramente es mas faena para patear con los xml, pero se puede lograr, lo de escritura simultanea no me preocuparía, ya que es mono-usuario, la velocidad seria muchísimo mas rápido con motor sql, pero lo que quería averiguar lo de hacerlo independiente. Justamente si después quiero visualizarlo con .exe o .sh o otro lenguaje solamente leyendo los xml ya podría.

Investigare que tal se trabaja con el PHP5 el hacer consultas y sumatorias AVG o si tengo que escribirme todo el código a mano a puros arrays.

Muchas gracias por las respuestas, me son muy útiles!

2010/11/26 César <ce...@anui.org>

Jordi Escola

unread,
Nov 26, 2010, 11:37:21 AM11/26/10
to phpbar...@googlegroups.com

Quizá es un poco locura...pero..y con una bnda berkeley? Estas más limitado en índices pero la bnda es portable

El 26/11/2010 17:15, "Sebastian Ayala" <poiso...@gmail.com> escribió:

Gracias a todos, por las respuestas.

Lo que veo de esto, claramente es mas faena para patear con los xml, pero se puede lograr, lo de escritura simultanea no me preocuparía, ya que es mono-usuario, la velocidad seria muchísimo mas rápido con motor sql, pero lo que quería averiguar lo de hacerlo independiente. Justamente si después quiero visualizarlo con .exe o .sh o otro lenguaje solamente leyendo los xml ya podría.

Investigare que tal se trabaja con el PHP5 el hacer consultas y sumatorias AVG o si tengo que escribirme todo el código a mano a puros arrays.

Muchas gracias por las respuestas, me son muy útiles!

2010/11/26 César <ce...@anui.org>


>
> Pues yo he hecho maravillas con XML y XPath. En PHP5 tienes varias opciones, entre las que la m...


--
Has recibido este mensaje porque estás suscrito al grupo "Grupo de programadores PHP de Barcelon...

Alejandro Exojo

unread,
Nov 26, 2010, 12:36:07 PM11/26/10
to phpbar...@googlegroups.com
El Viernes 26 Noviembre 2010, Sebastian Ayala escribió:
> Lo que estoy tratando de ver es como trabaja el xml a nivel memoria, ya que
> lo que quiero hacer es una simple aplicación de entradas y salidas, gastos,
> alquiler, mas de una cuenta, y tal. Claramente que sql seria lo mejor, pero
> lo que me da el XML es que puedo hacer un programa en lo que quiera
> mientras respete el diagrama del xml para trabajar, por esto quiero
> explorar esta posibilidad.

XML es un modelo de datos, al igual que las bases de datos relacionales son
otros. Si tus estructuras de datos tienen bastante sentido en forma de árbol,
usa XML, y si tienen más sentido en forma de tablas, usa SQL. Si lo que
quieres es tenerlo todo de forma autocontenida, usa SQLite o cualquier otra
base de datos de tipo fichero.

Estás confundiendo conceptos. XML no es un motor, SQL tampoco. Es cierto que
_típicamente_ (no obligatoriamente) se accede a datos usando SQL a través de
un SGBD que tiene un proceso independiente y toda la parafernalia (un daemon
que se diría en Unix/Linux), pero como te han dicho, no es obligatorio, ya
que SQLite es autocontenido en un fichero igual que lo podría ser XML, pero
con ciertas ventajas.

Dicho esto, para aplicaciones monousuario (p.e. aplicaciones cliente de
escritorio), se usa con frecuencia tanto XML como SQLite para almacenar los
datos de una aplicación, o su configuración (bueno, para lo último se usa más
XML).

--
Alex (a.k.a. suy) | GPG ID 0x0B8B0BC2
http://barnacity.net/ | http://disperso.net

Sebastian Ayala

unread,
Nov 26, 2010, 1:17:21 PM11/26/10
to phpbar...@googlegroups.com
Muy buena respuesta,

Te agradezco la orientación en los conceptos!

( SQL Lite a leer manual ;) )

2010/11/26 Alejandro Exojo <s...@kurly.org>

Jordi Escola

unread,
Nov 26, 2010, 12:27:09 PM11/26/10
to phpbar...@googlegroups.com

Perdón... Me refiero a bbdd, que el
auto completar juega malas pasadas...otra opción son ficheros con estructuras json.. Sí te apetecía trabajar con fichreos de texto

El 26/11/2010 17:37, "Jordi Escola" <jordi.es...@gmail.com> escribió:

Quizá es un poco locura...pero..y con una bnda berkeley? Estas más limitado en índices pero la bnda es portable

El 26/11/2010 17:15, "Sebastian Ayala" <poiso...@gmail.com> escribió:


>
> Gracias a todos, por las respuestas.
>

> Lo que veo de esto, claramente es mas faena para patea...

Reply all
Reply to author
Forward
0 new messages