Partición (base de datos)
Este artigo precisa de máis fontes ou referencias que aparezan nunha publicación acreditada que poidan verificar o seu contido, como libros ou outras publicacións especializadas no tema. Por favor, axude mellorando este artigo. (Desde febreiro de 2019.) |
A partición dunha base de datos consiste na división dunha base de datos ou dos seus elementos en partes loxicamente independentes co obxectivo de facilitar o seu mantemento, optimizar o rendemento ou incrementar a dispoñibilidade.
Nos Sistemas Xestores de Bases de Datos Distribuídos emprégase habitualmente a partición de bases de datos. Cada base de datos divídese en varios segmentos lóxicos, e cada un deles localízase nun nodo do sistema, de xeito que os usuarios de cada nodo poden levar a cabo transaccións locais no seu nodo (incrementando o rendemento, a dispoñibilidade e a seguridade), e transaccións remotas no resto dos nodos.
A partición da base de datos pode levarse a cabo segmentando a base de datos en pequenas bases de datos separadas (cada unha delas coas súas propias táboas, índices e rexistro de transaccións) ou segmentando unicamente determinados obxectos de bases de datos (táboas).
A partición pode ser de dous tipos: horizontal ou vertical.
Partición horizontal consiste en distribuír as diferentes filas en diferentes táboas. Por exemplo, unha táboa de clientes con códigos postais podería partirse en dúas táboas: ClientesEste (que contería os clientes con códigos postais menores que 50000) e ClientesOeste (que contería os clientes con códigos postais maiores ou iguais a 50000). A táboa inicial con todos os clientes podería recrearse creando unha vista que amose a unión de ambas as táboas.
Partición vertical consiste en distribuír as diferentes columnas en diferentes táboas. Todas as táboas creadas compartirán polo menos unha columna común (a chave primaria da táboa principal), e a táboa inicial podería recrearse facendo un JOIN de todas as táboas.