jueves, 28 de junio de 2012

La partición de tablas un método para mejorar la “inmediatez” de la información


La velocidad en tiempos de respuesta en las aplicaciones es un factor  determinante  en cualquier desarrollo de software. Es por esto que cuando las aplicaciones realizan una transacción como buscar, actualizar e insertar información se busca que sea de forma inmediata.

La  inmediatez en los desarrollos de software depende tanto del hardware como del software y sus respectivas configuraciones. Por consiguiente existen muchas soluciones para obtener la inmediatez y en muchos casos se complementa entre ellas mismas, pero  en este caso  en particular me enfocare en explicar una que  esta relacionada generalmente con las bases de datos relacionales, y es la partición de tablas, la cual es muy utilizda cuando se tienen grandes volumnes de información.

La partición de tablas es una solución que combina en muchos casos el hardware de la máquina con la solución lógica  para el motor de base de datos  relacional, en su definición lógica  es una forma de organizar los datos clasificándolas según criterios de agrupación, de manera que cada transacción  realizada en una tabla padre se redirija automáticamente a un menor grupo de datos que están agrupados en las tablas hijas.

Hay dos  formas de realizar la partición de tablas de una manera lógica, una es la segmentación de datos por fila la cual se llama partición de tablas de manera horizontal y la otra es la segmentación de datos por columnas la cual se llama partición de tablas de manera vertical, cada una de estas formas aplica ciertos criterios de agrupación como se nombran a continuación:

Partición de tablas de manera horizontal
  • Definiciones exactas de un valor de un tipo de dato en una o varias columnas como segmentación por ciudades por tipo de sexo o un valor numérico, entre otras.
  • Entre rangos, en este caso se tiene un valor o tipo de datos en una columna  como fechas o valores numéricos que nos permiten definir un criterio basado en intervalos o porciones.
Partición de tablas de manera vertical
  • En este caso se definen tablas con pocas columnas donde una de las columna esta enlazada con una  columna de la tabla padre, esta forma es muy utilizado para dividir columnas de grandes objetos como fotos y videos, o columnas que contiene información estática que se utiliza en forma agrupada para realizar análisis estadísticos, es decir este método trata de simular las bases de datos orientadas a columnas.
Pero como se diseña este tipo de solución, generalmente es un procedimiento  que se realiza de la siguiente manera, primero se debe definir los criterios de agrupación y formas de realizar la partición de tablas, luego indicar cual es el archivo donde se ubicara cada una de las tablas particionadas, y si es posible cada  archivos se debe ubicar en  un disco duro diferente.

En que ayuda la partición de tablas, es una solución que aumenta el  rendimiento cuando la velocidad del disco duro es el cuello de botella en las aplicaciones, ya que permite reducir la cantidad de datos a recorrer en cada consulta, además de  generar  índices mas pequeños para las búsquedas, por consiguiente  aumenta el rendimiento en la ejecución ya que las tablas por ser de menor tamaño  se ubican en la RAM y por lo tanto se evita ir al disco duro, además en algunos casos permite realizar respaldos o backups mas rápidos cuando se tiene segmentos de datos no actualizables.

Enlaces sugeridos wikipedia
Shard

Particionamiento

Continuará…………..

Por José A Cuartas M con No comentarios

0 comentarios:

Publicar un comentario

  • Popular
  • Categorias
  • Archivo