FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
||||
|
||||
Cita:
Cita:
Cita:
Y la cereza en el pastel... si observas la gráfica un postgresql obtimizado gana por poco a un mssql con instalación por default. De ahí mis palabras... no puedes escrigrimir un argumento que no conoces y no validaste. esgrimirlo y que resulten esos detalles solo habla de usarlo sin mucho análisis.
__________________
Conoce mi blog http://www.edgartec.com |
#22
|
||||
|
||||
No existen las comparaciones perfectas, siempre se puede obtener más o mejor rendimiento, nadie está contento ni satisfecho nunca, se haga como se haga.
Tú mismo lo has hecho, primero dices que no es comparable, para a renglón seguido decir que a pesar de ello está muy igualado. Cualquier resultado sería discutible hacia cualquiera de los bandos. Todos los datos y gráficas son interpretables según el punto de vista de cada uno. Aunque hay que dejar claro una cosa y ahí no vas a poder rebatirlo: ms sql server es muy caro, necesita un equipo windows y todos los programas, accesorios, utilidades, etc. Eso es pagar por ellos y sus licencias. Mucho dinero. Un equipo postgresql (firebird, mysql, etc.) lo montas sobre un servidor linux y te ha costado en total... ¡¡¡ cero euros/dólares !!! |
#23
|
|||
|
|||
Cita:
Pues como siempre digo, DEPENDE, DEPENDE, DEPENDE. La mejor base de datos es la que te da lo que necesitas, ni mas ni menos. Yo no creo que la razón de peso para elegir cualquier cosa no solo motor de base de datos gire en torno a su costo, aquí es ver los proyectos unitariamente. A veces ni siquiera es necesario utilizar una base de datos, con simples archivos XML incluso Paradox es mas que suficiente, pero a veces los clientes quieren pagar por una base de datos super cara.... No siempre lo mejor es lo ideal. Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#24
|
||||
|
||||
Cita:
Cita:
Cita:
Cita:
Si hablamos de un motor gratuito y multiplataforma yo elijo al ciento por cieto PostgreSql. En resumen y con relación al tema de este hilo.... Agregaremos el retorno de múltiples resultsets a la lista de características que no soporta Firebird, Ok que no lo usas o no lo requieres ok, pero al final no lo soporta. Yo por mi experiencia con los motores de bases de datos si tuviera que elejir un motor de base de datos gratuito y multiplataforma me iría por PostgreSql. Jamás por firebird, pero ese es mi punto de vista y si tu elijes Firebird, ok. muy bien ese es tu punto de vista. Saludox
__________________
Conoce mi blog http://www.edgartec.com |
#25
|
||||
|
||||
Me parece que un RDBMS debe remitirse a guardado y consulta de datos, esa opciones extras, me parecen que no son el fuerte del mismo, que trabaje con XML? para que? para eso no está en lenguaje de programación?, yo sólo me guío por facilidad de administración, de instalación, desempeño, multi-plataforma, soporte al standard Sql y mi experiencia me ha mostrado todo esto en Ms-Sql 2005 y Firebird 1.5, en lo personal prefiero Firebird y he hecho pruebas de desempeño en mi trabajo y si, Firebird me ha demostrado ser mas rápido, ambos instalados de fabrica, ahora varias cosas que había hecho en Firebird 1.5 las pasé a Firebird 2.5 y han mejorado bastante, así que no, no tengo quejas de Firebird, ni la mas mínima y si requiero cosas especiales, las hago con DDL, en Lazarus o las busco y punto, hay muchas, como por ejemplo, Full Text Seach, no me complico, uso lo que me gusta y para mi es la mejor opción.
Saludos.
__________________
mas confundido que Garavito el día del Niño. |
#26
|
||||
|
||||
Cita:
Cita:
Cita:
A donde yo quería llegar es que una empresa que necesita soluciones para sus servidores y sistemas de bases de datos... y ofrecerle ms sql server con windows... para mí eso no es ofrecerle una solución, eso es ofrecerle un problema, y caro. De verdad que yo no puedo llegar a una empresa ofreciendo un servidor windows, me daría vergüenza ofrecer eso, bueno, no es que "me daría", es que "me da", no puedo hacerlo, es justo todo lo contrario a profesional y serio, tengo la sensación de estar engañándolos. Otra cosa distinta es que esa empresa tenga un software que necesite por fuerza funcionar con windows, ahí no queda más remedio. Cita:
Lo más que se ha podido comentar aquí es que alguien preguntó en 2007 por ello, de eso hace 5 años, no sé si lo habrán implementado. Y en cuanto a las otra "larga lista" de cosas que no soporta firebird, leer xml o importar/exportar a excel, texto o csv... pues me parece ridículo, sin importancia, no es necesario (aunque hay utilidades de sobras para hacerlo) porque un RDBMS no tiene que dedicarse a esas cosas, tal y como dice mightydragonlor. Espero que el "ardor" del debate no enturbie las relaciones personales |
#27
|
||||
|
||||
Cita:
Y no amigo... un debate, sin importar lo álgido, mientras no exceda los límites del insulto es siempre benéfico para todas las partes. Saludos
__________________
Conoce mi blog http://www.edgartec.com |
#28
|
||||
|
||||
Cita:
// Saludos |
#29
|
||||
|
||||
Sí, es lo normal en mí, acostumbro a hablar sin saber.
|
#30
|
||||
|
||||
Y volviendo al tema original, ¿qué ventaja representa devolver tres recordsets en lugar de hacer un join normalito que enlace ls tres tablas?
Y sí. No lo sé. Por eso pregunto. // Saludos |
#31
|
||||
|
||||
Cita:
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#32
|
||||
|
||||
Pues esa impresión me das estimado Casimiro, máxime cuando no me dices el por qué es irrelevante el uso de xml en bases de datos cuando es algo que está defino en el Ansi SQL
http://en.wikipedia.org/wiki/SQL/XML
__________________
Conoce mi blog http://www.edgartec.com |
#33
|
||||
|
||||
Cita:
---- Lo interesante de este debate es que la pregunta inicial nisiquiera ha sido contestada. ¿en la actualidad soporta o no devolver multiples recordset?. Habria que hacer las pruebas porque en google no he encontrado nada de eso. Con respecto al debate: No niego el grán rendimiento que tiene PostgreSQL y como mencionaron antes, en la vida real, el rendimiento depende mucho del diseño de la DB, la forma como el programa la utiliza, las técnologías para las comunicaciones y muchos factores. Y en mi experiencia he visto programas en Delphi y .Net conectados a MS-SQL, Oracle, Sybase, PostgreSQL e Informix ejecutar procesos muy lentos en servidores muy buenos. Cuando una empresa me entrega la libertad de elegir el motor o puedo imponerlo , opto por PotgreSQL y en un pequeño programa POS que tengo los tiempos de respuesta son excelentes aún con un pc convencional con windows funcionando como servidor. Pero si una empresa ya tiene una red montada con su datacenter, bases de datos, servicios de red, seguridad; Todo esto en windows, aunque suene como a blasfemia para casimiro, muchisimas empresas desde pequeñas hasta grandes basan su infraestructura en windows. Y de seguro pedirán que la nueva base de datos (la de nuestro aplicativo) se acomode a sus estandares de manejo y entre ello pedirán la integración del aplicativo con el active directory. Si la eleción es PostgreSQL o firebird, habrá que instalar o crear algun producto que realice cambios en la seguridad del motor para asimilar los cambios en la seguridad de active directory y esto representa costos y posibles errores adicionales. Para estos casos, lo mejor sería que nuestro aplicativo se acomode a muchos rdbms y si el cliente tiene MS-SQL, Oracle, MySQL, PostgreSQL o Firebird. Nuestro aplicativo pueda trabajar en todos ellos. Lo mas seguro es que yo esté por otro camino del debate ya que ustedes han hablado mas del rendimiento uno vs otro pero para mi lo importante de elegir entre uno u otro depende de como beneficiará al cliente y como este se sentirá mas satisfecho. Por lo general a los gerentes (quienes firman los cheques) lo que les importa es la eficiencia en todo sentido y puede que para nosotros esos milisegundos sean muy importantes pero para estos dueños de empresas, lo que importa es cuanto costará un nuevo servidor nuevo teniendo un windows server instalado; Cuanto costará capacitar a su administrador de red para manejar un linux cuando el 99% de sus equipos es windows; Cuanto costará el nuevo soporte cuando ya tiene uno contratado y cuanto costará la integración de nuestro app con su esquema y protocolos. Tener un aplicativo con esta felxibilidad es muy importante porque el cliente no deberá incurrir en costos adicionales de capacitación o contratación para un motor o un S.O. que normalmente no manejaban y en cambio entrega a nuestro aplicativo una valor agregado que marca la diferencia y nos termina representando la satisfacción del que firma el cheque y clientes finales y recomendaciones para nuevas oportunidades de negocio. --- Algunas características en el rdbms ya sean ofrecidos desde instalación, característica adicional o complemento de tercero son muy importantes porque hacen que tu rdbms sea mas que un simple almacen de datos. Por ejemplo, (en oracle) el manejo interno de XML permite consumir webservices desde los SP. Eso significaria que nuestro app solo llamaría un SP que consumiria el WS, validaria procesaría y almacenaria los resultados. El proceso sería muchisimo más rapido de seguro. El cifrado de datos (Lo he visto en oracle con AES) podría ser muy funcional a la hora de almacenar información de vital para la compañía y que esté en el motor permitiría que los SP procesen y guarden datos cifrados sin la necesidad explicita que lo haga el app.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#34
|
||||
|
||||
Cita:
Por cierto, veo que tu blog no está habilitado, considero que podrías aportar muchisimo espero que pronto escribas en él. Un saludo
__________________
Conoce mi blog http://www.edgartec.com |
#35
|
||||
|
||||
Cita:
// Saludos |
#36
|
|||
|
|||
Bueno, cosas peores se han dicho aquí en los "debates" de la religión y de Apple, pero aún así, si vamos a ver con pinzas las palabras, pues....
Cita:
Y ésto por supuesto incluye a las bases de datos y sigo sosteniendo que la mejor base de datos es la que te permite hacer todo lo que necesitas, yo no veo el factor costo, eso al final es relativo, habrá clientes que paguen el costo de una base de datos costosa, habrá clientes que quieran una base de datos sin costo. Y como dice Román, yo también quiero saber para que sirve lo propuesto en el título de este hilo. Saludos PD. Y que conste que mi aprecio tanto por Casimiro y por Poliburro es muy alto.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#37
|
||||
|
||||
Cita:
Amigo me avoco a tu duda planteada aquí: Cita:
filasdatoscliente, datosencabezadoventa, partidadeventa1 filasdatoscliente, datosencabezadoventa, partidadeventa2 filasdatoscliente, datosencabezadoventa, partidadeventa3 ........... filasdatoscliente, datosencabezadoventa, partidadeventaN como puedes observar, hacer uso de joins para devolverver toda esa información agrupada es sumamente infeciente pues vas a devolver un recordset con información duplicada y que te exigirá seprarla en tu código para mostrarla en los diferentes repositorios. Lo que hace la mayoria de programadores es primero consultar el maestro de ventas, luego el detalle de venta y para terminar los datos del cliente. Es la manera tradicional y por cada llamada debes estar haciedno consultas separadas o llamando a los procedimientos almacenados correspondientes. Eso está muy bien, pero si buscas optimizar las llamadas a la base de datos y aprovechar una sola conexión, pues, podrías optar por devolver los tres bloques separados y de esa manera te ahorras todo el trabajo de estar invocando consultas separadas. esta es una técnica como tantras otras. Podrías decirme que puedes deolverlo en un gran bloque xml, o podrías decirme que prefieres hacer tres consultas a la base de datos o podrías decirme que devolverás todo en un solo gran resultset. Eso queda ya en ti como programador y tus criterios técnicos.
__________________
Conoce mi blog http://www.edgartec.com Última edición por poliburro fecha: 09-11-2012 a las 17:38:56. |
#38
|
||||
|
||||
Cita:
Sobre el XML. Nadie ha dicho que no tenga sus especificaciones y sus normas y estándares. Lo que he dicho es que XML se usa para trapasar datos entre distintos programas (bases de datos/editores de textos/navegadores webs, etc.), pero el que un sistema de bases de datos RDBMS no tenga una función para leer o escribir ficheros XML no es importante. Suponiendo que firebird no lo tenga, hay muchas utilidades para importar/exportar datos XML con firebird, es más, se puede crear una UDF (función definida por el usuario), que es algo que sí tiene firebird... y ya tienes XML. Por eso digo que es algo ridículo y sin importancia. Ninguna base de datos va a ejecutar sentencias SQL contra un fichero de texto XML, sería ridículo, y si alguna lo hace... me parece más una curiosidad que algo práctico, pues debe ser ineficiente y lento a más no poder. Además de que entonces ¿para qué se usa una RDBMS?, ¿para trabajar con ficheritos de texto? Cita:
|
#39
|
||||
|
||||
Cita:
Lo único que ha ocurrido en todo esto es que, sin saberlo, añadiste a tu comentario (sin venir a cuento): "algo más por agregar a la larga lista de cosas que no soporta firebird". Porque de momento nadie ha podido decir si lo implementa o no. Que puede ser que no lo implemente... seguramente es así. ¡¡¡Tantas cosas hay que hacen unos y que no hacen otros!!! |
#40
|
||||
|
||||
Cita:
No dudo que pueda tener sus ventajas. Y no lo dudo para empezar porque ni siquiera tenía conocimiento de esta característica hasta hace unas horas. Pero, sin ánimo de demeritar, no me parece que tu ejemplo sea clarificador. Para empezar, lo de los datos repetidos, pues todo depende de no hacer un select .* y escoger los campos adecuados de cada tabla. Normalmente, lo que hacemos es un join para mostrar los datos más relevantes en una rejilla, y entonces hacer la o las consultas extras sólo para los registros que realmente nos interese. Es decir, no significa que vamos a hacer las consultas extra por cada uno de los registros de la consulta principal. Entonces, a lo que me refiero, es que no veo, al menos en este caso específico, una clara ventaja. ------- Por otra parte, un poco al margen; mencionas que además de SQL Server, hay oros motores que soportan la característica. En el caso particular de MySQL, yo ni siquiera lo mencionaría. Las pruebas que he hecho con procedimientos almacenados (ver. 5.1.x) dejan mucho que desear, dando resultados extremadamente lentos. // Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda: "Record not found or changed by another user" | alquimista_gdl | Conexión con bases de datos | 14 | 21-03-2009 20:09:21 |
Cursor "intermitente" al realizar consultas. | mlara | Firebird e Interbase | 1 | 24-05-2008 02:51:26 |
Error Invalid blob handle in record buffer??? sin usar "Blobs to cache" | varuhs | Conexión con bases de datos | 4 | 22-01-2007 21:19:53 |
¿Como Guardar un "RECORD" en un campo BLOB? | sitrico | Conexión con bases de datos | 5 | 29-06-2004 17:32:01 |
"no current record for fetch operation" con procedimiento almacenado usado en Select | Al González | Firebird e Interbase | 1 | 17-03-2004 21:13:17 |
|