Mi conclusión sobre particionar tablas

13/10/2004 - 18:56 por Pedro Jose Caceres | Informe spam
Sobre el hilo anterior donde consultaba sobre particionamiento de tablas por
año, luego de combinar varias respuestas (algunas contradictorias como dijo
alguien:) y hacer un par de pruebas he decidido unir las tablas en una sola
porque concluyo que no me reporta ningún beneficio tenerlas separadas o por
lo menos el beneficio es muy minimo, mientras que la programacion es mas
compleja.

A veces quizás por venir de otras plataformas no C/S uno pierde de vista que
SQL server esta precisamente diseñado para manejar grandes volúmenes de
datos sin necesidad de estar particionando. Por lo tanto en lo adelante no
habre de preocuparme por el volumen de los datos en las tablas siempre que
tenga los indices bien definidos.


Gracias a todos

Pedro Jose Caceres

Preguntas similare

Leer las respuestas

#1 Maxi
13/10/2004 - 19:38 | Informe spam
Hola, ojo que dividir puede aumentar considerablemente el rendimiento!! pero
para que eso suceda deberias poner las cosas en distintos Filegroups y que
estos esten en discos fisicos distintos.

Ahi podrias aumentar performance, al igual que hacer esto mismo pero para
los indices.

Yo en mi experiencia, si todo esta en un mismo disco no vi grandes
diferencias!! ahora haciendo lo que te mencione he podido en algunos casos a
aumentar mas de un 300% la performance


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Pedro Jose Caceres" escribió en el mensaje
news:
Sobre el hilo anterior donde consultaba sobre particionamiento de tablas


por
año, luego de combinar varias respuestas (algunas contradictorias como


dijo
alguien:) y hacer un par de pruebas he decidido unir las tablas en una


sola
porque concluyo que no me reporta ningún beneficio tenerlas separadas o


por
lo menos el beneficio es muy minimo, mientras que la programacion es mas
compleja.

A veces quizás por venir de otras plataformas no C/S uno pierde de vista


que
SQL server esta precisamente diseñado para manejar grandes volúmenes de
datos sin necesidad de estar particionando. Por lo tanto en lo adelante no
habre de preocuparme por el volumen de los datos en las tablas siempre que
tenga los indices bien definidos.


Gracias a todos

Pedro Jose Caceres







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.772 / Virus Database: 519 - Release Date: 01/10/2004
Respuesta Responder a este mensaje
#2 El principiante
13/10/2004 - 20:41 | Informe spam
Hola, ojo que dividir puede aumentar considerablemente el rendimiento!!


pero
para que eso suceda deberias poner las cosas en distintos Filegroups y que
estos esten en discos fisicos distintos.




Solamente si estan en discos distintos ???!!!!


Ahi podrias aumentar performance, al igual que hacer esto mismo pero para
los indices.

Yo en mi experiencia, si todo esta en un mismo disco no vi grandes
diferencias!!




Grandes no ok.. pero.. Viste alguna diferencia ???


ahora haciendo lo que te mencione he podido en algunos casos a
aumentar mas de un 300% la performance





Que interesante, pero para el caso de Pedro tendria que tener un disco por
cada año.



Andres Ledesma
Respuesta Responder a este mensaje
#3 Maxi
13/10/2004 - 20:53 | Informe spam
Hola, en mi experiencia con este tipo de cosas es que si tenes distintos
discos fisicos y partis las cosas (tablas, indices, etc) vas a poder obtener
una gran mejora en la performance.

Esto es basicamente por una cuestion de como manejan el SO los recursos del
servidor y como funciona SQL.

Al tener discos distintos y partir en distintos Filegroups (en un ERP que
instale recuerdo que se habida dividido como en 10) y las controladoras SCSI
son de multicanal paralelo, entonces se ve una mejora,
Porque:

El recurso mas critico en un servidor (y uno de los cuellos de botella mas
grande) es el disco, ya que sus velocidades no son ni comparables con la
RAM.

