Foro oficial de SQL

A mirado las cosas por el lado de la replicacion? la duplicidad de registros por donde se genera y como?

Esa seria la opcion mas indicada o incluso centralizar todos los registros en una sola maquina haciendo uso de historicos ya que al fin y al cabo va a incrementar el performance de las consultas, sin embargo la empresa quiere esa solucion para YA y no estan dispuestos a hacer ese cambio de infraestructura y logistica asi que toca a punta de software asi sea un remiendo. La centralizacion de informacion por el momento no me ha fallado haciendo uso de instancias de cada servidor, sin embargo hay ocasiones en los que las paginaciones ponen problemas o al agrupar por una columna X siguen saliendo resultados duplicados por lo cual me va a tocar centralizar eso por medio de PHP aunque aun no se me ha ocurrido como hacerlo
 
Esa seria la opcion mas indicada o incluso centralizar todos los registros en una sola maquina haciendo uso de historicos ya que al fin y al cabo va a incrementar el performance de las consultas, sin embargo la empresa quiere esa solucion para YA y no estan dispuestos a hacer ese cambio de infraestructura y logistica asi que toca a punta de software asi sea un remiendo. La centralizacion de informacion por el momento no me ha fallado haciendo uso de instancias de cada servidor, sin embargo hay ocasiones en los que las paginaciones ponen problemas o al agrupar por una columna X siguen saliendo resultados duplicados por lo cual me va a tocar centralizar eso por medio de PHP aunque aun no se me ha ocurrido como hacerlo

Pero así le van a poner adicionalmente a los problemas que tienen un componente adicional; Implementando la solución en PHP va a resolver asuntos puntuales, pero luego en producción le van a salir 100 mas...

De todas formas la replicancion se puede plantear de distintas formas y aunque se debe considerar como esta de hardware no tiene que salir a comprar servidores nuevos.

Algunas opciones para su problema y similares:

Se escribe en cualquier sede -> Sincroniza en en maestro -> replica en la otras
Solo se consulta en las sedes, se escribe en maestro -> replica en las otras
Las consultas se distribuyen/parten entre los servidores (Parallel Query)
Se tiene copias parciales en portátiles, pda que luego syncronizan....
 
Pero así le van a poner adicionalmente a los problemas que tienen un componente adicional; Implementando la solución en PHP va a resolver asuntos puntuales, pero luego en producción le van a salir 100 mas...

De todas formas la replicancion se puede plantear de distintas formas y aunque se debe considerar como esta de hardware no tiene que salir a comprar servidores nuevos.

Algunas opciones para su problema y similares:

Se escribe en cualquier sede -> Sincroniza en en maestro -> replica en la otras
Solo se consulta en las sedes, se escribe en maestro -> replica en las otras
Las consultas se distribuyen/parten entre los servidores (Parallel Query)
Se tiene copias parciales en portátiles, pda que luego syncronizan....

Precisamente a lo largo de mi estadia en la empresa han salido los errores que usted quiera en algunos aplicativos que ya hacian lo posible por medio consolidar. El problema es que la empresa maneja algunos procesos criticos donde por segundo facilmente se pueden hacer 30 operaciones que requieren minimo de un Select junto con un Insert Into o un Update y con cualquier trastorno en ese proceso la empresa puede comenzar a tener perdidas economicas. Esto con una red bien armada no es que sea mayor inconveniente pero si hay algo que este peor que los antiguos aplicativos es la red asi que ni modo.

Las copias parciales en portatiles por temas legales y de seguros creo que no se pueden llevar a cabo o por lo menos poner en produccion un equipo adicional que tenga parte o la totalidad de la informacion de alguna de estas bases de datos es un problema y requiere las firmas de reymundo y todo el mundo.

Yo habia llegado a plantear lo siguiente pero me lo rechazaron: Tener un cluster con 3 o 4 servidores los cuales tengan habilitados load balancing, parallel query y sincronizacion sincrona (por si acaso 1 o mas servidores caen la informacion continue disponible en su totalidad) con el fin de consolidar toda la informacion nacional en esa nueva base de datos pero me dieron un no rotundo porque "eso consumiria tiempo y atrasaria otros proyectos"

Por cierto: Conoce algun buen manual/tutorial para replicaciones en Postgresql? yo he indagado y hecho algunos montajes haciendo uso de PgPool que se supone es el plugin mas nuevo y completo pero aun asi hay muchas cosas que quedan sin resolver y siempre es bueno recibir recomendaciones
 
