This is the Trace Id: 85351b49205d9f2d20516663e0fcbd1d
Saltar al contenido principal
Azure

¿Qué es el particionamiento de bases de datos?

El particionamiento de bases de datos es un método de escalado horizontal que aumenta el rendimiento y la disponibilidad de la solución en sistemas distribuidos globales.

Particionamiento de base de datos definido

El particionamiento de base de datos hace referencia al proceso de dividir una base de datos grande en segmentos más pequeños y más fáciles de administrar, conocidos como particiones. Admite el escalado horizontal para que las aplicaciones y los sistemas puedan controlar el crecimiento de los datos y los volúmenes de usuario sin afectar al rendimiento ni a la disponibilidad. Las organizaciones usan estrategias de particionamiento para superar las restricciones de almacenamiento y otros desafíos asociados con el escalado de bases de datos en entornos de nube modernos.

  • El particionamiento de base de datos se define como un método de escalabilidad horizontal que divide una base de datos en particiones independientes que se ejecutan en una arquitectura de nada compartido (SNA).
  • Los datos se dividen entre particiones mediante claves de partición, permitiendo a las aplicaciones enrutar las solicitudes a las particiones adecuadas.
  • Normalmente, los datos se dividen entre particiones mediante valores numéricos, funciones hash, directorios de búsqueda o ubicaciones geográficas.
  • Las ventajas del particionamiento de bases de datos incluyen un rendimiento mejorado de las consultas, compatibilidad con la escalabilidad horizontal y una mayor tolerancia a errores.
  • Los casos de uso de particionamiento incluyen plataformas bancarias, de comercio electrónico y de redes sociales, que a menudo deben controlar el crecimiento rápido o los aumentos de datos o usuarios.

¿Cómo funciona el particionamiento de bases de datos?

El particionamiento de bases de datos es una técnica que se usa para escalar horizontalmente bases de datos grandes dividiéndolas en partes más pequeñas e independientes denominadas particiones. Cada partición funciona como una base de datos independiente que contiene un subconjunto distinto de los datos generales, pero mantiene el mismo esquema. Esto permite a las particiones formar colectivamente una base de datos lógica única, aunque se ejecuten en servidores independientes.

El particionamiento de bases de datos sigue una arquitectura de nada compartido (SNA), un modelo informático distribuido en el que cada partición funciona por sí sola sin compartir recursos de procesamiento, memoria o almacenamiento con otras particiones.

Una clave de partición (un campo específico o una combinación de campos de los datos) determina qué datos se almacenarán en cada partición. Cuando una aplicación necesita leer o escribir datos, usa la clave de partición para enrutar la solicitud a la partición adecuada.

Estrategias de particionamiento

Las organizaciones administran los datos distribuidos entre varias particiones de maneras diferentes. Estas son algunas estrategias comunes:

  • Particionamiento dinámico o basado en intervalos: los datos se dividen por intervalos de valores en la clave de partición. Por ejemplo, a una compartición de una base de datos de comercio electrónico se le pueden asignar números de id. de cliente del 1 al 1 000 000, y a otra partición se le pueden asignar números de id. de cliente 1000 001–2 000 000. Este método es eficaz para las consultas de rango, pero puede dar lugar a una distribución desigual si se accede a determinados intervalos con más frecuencia.
  • Particionamiento basado en hash:los datos se distribuyen uniformemente entre particiones mediante la aplicación de una fórmula matemática denominada función hash a cada clave de partición. Este enfoque ayuda a evitar la sobrecarga, pero puede dispersión de datos relacionados entre varias particiones, lo que hace que las consultas de intervalo sean menos eficaces.
  • Particionamiento basado en directorios o basado en búsquedas: un mapa de particiones indica qué claves de partición corresponden a qué datos. Esta estrategia ofrece flexibilidad para agregar rápidamente más claves de partición según sea necesario, pero agrega complejidad y posible sobrecarga.
  • Particionamiento geográfico: los datos se particionan en función de la ubicación geográfica, lo que reduce la latencia de los usuarios de diferentes regiones y admite los requisitos de residencia de datos. Muchas plataformas emparejan el particionamiento geográfico con la replicación de base de datos para lograr una mayor resistencia.

Obtenga más información acerca de las bases de datos.

¿Cuáles son las principales ventajas del particionamiento de bases de datos?

El particionamiento de bases de datos requiere una selección cuidadosa de claves de partición y una estrategia de particionamiento, así como optimización del enrutamiento de consultas. Estas son algunas de las principales ventajas del particionamiento de bases de datos:

  • Mejora el rendimiento de las consultas:al distribuir datos entre varias particiones, las bases de datos pueden recuperar más rápidamente el conjunto de datos necesario para ejecutar cada consulta. Esto da como resultado tiempos de respuesta más rápidos.
  • Admite escalabilidad horizontal: en lugar de escalar verticalmente la capacidad de los recursos en un solo servidor, las organizaciones pueden adaptarse a los crecientes volúmenes de datos y cargas de trabajo mediante el escalado horizontal y la adición de más particiones (y servidores). Obtenga más información acerca del escalado vertical frente al escalado horizontal.
  • Refuerza la tolerancia a errores: dado que el particionamiento emplea un enfoque SNA, cada partición está aislada de las demás. Cualquier problema que afecte a una compartición no afectará a los demás, mejorando la confiabilidad del sistema. La replicación de datos entre particiones protege aún más la disponibilidad.
  • Rentabilidad de las unidades:las particiones de datos tienen menos requisitos de hardware y software que las bases de datos grandes, que a menudo requieren servidores de alta gama y costosos.