Cuando parti todo en un solo disco, y haciendo una tabla CRUD para definir
indices, no he notado realmente (percepcion del usuario final) mejoras!! eso
si, se nos complico toda la programacion :(

No creo que para el caso de Pedro deba tener un disco para cada AÑO, quizas
pueda dividir con otro criterio y aumentar la performance, pero separando en
discos, una forma podria ser:

1) Las tablas en un disco
2) Los indices en otro Disco

Si ademas quiere partir la tabla, en lugar de hacerla año por año, podria
hacer:

1) Historica (un disco)
2) Año actual (otro disco)

Claro para todo esto hay que hacer todo un analisis del CRUD, porque quizas
la mayoria de las consultas sean para el año en curso.

Como veras hay mucha tela por donde cortar, pero te repito: a mi en un
sistema ERP con mucha data me fue muy bien y hemos logrado un aumento
increible de performance.


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"El principiante" escribió en el mensaje
news:%23c$

> Hola, ojo que dividir puede aumentar considerablemente el rendimiento!!
pero
> para que eso suceda deberias poner las cosas en distintos Filegroups y


que
> estos esten en discos fisicos distintos.
>

Solamente si estan en discos distintos ???!!!!


> Ahi podrias aumentar performance, al igual que hacer esto mismo pero


para
> los indices.
>
> Yo en mi experiencia, si todo esta en un mismo disco no vi grandes
> diferencias!!


Grandes no ok.. pero.. Viste alguna diferencia ???


ahora haciendo lo que te mencione he podido en algunos casos a
> aumentar mas de un 300% la performance
>


Que interesante, pero para el caso de Pedro tendria que tener un disco por
cada año.



Andres Ledesma







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.772 / Virus Database: 519 - Release Date: 01/10/2004
Respuesta Responder a este mensaje
#4 Javier Loria
13/10/2004 - 21:24 | Informe spam
Hola:
Pues me alegro mucho!!!.
No pierdas la perspectiva de beneficio que significa particionar cuando
van a discos/servidores adicionales y en este caso es mejor usar Vistas
Particionadas que escondan la complejidad fisica.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Pedro Jose Caceres" wrote in message
news:
Sobre el hilo anterior donde consultaba sobre particionamiento de tablas


por
año, luego de combinar varias respuestas (algunas contradictorias como


dijo
alguien:) y hacer un par de pruebas he decidido unir las tablas en una


sola
porque concluyo que no me reporta ningún beneficio tenerlas separadas o


por
lo menos el beneficio es muy minimo, mientras que la programacion es mas
compleja.

A veces quizás por venir de otras plataformas no C/S uno pierde de vista


que
SQL server esta precisamente diseñado para manejar grandes volúmenes de
datos sin necesidad de estar particionando. Por lo tanto en lo adelante no
habre de preocuparme por el volumen de los datos en las tablas siempre que
tenga los indices bien definidos.


Gracias a todos

Pedro Jose Caceres


Respuesta Responder a este mensaje
#5 Guillermo Roldán
13/10/2004 - 23:10 | Informe spam
Es una buena opción la que has elegido.

De momento, SQL Server no dispone de un particionamiento como el que pueda
tener DB2 para s390 (por poner un ejemplo), pero la realidad que se maneja
excelentemente con gran cantidad de datos, y pueden conseguirse efectos muy
parecidos (aunque complicándose ligeramente la programación).

Saludos,

Guillermo Roldán
MCDBA, MCSE, MCSA
Madrid - Spain




"Pedro Jose Caceres" escribió en el mensaje
news:
Sobre el hilo anterior donde consultaba sobre particionamiento de tablas


por
año, luego de combinar varias respuestas (algunas contradictorias como


dijo
alguien:) y hacer un par de pruebas he decidido unir las tablas en una


sola
porque concluyo que no me reporta ningún beneficio tenerlas separadas o


por
lo menos el beneficio es muy minimo, mientras que la programacion es mas
compleja.

A veces quizás por venir de otras plataformas no C/S uno pierde de vista


que
SQL server esta precisamente diseñado para manejar grandes volúmenes de
datos sin necesidad de estar particionando. Por lo tanto en lo adelante no
habre de preocuparme por el volumen de los datos en las tablas siempre que
tenga los indices bien definidos.


Gracias a todos

Pedro Jose Caceres


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida