Despliegue bases de datos Oracle escalables linealmente distribuidas en Oracle Cloud, Microsoft Azure y Amazon Web Services
Oracle Sharding permite la hiperescala, distribuida globalmente y convergente en las bases de datos. Admite aplicaciones que requieren escalabilidad lineal, elasticidad, aislamiento de fallos y distribución geográfica de los datos para la soberanía de datos. Para ello, distribuye fragmentos de un juego de datos entre bases de datos (shards) de Oracle independientes. Puede desplegar particiones horizontales en la nube o locales sin necesidad de hardware o software especializado. Los particiones horizontales no se comunican entre sí en tiempo de ejecución en esta arquitectura shared-nothing, que permite desplegar particiones horizontales en una nube, mientras que el resto de particiones horizontales se encuentran en una nube u local diferentes.
Arquitectura
La siguiente arquitectura muestra una topología de Oracle Database 19c tolerante a fallos y con particiones horizontales. Las particiones horizontales principales se distribuyen entre regiones en Oracle Cloud, Microsoft Azure y Amazon Web Services. Para cada partición horizontal primaria, se aprovisiona una partición horizontal en espera dentro de la misma región.
La arquitectura tiene recursos redundantes en cada capa (director estándar, catálogo y particiones horizontales) de cada proveedor de servicios en la nube para garantizar la máxima disponibilidad de la base de datos con particiones horizontales.
El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de la ilustración shards-db-oci-azure-aws.png
La arquitectura tiene los siguientes componentes:
- Gateway de internet
El gateway de Internet permite el tráfico entre las subredes públicas y la red pública de Internet. Cada proveedor de nube está conectado a la red pública de Internet.
- Directores de Particiones Shard
Un director de particiones horizontales (también denominado gestor de servicios global) es un listener de red que permite el enrutamiento de conexión de alto rendimiento a los fragmentos de base de datos adecuados según las claves de partición horizontal.
Puede especificar el número de directores de particiones horizontales necesarios. Los directores de particiones horizontales se despliegan en instancias informáticas individuales en cada proveedor de servicios en la nube. Puede elegir la forma de las instancias informáticas que se utilizarán para los directores de particiones horizontales.
- Catálogos de particiones horizontales principales y en espera
Un catálogo de particiones horizontales es una instancia especial de Oracle Database que admite el despliegue automatizado de particiones horizontales, la gestión centralizada de una base de datos con particiones horizontales y consultas multidetín.
Esta arquitectura contiene un par de bases de datos de catálogo principal en espera, cada una en un sistema de base de datos de nodo único. Puede elegir la unidad de base de datos y la capacidad de almacenamiento disponible para las bases de datos del catálogo. Se despliega un par de bases de datos de catálogo principal en espera en cada proveedor de nube.
- Fragmentos de base de datos
Cada partición horizontal de la base de datos es un sistema de base de datos de un solo nodo. Las particiones horizontales principales se distribuyen en Oracle Cloud, Microsoft Azure y Amazon Web Services. Cada partición horizontal principal tiene asociada una partición horizontal en espera.
Recomendaciones
- Tamaño y número de fragmentosAl desplegar la pila, puede especificar la unidad de base de datos que se va a utilizar y el número de particiones horizontales.
- Elija una unidad adecuada según sus requisitos de carga de trabajo. La unidad que especifique se utiliza para todas las particiones horizontales.
Después del despliegue, puede cambiar la unidad de las particiones horizontales individuales para adaptarse a los cambios en la carga de trabajo. La partición horizontal para la que cambia la unidad se detiene y, a continuación, se reinicia con la nueva unidad.
- En general, un gran número de particiones horizontales pequeñas proporciona una mejor tolerancia general a los fallos que un pequeño número de particiones horizontales grandes. Para ampliar la topología o mejorar la tolerancia a fallos, puede agregar particiones horizontales en cualquier momento sin afectar la disponibilidad de las particiones horizontales existentes. Cuando es necesario, puede escalar la base de datos con particiones horizontales; la última partición horizontal creada se elimina primero después de mover los datos a las otras particiones horizontales.
- Elija una unidad adecuada según sus requisitos de carga de trabajo. La unidad que especifique se utiliza para todas las particiones horizontales.
- Disponibilidad de partición horizontal
Para garantizar una alta disponibilidad de las particiones horizontales, aprovisione las particiones en espera y utilice Oracle Data Guard para la sincronización de la base de datos primaria a la en espera y para el failover.
- Disponibilidad de catálogo de particiones horizontales
Para una alta disponibilidad del catálogo de particiones horizontales, aprovisione un catálogo en espera y utilice Oracle Data Guard para la sincronización y el failover. Tenga en cuenta que la disponibilidad del catálogo de particiones horizontales no afecta a la disponibilidad de la base de datos con particiones horizontales. Una interrupción del catálogo de particiones horizontales sólo afecta a la capacidad de realizar operaciones de mantenimiento o consultas multidetín mientras realiza una conmutación por error al catálogo en espera. Las transacciones OLTP se siguen enrutando a las particiones horizontales.
- Disponibilidad del director de particiones horizontales
Para una alta disponibilidad de la capa de director de particiones horizontales, despliegue varios directores de particiones horizontales. Puede desplegar hasta cinco directores de particiones horizontales en una región. Oracle recomienda desplegar al menos dos directores de partición horizontal. En Oracle Cloud, Oracle recomienda aislar a los directores de particiones horizontales en dominios de disponibilidad independientes o dominios de errores.
- Almacenamiento
Seleccione una capacidad de almacenamiento adecuada para la carga de trabajo. Por ejemplo, el almacenamiento local o un volumen en bloque de un tamaño especificado se asocian a cada partición horizontal de la base de datos.
Puede ampliar el almacenamiento en cualquier momento sin afectar a la disponibilidad de la base de datos según la capacidad de los proveedores de almacenamiento en la nube. Para obtener más información sobre el almacenamiento en Oracle Cloud, consulte la documentación de Oracle Cloud Infrastructure Database para obtener más información sobre el almacenamiento en Oracle Cloud.
Consideraciones
- Diseño de aplicaciones
Cualquier aplicación que tenga una estrategia de distribución de datos bien definida y que acceda a los datos principalmente mediante una clave de fragmentación (como ID de cliente, número de cuenta, etc.) es adecuada para bases de datos con particiones horizontales.
- Escalabilidad
Después de desplegar la base de datos con particiones horizontales, puede aumentar o reducir el número de particiones horizontales mediante la edición de la pila y la aplicación de los cambios. Según el factor de replicación que especifique al desplegar la pila, también se escalan los particiones horizontales en espera.
También puede escalar el número de directores de particiones horizontales.
- Seguridad
Al desplegar la base de datos con particiones horizontales, especifique una clave SSH pública para activar conexiones SSH seguras a los servidores de base de datos.
Utilice firewalls y proxies, según corresponda, según sus casos de uso específicos y requisitos de seguridad.
- Aislamiento de red
Para garantizar el aislamiento de la red, la mejor práctica es desplegar la base de datos con particiones horizontales en una subred privada. Las soluciones de enrutamiento y firewall se deberán determinar en función del diseño y los requisitos de su aplicación.
Explorar más
Revise estas arquitecturas de referencia adicionales y manuales de soluciones:
- Despliegue bases de datos Oracle de escalabilidad lineal, tolerantes a fallos y con particiones horizontales en Oracle Cloud Infrastructure
- Obtenga más información sobre la interconexión de Oracle Cloud con Microsoft Azure
Uso de Oracle Sharding (documentación de Oracle Database 19c)