Ayuda a optimizar las cargas de trabajo de inteligencia artificial: las bases de datos complejas y monolíticas pueden ralentizar la capacidad de la inteligencia artificial para acceder a los datos, realizar predicciones y aprender con el tiempo. El particionamiento admite la creación de un entorno distribuido y con datos enriquecidos en el que la inteligencia artificial puede funcionar de forma más eficaz.

Ejemplos específicos del sector de particionamiento de bases de datos

El particionamiento de bases de datos es especialmente útil para las soluciones basadas en la nube que experimentan un crecimiento rápido o picos imprevisibles en los datos o el tráfico de usuarios. Los siguientes casos de uso muestran formas de aplicar el particionamiento entre sectores:

  • Comercio electrónico: las plataformas comerciales dividen los datos de clientes y pedidos entre particiones, lo que ayuda a garantizar búsquedas rápidas de productos y experiencias de finalización de compra fluidas durante los períodos de compras pico.
  • Servicios financieros: los registros de transacciones bancarias y otras transacciones financieras se dividen por fecha o número de cuenta, lo que permite consultas eficaces y almacenamiento seguro y escalable.
  • Juegos en línea: los datos del jugador o de la sesión se dividen por región e identificador de usuario, equilibrando las cargas entre particiones y minimizando la latencia (el tiempo necesario para que los datos viajen a su destino) para audiencias globales.
  • Redes sociales: las plataformas de redes sociales dividen los datos del perfil de usuario y la fuente de actividades por identificador de usuario o intervalo de tiempo. Este enfoque permite a la plataforma consultar rápidamente publicaciones recientes y admitir millones de usuarios simultáneos.
  • Software como servicio (SaaS): las aplicaciones SaaS con varios inquilinos suelen dividir los datos por identificador de inquilino, aislando los datos de los clientes y simplifica la administración a medida que crece la base de usuarios. También pueden dividirlo por carga de trabajo de inquilino o ubicación geográfica.

Obtenga más información acerca de cómo funcionan los análisis de macrodatos.

El futuro del particionamiento de bases de datos

Al distribuir datos entre varios servidores independientes, el particionamiento reduce la carga en cualquier servidor, minimiza los cuellos de botella y mejora la disponibilidad y la capacidad de respuesta del sistema. Las ventajas de usar el particionamiento de bases de datos en entornos de nube modernos solo aumentarán a medida que la inteligencia artificial y otras tecnologías relacionadas sigan evolucionando.

Entre las tendencias que se pueden ver se incluyen las siguientes:

Flujos de trabajo de particionamiento asistidos por inteligencia artificial

Las características inteligentes, como la selección automatizada de claves de partición, el reequilibrio de cargas de trabajo y el enrutamiento de consultas, serán más estándar.

Ventaja: Operaciones simplificadas y optimizadas y escalabilidad sin precedentes

Cambio de cambios sin tiempo de inactividad

Las plataformas de datos modernas admitirán cada vez más cambios de clave de partición sin necesidad de tiempo de inactividad de los datos ni migraciones de datos complejas.

Ventaja: Mayor flexibilidad para actualizar las estrategias de particionamiento a medida que evolucionan las cargas de trabajo

Particionamiento combinado con bases de datos sin servidor

Las bases de datos sin servidor aprovisionan y administran servidores de forma independiente para cada partición. También escalan o reducen la capacidad a petición en función de las consultas controladas por eventos.

Ventaja: Reducción de la sobrecarga operativa

Redundancia geográfica adaptable y controlada por directivas

Los flujos de trabajo de particionamiento automatizados enrutan automáticamente los datos entre particiones geográficas en función de las reglas de directiva específicas geográficas insertadas en el código. Ventaja: Cumplimiento más rápido con los cambiantes requisitos normativos y de privacidad

Obtenga más información acerca de informática en la nube.

Preguntas más frecuentes

  • El particionamiento de bases de datos es el proceso de escalar horizontalmente una base de datos grande en varios servidores, cada uno de los que hospeda una partición con un subconjunto distinto de los datos generales. El particionamiento se usa para controlar eficazmente los volúmenes de datos crecientes y el tráfico de usuario mediante la propagación de consultas y almacenamiento entre máquinas en lugar de depender de un único servidor grande.
  • Tanto el particionamiento como la creación de particiones optimizan las operaciones de base de datos dividiendo una base de datos grande en subconjuntos más pequeños. Sin embargo, aunque la creación de particiones divide los datos en el mismo servidor, el particionamiento distribuye los datos entre varios servidores. La replicación hace referencia al mantenimiento de varias copias del mismo conjunto de datos en distintos servidores para obtener redundancia. 
  • Sí, el particionamiento de bases de datos mejora el rendimiento y la escalabilidad de las aplicaciones. Al distribuir datos y cargas de trabajo entre particiones, el particionamiento reduce los tiempos de respuesta de las consultas y aumenta la tolerancia a errores. Las organizaciones también pueden escalar aplicaciones horizontalmente. La elección de claves de partición y las estrategias de partición son esenciales para optimizar el particionamiento de datos.
  • Sí, Azure y otras plataformas en la nube ofrecen compatibilidad integrada con el particionamiento de bases de datos. Por ejemplo, Base de datos Azure SQL proporciona varias herramientas para optimizar el escalado de bases de datos, incluida una biblioteca cliente que simplifica la creación y administración de particiones.