Buenas les traigo una pregunta

Tengo en una BD una tabla con aproximadamente 50 millones de filas y cada fila con aproximadamente 20 columnas. Si particiono esta gran tabla en 50 tablas de 1 millon de registros, las controlo por fecha y pongo una vista a que extraiga datos de alguna particion teniendo en cuenta el intervalo de las fechas (bajo ninguna circunstancia se extraeran datos de dos particiones en una misma consulta) ¿Sera que logro una mejoria en la consulta? actualmente en esa tabla de 50 millones se me demora mas o menos 48 segundos una consulta que tengo que bajar tan siquiera a 10 segundos
 
Con una buena estructura de indices no deberías tener problemas... te cuento que yo manejo una tabla de 16 colúmnas con la friolera de 450 millones de registros... y las búsquedas me las hace en 2 segundos cuando mucho,....

Saludos!
 
Con una buena estructura de indices no deberías tener problemas... te cuento que yo manejo una tabla de 16 colúmnas con la friolera de 450 millones de registros... y las búsquedas me las hace en 2 segundos cuando mucho,....

Saludos!

Lastimosamente ese no es mi caso, la base de datos en general esta vuelta una recocha y para acabar de ajustar hay capos tipo varchar cuando tranquilamente podrian ser numericos pero por nada del mundo se pueden cambiar en estos momentos.
 
Lastimosamente ese no es mi caso, la base de datos en general esta vuelta una recocha y para acabar de ajustar hay capos tipo varchar cuando tranquilamente podrian ser numericos pero por nada del mundo se pueden cambiar en estos momentos.
Como le dice gabo, que tal los indices?, tienes un indice por la columna fecha que mencionaste?


SuerteX :)
 
Como le dice gabo, que tal los indices?, tienes un indice por la columna fecha que mencionaste?


SuerteX :)
en esa parranda de base de datos tienen indice por 3 campos (contando la PK y la fecha) pero igual los tiempos de consulta son altos, aunque tambien hay problemas de hardware. Es una maquina con 120GB de ram 2 procesadores de 4 core cada uno pero.... con un solo disco SATA 3 de 1TB para la base de datos (si, yo se que mas de uno puede llorar al ver eso) pero no quieren tocar el hardware
 
Bueno, en ese caso la particion le puede ayudar, pero no espere magia, en una consulta en una particio todo iria bien.

No tiene algun ambiente donde lo prueda reproducir antes de tocar la DB de produccion?


SuerteX :)
 
Bueno, en ese caso la particion le puede ayudar, pero no espere magia, en una consulta en una particio todo iria bien.

No tiene algun ambiente donde lo prueda reproducir antes de tocar la DB de produccion?


SuerteX :)
Claro todo debe pasar primero por un ambiente productivo. Afortunadamente la particion ya se hizo y el tiempo bajo a 0.5 segundos en algunas operaciones pero otras siguen en el orden de los 5 -8 segundos, sera ver que mas optimizar
 
en esa parranda de base de datos tienen indice por 3 campos (contando la PK y la fecha) pero igual los tiempos de consulta son altos, aunque tambien hay problemas de hardware. Es una maquina con 120GB de ram 2 procesadores de 4 core cada uno pero.... con un solo disco SATA 3 de 1TB para la base de datos (si, yo se que mas de uno puede llorar al ver eso) pero no quieren tocar el hardware

Puff para arto le sirve esa RAM con ese disco tan *****o típica colombianada de ingenieros. Un SSD definitivamente le ayudaría o armar un RAID. De ahí para adelante veo un desgaste innecesario intentar optimizar, cuando desde el hardware esta llevado. Cuesta mas su tiempo a que compren 4 discos mas, o un SSD.
 
Puff para arto le sirve esa RAM con ese disco tan *****o típica colombianada de ingenieros. Un SSD definitivamente le ayudaría o armar un RAID. De ahí para adelante veo un desgaste innecesario intentar optimizar, cuando desde el hardware esta llevado. Cuesta mas su tiempo a que compren 4 discos mas, o un SSD.

