Estoy un poquito off / Desarrollo de versión Oracle
Publicado: 09 Mar 2009 09:34
Llevais una semana casi sin verme y posiblemente pasara otra igual.
Motivos (dos):
- Lio en el trabajo, prioritario
- Estoy convirtiendo todo el juego a Oracle, para cargarme el MySQL y sus problemas (*). Mientras tenga eso a medias no quiero andar tocando el juego, pues tendria que hacerlo en dos sitios (lo que funciona, y lo que estoy haciendo) y ademas sin poder probarlo. Dado que lo que hay tampoco es tan grave (sigue sin ir como deberia, y las estrellas parece que se han tomado pastillitas de colores) pues ahi queda.
En otro orden de cosas, me acaba de llegar un SMS de ya.com de que hoy me entregan el router nuevo (que por supuesto no voy ni a abrir). El cambio de operador puede ser que este proximo, no se
(*) Problema con MySQL: Por fin consegui averiguar la causa de los problemas de rendimiento del server, que se pone la CPU al 100% a partir de 90 online haciendo que todo vaya fatal cuando se llega a unos 100/110. Bueno, pues que es una mierda. La unica forma de que un server normalito funcione medio bien con la de actuaciones que hay en la base de datos es haciendo uso de procedimientos almacenados, opcion que MySQL soporta desde hace unas cuantas versiones. El pequeño problema es que es una MIERDA, cuando yo le doy un fichero y le digo 'compilalo' lo unico que hacees comprobar errores de sintañis y meterlo en fuente en una tabla. Se compila posteriormente, cuando se usa. Pero se compila a una zona de memoria que va por conexion, no es global. Y como en un servidor web las conexiones se crean y destruyen con cada pagina, el resultado es que a cada pagina que se pide se lle el codigo fuente, se compila, se usa... y se pierde, no queda disponible ya compilado para la siguiente vez que se pida la pagina. Asi que a 300K paginas diarias, pues 300k veces que se compilan los mismos procedimientos. Ahi es donde esta mi CPU, compilando como una imbecil una y otra vez lo mismo.
A quien haya sido capaz de leer lo anterior, quiza le interese que el resto de bases de datos existentes lo hacen bastante mejor. Oracle, SQLServer, Postgress, Interbase... todas ellas complan a una zona global y el compilado se mantiene mientras haya memoria para mantenerlo (que la hay).
Lo suyo seria probar Postgress, que es libre. Pero como me jode mucho estar rehaciendo todo el codigo de un año y pico por haberle dado oportunidad a una base de datos de codigo libre blabla, paso de experimeentos y lo estoy haciendo con la mejor, Oracle. Al menos me da garantias de que no tendre que rehacerlo todo otra vez.
En fin.
Motivos (dos):
- Lio en el trabajo, prioritario
- Estoy convirtiendo todo el juego a Oracle, para cargarme el MySQL y sus problemas (*). Mientras tenga eso a medias no quiero andar tocando el juego, pues tendria que hacerlo en dos sitios (lo que funciona, y lo que estoy haciendo) y ademas sin poder probarlo. Dado que lo que hay tampoco es tan grave (sigue sin ir como deberia, y las estrellas parece que se han tomado pastillitas de colores) pues ahi queda.
En otro orden de cosas, me acaba de llegar un SMS de ya.com de que hoy me entregan el router nuevo (que por supuesto no voy ni a abrir). El cambio de operador puede ser que este proximo, no se
(*) Problema con MySQL: Por fin consegui averiguar la causa de los problemas de rendimiento del server, que se pone la CPU al 100% a partir de 90 online haciendo que todo vaya fatal cuando se llega a unos 100/110. Bueno, pues que es una mierda. La unica forma de que un server normalito funcione medio bien con la de actuaciones que hay en la base de datos es haciendo uso de procedimientos almacenados, opcion que MySQL soporta desde hace unas cuantas versiones. El pequeño problema es que es una MIERDA, cuando yo le doy un fichero y le digo 'compilalo' lo unico que hacees comprobar errores de sintañis y meterlo en fuente en una tabla. Se compila posteriormente, cuando se usa. Pero se compila a una zona de memoria que va por conexion, no es global. Y como en un servidor web las conexiones se crean y destruyen con cada pagina, el resultado es que a cada pagina que se pide se lle el codigo fuente, se compila, se usa... y se pierde, no queda disponible ya compilado para la siguiente vez que se pida la pagina. Asi que a 300K paginas diarias, pues 300k veces que se compilan los mismos procedimientos. Ahi es donde esta mi CPU, compilando como una imbecil una y otra vez lo mismo.
A quien haya sido capaz de leer lo anterior, quiza le interese que el resto de bases de datos existentes lo hacen bastante mejor. Oracle, SQLServer, Postgress, Interbase... todas ellas complan a una zona global y el compilado se mantiene mientras haya memoria para mantenerlo (que la hay).
Lo suyo seria probar Postgress, que es libre. Pero como me jode mucho estar rehaciendo todo el codigo de un año y pico por haberle dado oportunidad a una base de datos de codigo libre blabla, paso de experimeentos y lo estoy haciendo con la mejor, Oracle. Al menos me da garantias de que no tendre que rehacerlo todo otra vez.
En fin.