Buscando aprender nueva tecnología de BBDD basadas en la web
#1
Posted 14 May 2014 - 05:33 AM
Llevo ya algunos años trabajando en bases de datos con Firebird y Delphi 7 (todavía D7, pero que va genial). No soy informático de formación, sino ingeniero agrónomo y de medio ambiente pero a base de mucho tiempo y mirar mucho en estos foros he ido aprendiendo bastante sobre FB y el lenguaje SQL.
Ahora se nos plantea la posibilidad de hacer unas bases de datos enormes, que puedan consultarse vía internet y ando un poco perdido para dar el salto. ¿Qué tecnología recomendáis?
He oído de MySQL para instalar en el servidor, pero luego, ¿con qué lenguaje de programación se hacen las consultas: PHP, Java, JavaScript, Phyton, Ruby? ¿Alguno que no tenga una curva de aprendizaje muy acentuada?
Tened en cuenta que los fundamentos de sql los tengo más o menos bien, pero que no soy informático de profesión, sino más bien por afición.
Un saludo al foro.
#2
Posted 14 May 2014 - 09:55 AM
Si yo estás comodo con Firebird y Delphi, ¿ porque no sigues con Firebird y Delphi para tu aplicación Web ?.
Solo debes usar una colección de componentes como las UniGUI http://www.unigui.com/
Ejemplo : http://prime.fmsoft....demo/ucdemo.dll
Saludos.
#3
Posted 14 May 2014 - 09:59 AM
http://www.delphiacc...es-comerciales/
Saludos.
#4
Posted 14 May 2014 - 12:20 PM
Lo importante es elegir bien la memoria que le vas a otorgar a cada una de estas peticiones, ya que a diferencia del "superserver" aquí la memoria se asigna por conexión, no por base de datos, por eso con muy poco tienes suficiente y te dá para miles de conexiones simultaneas si tienes memoria suficiente (te puede hacer falta varios gigas si tienes mucha carga), además, esta versión es multi procesador de verdad, por lo que ocho nucleos irán muy bien en el servidor.
Así es como lo hacen los que más tráfico tienen, lo leí en una web sobre una empresa rusa que usaba FB para servidores web de muchas conexiones simultáneas con buenos resultados.
Mira casos aqui: http://www.firebirds...l/who-uses.html
#5
Posted 14 May 2014 - 01:46 PM
La idea si usas FB es instalar la versión "classic server" en el servidor web, ya que serán muchas consultas pero simples, y eso lo maneja muy bien está versión del servidor FB.
Lo importante es elegir bien la memoria que le vas a otorgar a cada una de estas peticiones, ya que a diferencia del "superserver" aquí la memoria se asigna por conexión, no por base de datos, por eso con muy poco tienes suficiente y te dá para miles de conexiones simultaneas si tienes memoria suficiente (te puede hacer falta varios gigas si tienes mucha carga), además, esta versión es multi procesador de verdad, por lo que ocho nucleos irán muy bien en el servidor.
Así es como lo hacen los que más tráfico tienen, lo leí en una web sobre una empresa rusa que usaba FB para servidores web de muchas conexiones simultáneas con buenos resultados.
Mira casos aqui: http://www.firebirds...l/who-uses.html
Es espectacular lo que hacen en Rusia con Firebird. Me impresionó este caso donde sustituyeron Oracle por Firebird (necesitaban hacer informes OLAP que no podían hacer en su sistema anterior sin gastar muchos miles de dólares en nuevas licencias Oracle) para una gran aplicación con hasta 100 usuarios simultáneos entrando datos. http://www.firebirds...pital-31-12651/
#6
Posted 14 May 2014 - 02:48 PM
De todas formas, si el servidor dependiese de mi, probablemente usaría classic y bastante memoria en este caso, sobre todo porque usan servidores "buenos" de ocho nucleos o más, pero bueno, mejor que sus informáticos decidan esas cosas "mundanas", yo solo soy "el programador" je je!
#7
Posted 14 May 2014 - 03:08 PM
Los rusos que comentáis ¿se sabe cómo se conectan a Firebird? ¿Con Unigui que indica Marc?
Unigui lo conocía de oídas pero la verdad es que me produce suspicacias porque está en fase beta y porque no corre con Delphi7. Y también me genera la duda de si habrá componentes tipo TeeChart en Unigui ya que nuestras bases de datos, en ingeniería de medioambiente, son de datos de temperatura, humedad, etc. y luego necesitamos generar gráficas en las que puedas hacer click sobre un punto e ir a los datos, por ejemplo.
#8
Posted 15 May 2014 - 02:37 AM
Gracias Marc y Sergio.
Los rusos que comentáis ¿se sabe cómo se conectan a Firebird? ¿Con Unigui que indica Marc?
Unigui lo conocía de oídas pero la verdad es que me produce suspicacias porque está en fase beta y porque no corre con Delphi7. Y también me genera la duda de si habrá componentes tipo TeeChart en Unigui ya que nuestras bases de datos, en ingeniería de medioambiente, son de datos de temperatura, humedad, etc. y luego necesitamos generar gráficas en las que puedas hacer click sobre un punto e ir a los datos, por ejemplo.
Con delphi 7 tienes Raudus (http://www.raudus.com/) es similar a UniGUI pero algo menos terminado en general, aunque no creo que puedas replicar todo lo que se puede hacer en delphi 7 con ninguno de los dos, siempre tienes limitaciones al trabajar en la web, y quizas te toque repensarte alguna que otra cosa para adaptarte a lo que tengas a mano al pasarte a la web.
Con unigui te toca saltar a delphi2007 mínimo (creo recordar), así evitas pasarte a unicode (a partir de delphi 2009 los strings pasan a ser en unicode y es algo mas de lio hacer el salto si tienes mucho codigo que reutilizar), pero creo que es la mejor opción si tienes que saltar a la web.
#9
Posted 15 May 2014 - 03:03 AM
http://prime.fmsoft....o/chartdemo.dll
Como puedes ver UniGUI tiene un objeto para crear gráficos. Aunque si te resulta demasiado simple puedes hacer lo mismo que hago yo para utilizar TeeChart para poner gráficas en Reports FastReports (el componente de gráficas que incorpora me resulta demasiado simple para hacer lo que necesito).
Se trata de crear por código un objeto TeeChart, configurarlo con el gráfico que necesitas, y exportarlo a imagen. Después ya solo tienes que mostrar esa imagen JPG mediante un simple TImage en FastReports, UniGUI o donde necesites el gráfico.
Saludos.
#10
Posted 15 May 2014 - 05:02 AM
Creo recordar que con Delphi 2007 ya funcionaba Unigui.
¡Muchas gracias!
#11
Posted 15 May 2014 - 09:10 AM
Bueno está que haya alternativas.
Hale, a seguir mirando...
#12
Posted 15 May 2014 - 02:34 PM
De no ser así, Delphi te ofrece varias alternativas en las cuales puedes seguir utilizando Firebird sin ningún problema, por ejemplo con DataSnap puedes desarrollar servidores y clientes que se comunican sin problema vía internet, también hay componentes de terceros como este, que trabajan de novela sobre internet; también podrías hacerlo con web services (en el foro hay un magnífico tutorial sobre esta técnica).
Saludos.
#13
Posted 16 May 2014 - 04:11 AM
A raíz de tu comentario he estado mirando DataSnap y he encontrado en los foros que funciona realmente bien, pero a partir de la versión 2009 de Delphi. Es otra alternativa, porque obviamente alguna vez tendremos que salir de Delphi7 aunque va realmente bien.
Respecto a Unigui, resulta que ya no se puede bajar la versión beta porque ya no se acepta a más usuarios registrados y esa es una condición para poder bajarlo. Vaya, es un contratiempo serio para probar unigui.
Investigando, he visto que se puede acceder a Firebird desde el lenguaje Phyton, el cual dicen es fácil de aprender y de leer. Nada que ver con PHP el cual me da grima sólo de mirar el código.
Bueno, aquí estamos, mirando y mirando...
Gracias.
#15
Posted 19 May 2014 - 04:15 AM