Claro... pero es que como juran que el RAID si o si vuelve lentas las maquinas y que es mejor un solo SSD bien grandote (le han metido un infierno de plata a unas maquinas para poder tener SSD del orden de 500GB, 750GB, incluso de 1TB sabiendo que con ese mismo dinero habrian armado algo mas interesante y funcional con otras tecnologias), de teras incluso a un storage server con un RAID 10 de varios discos SCSI Ultra de poco espacio. Pero bueno, por eso es que las cosas funcionan tan mal, a mi solo me toca cumplir con mi trabajo ya que por querer solucionar algunas cosas y hacer cosas bien he salido regañado. Con decirle que han "empacado" aplicativos de 700 usuarios con "servidores" web corriendo sobre computadores HP de mesa, les ponen 12GB de ram, un SSD y ya juran que soporta 1500 usuarios
 
Última edición:
Claro... pero es que como juran que el RAID si o si vuelve lentas las maquinas y que es mejor un solo SSD bien grandote (le han metido un infierno de plata a unas maquinas para poder tener SSD del orden de 500GB, 750GB, incluso de 1TB sabiendo que con ese mismo dinero habrian armado algo mas interesante y funcional con otras tecnologias), de teras incluso a un storage server con un RAID 10 de varios discos SCSI Ultra de poco espacio. Pero bueno, por eso es que las cosas funcionan tan mal, a mi solo me toca cumplir con mi trabajo ya que por querer solucionar algunas cosas y hacer cosas bien he salido regañado. Con decirle que han "empacado" aplicativos de 700 usuarios con "servidores" web corriendo sobre computadores HP de mesa, les ponen 12GB de ram, un SSD y ya juran que soporta 1500 usuarios

Bueno, que compren el SSD de 1 TB, cuando esta como a 3000US para maquinas IBM?
 
Bueno, que compren el SSD de 1 TB, cuando esta como a 3000US para maquinas IBM?

No son maquinas IBM son HP o DELL, pero el problema es que hasta donde tengo entendido esa cosa costo mucho mas de 3000 US, en pocas palabras un total derroche de recursos pero bueno...
 
Buenas les traigo una pregunta

Tengo en una BD una tabla con aproximadamente 50 millones de filas y cada fila con aproximadamente 20 columnas. Si particiono esta gran tabla en 50 tablas de 1 millon de registros, las controlo por fecha y pongo una vista a que extraiga datos de alguna particion teniendo en cuenta el intervalo de las fechas (bajo ninguna circunstancia se extraeran datos de dos particiones en una misma consulta) ¿Sera que logro una mejoria en la consulta? actualmente en esa tabla de 50 millones se me demora mas o menos 48 segundos una consulta que tengo que bajar tan siquiera a 10 segundos

Si la va dividir yo no crearía esa vista que igual termina haciendo lo mismo... sacando todo con todo para luego filtar ...

Tabla actual:
select * from usuarios where apellido = 'perez';
Multi Tabla:
select * from usuarios_p where apellido = 'perez';

Busque algo que le indique en cual tabla mas pequeña con un subnombre deba buscar.
 
Hola A todos, requiero de sus amplios conocimientos en SQL, Este es mi caso, tratare de ser breve:

Tengo un XML almacenado en un campo de una tabla obviamente con tipo de dato XML, lo que yo necesito particularmente es que toda la estructura del XML sea convertido a tablas (no necesariamente relacionadas), o que cuando lea el XML todos los campos se guarden en una sola tabla o una tabla temporal donde cada tag corresponda a un campo.

El problema radica en que no dispongo del XSD que seria lo mas obvio para poder crear las tablas, asi que me toca valerme solo del XML, con el riesgo de que me hagan falta tags cada vez que lea un xml entrante,

Saludos.
 
Hola A todos, requiero de sus amplios conocimientos en SQL, Este es mi caso, tratare de ser breve:

Tengo un XML almacenado en un campo de una tabla obviamente con tipo de dato XML, lo que yo necesito particularmente es que toda la estructura del XML sea convertido a tablas (no necesariamente relacionadas), o que cuando lea el XML todos los campos se guarden en una sola tabla o una tabla temporal donde cada tag corresponda a un campo.

El problema radica en que no dispongo del XSD que seria lo mas obvio para poder crear las tablas, asi que me toca valerme solo del XML, con el riesgo de que me hagan falta tags cada vez que lea un xml entrante,

Saludos.

¿Y la pregunta es?

SuerteX :)
 

Los últimos temas