Seguridad, acceso y operaciones para migraciones en Oracle
Este artículo es la tercera parte de una serie de siete partes que proporciona orientación sobre cómo migrar de Oracle a Azure Synapse Analytics. Este artículo se centra en los procedimientos recomendados para las operaciones de acceso de seguridad.
Consideraciones sobre la seguridad
El entorno de Oracle ofrece varios métodos de acceso y autenticación que el usuario podría querer migrar a Azure Synapse con el mínimo riesgo e impacto en el usuario. En el artículo se da por sentado que desea migrar los métodos de conexión existentes y las estructuras de usuarios, roles y permisos. Si no es así, use Azure Portal para crear y administrar un nuevo sistema de seguridad.
Para obtener más información sobre las opciones de seguridad de Azure Synapse, consulte Seguridad de Azure Synapse Analytics.
Conexión y autenticación
La autenticación consiste en comprobar la identidad de un usuario, dispositivo u otra entidad en un sistema informático, generalmente como requisito previo para obtener acceso a los recursos del sistema.
Sugerencia
La autenticación en Oracle y Azure Synapse se puede efectuar "en la base de datos" o mediante métodos externos.
Opciones de autorización de Oracle
El sistema Oracle ofrece los siguientes métodos de autenticación para los usuarios de bases de datos:
Autenticación de base de datos: mediante este método, la base de datos de Oracle administra la cuenta de usuario y autentica al usuario. Para proceder a la autenticación, la base de datos de Oracle generará una contraseña para los nuevos usuarios y guarda las contraseñas en formato cifrado. Los usuarios pueden cambiar su contraseña en cualquier momento. Oracle recomienda la administración de contraseñas a través del bloqueo de cuenta y de la expiración, el historial y la comprobación de complejidad de la contraseña. La autenticación de base de datos es habitual en instalaciones anteriores de Oracle.
Autenticación externa: mediante este método, la base de datos de Oracle mantiene la cuenta de usuario, y un servicio externo realiza la administración de contraseñas y la autenticación de usuarios. El servicio externo puede proporcionarlo un sistema operativo, o bien un servicio de red como Oracle Net. La base de datos se basa en el sistema operativo subyacente o el servicio de autenticación de red para restringir el acceso a las cuentas de base de datos. Este tipo de firma no usa una contraseña de base de datos. Hay dos opciones de autenticación externa:
Autenticación del sistema operativo: de forma predeterminada, Oracle requiere una conexión segura para los inicios de sesión que el sistema operativo autentica con el fin de evitar que un usuario remoto suplante la identidad de un usuario del sistema operativo a través de una conexión de red. Este requisito impide el uso de Oracle Net y una configuración de servidor compartido.
Autenticación de red: hay disponibles varios mecanismos de autenticación de red, como tarjetas inteligentes, huellas digitales, Kerberos y el sistema operativo. Muchos servicios de autenticación de red, como Kerberos, admiten el inicio de sesión único para que los usuarios tengan que recordar menos contraseñas.
Autenticación y autorización globales: este método permite administrar de forma centralizada la información relacionada con el usuario, incluidas las autorizaciones, en un servicio de directorio basado en LDAP. Los usuarios se identifican en la base de datos como usuarios globales. Esto significa que se autentican mediante TLS/SSL y que la administración de usuarios se produce fuera de la base de datos. El servicio de directorio centralizado se encarga de administrar los usuarios. Este enfoque proporciona autenticación segura mediante TLS/SSL, autenticación Kerberos o autenticación nativa de Windows, y facilita la administración centralizada de usuarios y privilegios en toda la empresa. La administración se simplifica porque no es necesario crear un esquema para cada usuario de cada base de datos de la empresa. También se admite el inicio de sesión único. De este modo, los usuarios solo necesitan iniciar sesión una vez para acceder a varias bases de datos y servicios.
Autenticación y autorización de proxy: puede designar un servidor de nivel intermedio para los clientes proxy de forma segura. Oracle dispone de varias opciones para la autenticación de proxy, como las siguientes:
El servidor de nivel intermedio se puede autenticar con el servidor de bases de datos. Un cliente, que en este caso es un usuario de aplicación u otra aplicación, se autentica con el servidor de nivel intermedio. Las identidades de cliente se pueden mantener a lo largo del recorrido hasta la base de datos.
El cliente, que en este caso es un usuario de base de datos, no se autentica mediante el servidor de nivel intermedio. La contraseña de la base de datos y la identidad del cliente se pasan a través del servidor de nivel intermedio al servidor de base de datos con fines de autenticación.
El cliente, que en este caso es un usuario global, se autentica mediante el servidor de nivel intermedio y pasa un nombre distintivo (DN) o un certificado a través del nivel intermedio para recuperar el nombre de usuario del cliente.
Opciones de autorización de Azure Synapse
Azure Synapse admite dos opciones básicas para la conexión y la autorización:
Autenticación de SQL: la autenticación de SQL se realiza a través de una conexión de base de datos que incluye un identificador de base de datos, un identificador de usuario y una contraseña, además de otros parámetros opcionales. Este método de autenticación equivale funcionalmente a la autenticación de base de datos de Oracle.
Autenticación de Microsoft Entra: con la autenticación de Microsoft Entra puede administrar centralmente las identidades de los usuarios de la base de datos y servicios de Microsoft en una ubicación. La administración centralizada de identificadores proporciona una ubicación única para administrar usuarios de Azure Synapse y simplifica la administración de permisos. La autenticación de Microsoft Entra admite conexiones a servicios LDAP y Kerberos. Por ejemplo, puede usar la autenticación de Microsoft Entra para conectarse a directorios LDAP existentes si deben permanecer en funcionamiento después de la migración de la base de datos.
Usuarios, roles y permisos
Tanto Oracle como Azure Synapse efectúan el control de acceso a la base de datos mediante una combinación de usuarios, roles y permisos. Puede usar las instrucciones SQL estándar CREATE USER
y CREATE ROLE/GROUP
para definir usuarios y roles. Las instrucciones GRANT
y REVOKE
asignan o retiran los permisos para usuarios o roles.
Sugerencia
El planeamiento es esencial para que el proyecto de migración tenga éxito. Empiece por las decisiones de enfoque de alto nivel.
Conceptualmente, las bases de datos de Oracle y Azure Synapse son similares y, hasta cierto punto, es posible automatizar la migración de identificadores de usuario, grupos y permisos existentes. Extraiga la información existente de usuario y grupo de las tablas del catálogo del sistema de Oracle y, a continuación, genere instrucciones CREATE USER
y CREATE ROLE
equivalentes y coincidentes. Ejecute esas instrucciones en Azure Synapse para recrear la misma jerarquía de roles o usuarios.
Sugerencia
Si es posible, automatice los procesos de migración para reducir el tiempo transcurrido y el alcance del error.
Después de extraer los datos, use las tablas del catálogo del sistema de Oracle para generar instrucciones GRANT
equivalentes y asignar permisos cuando se encuentre un equivalente.
Usuarios y roles
La información sobre los usuarios y grupos actuales de un sistema Oracle se mantiene en las vistas de catálogo del sistema, como ALL_USERS
y DBA_USERS
. Puede consultar estas vistas de la manera habitual a través de Oracle SQL*Plus u Oracle SQL Developer. Las consultas siguientes son ejemplos básicos:
--List of users
select * from dba_users order by username;
--List of roles
select * from dba_roles order by role;
--List of users and their associated roles
select * from user_role_privs order by username, granted_role;
Oracle SQL Developer tiene opciones integradas para mostrar información de usuario y rol en el panel Informes, como se muestra en la captura de pantalla siguiente.
Es posible modificar la instrucción SELECT
de ejemplo para producir un conjunto de resultados que consiste en una serie de instrucciones CREATE USER
y CREATE GROUP
. Para ello, incluya el texto correspondiente como un literal dentro de la instrucción SELECT
.
No hay ninguna manera de recuperar las contraseñas existentes, por lo que debe implementar un esquema para asignar nuevas contraseñas iniciales en Azure Synapse.
Sugerencia
Recuerde que la migración de un sistema almacenamiento de datos requiere tablas, vistas e instrucciones SQL.
Permisos
En un sistema Oracle, la vista del sistema DBA_ROLE_PRIVS
contiene los derechos de acceso para usuarios y roles. Si dispone de acceso SELECT
, puede consultar esa vista para obtener las listas de derechos de acceso actuales definidas en el sistema. La siguiente captura de pantalla de Oracle SQL Developer muestra una lista de derechos de acceso de ejemplo.
También puede crear consultas para generar un script que sea una serie de instrucciones CREATE
y GRANT
para Azure Synapse, en función de los privilegios de Oracle existentes. En la siguiente captura de pantalla de Oracle SQL Developer se muestra un ejemplo de ese script.
Esta tabla enumera y describe las vistas del diccionario de datos necesarias para ver la información de usuario, roles y privilegios.
Ver | Descripción |
---|---|
DBA_COL_PRIVS ALL_COL_PRIVS USER_COL_PRIVS |
La vista DBA describe todas las concesiones de objetos de columna en la base de datos. La vista ALL describe todas las concesiones de objetos de columna para las que el usuario actual o PUBLIC es propietario del objeto, otorgante o receptor. La vista USER describe las concesiones de objetos de columna para las que el usuario actual es propietario del objeto, otorgante o receptor. |
ALL_COL_PRIVS_MADE USER_COL_PRIVS_MADE |
La vista ALL enumera las concesiones de objetos de columna para las que el usuario actual es propietario del objeto u otorgante. La vista USER describe las concesiones de objetos de columna para las que el usuario actual es el otorgante. |
ALL_COL_PRIVS_RECD USER_COL_PRIVS_RECD |
La vista ALL describe las concesiones de objetos de columna para las que el usuario actual o PUBLIC es el otorgante. La vista USER describe las concesiones de objetos de columna para las que el usuario actual es el otorgante. |
DBA_TAB_PRIVS ALL_TAB_PRIVS USER_TAB_PRIVS |
La vista DBA enumera todas las concesiones de todos los objetos de la base de datos. La vista ALL enumera las concesiones de objetos en las que el usuario actual o PUBLIC es el receptor. La vista USER muestra concesiones en todos los objetos en los que el usuario actual es el receptor. |
ALL_TAB_PRIVS_MADE USER_TAB_PRIVS_MADE |
La vista ALL enumera las concesiones de objetos realizadas por el usuario actual o realizadas en los objetos que pertenecen al usuario actual. La vista USER enumera las concesiones de todos los objetos que pertenecen al usuario actual. |
ALL_TAB_PRIVS_RECD USER_TAB_PRIVS_RECD |
La vista ALL enumera las concesiones de objetos para las que el usuario existente o PUBLIC es el receptor. La vista USER enumera las concesiones de objeto para las que el usuario actual es el receptor. |
DBA_ROLES | Esta vista enumera todos los roles que existen en la base de datos. |
DBA_ROLE_PRIVS USER_ROLE_PRIVS |
La vista DBA enumera los roles concedidos a los usuarios y roles. La vista USER enumera los roles concedidos al usuario actual. |
DBA_SYS_PRIVS USER_SYS_PRIVS |
La vista DBA enumera los privilegios del sistema concedidos a los usuarios y roles. La vista USER enumera los privilegios del sistema concedidos al usuario actual. |
ROLE_ROLE_PRIVS | Esta vista describe los roles concedidos a otros roles. Solo se proporciona información sobre los roles a los que el usuario tiene acceso. |
ROLE_SYS_PRIVS | Esta vista contiene información sobre los privilegios del sistema concedidos a roles. Solo se proporciona información sobre los roles a los que el usuario tiene acceso. |
ROLE_TAB_PRIVS | Esta vista contiene información sobre los privilegios de objeto concedidos a roles. Solo se proporciona información sobre los roles a los que el usuario tiene acceso. |
SESSION_PRIVS | Esta vista enumera los privilegios que están habilitados actualmente para el usuario. |
SESSION_ROLES | Esta vista enumera los roles que están habilitados actualmente para el usuario. |
Oracle admite varios tipos de privilegios:
Privilegios del sistema: los privilegios del sistema permiten al receptor realizar tareas de administrador estándar en la base de datos. Normalmente, estos privilegios están restringidos a usuarios de confianza. Muchos privilegios del sistema son específicos de las operaciones de Oracle.
Privilegios de objeto: cada tipo de objeto tiene privilegios asociados.
Privilegios de tabla: los privilegios de tabla habilitan la seguridad en el nivel de lenguaje de manipulación de datos (DML) o el nivel de lenguaje de definición de datos (DDL). Puede asignar privilegios de tabla directamente a sus equivalentes en Azure Synapse.
Privilegios de vista: puede aplicar privilegios de objeto DML a las vistas de la misma forma que con las tablas. Puede asignar privilegios de vista directamente a sus equivalentes en Azure Synapse.
Privilegios de procedimiento: los privilegios de procedimientos permiten procedimientos, incluidos procedimientos y funciones independientes a los que se les concederá el privilegio
EXECUTE
. Puede asignar privilegios de procedimiento directamente a sus equivalentes en Azure Synapse.Privilegios de tipo: puede conceder privilegios del sistema a tipos con nombre, como tipos de objeto,
VARRAYs
y tablas anidadas. Normalmente, estos privilegios son específicos de Oracle y no tienen equivalente en Azure Synapse.
Sugerencia
Azure Synapse tiene equivalentes para operaciones básicas de base de datos, como DML y DDL.
La tabla siguiente enumera los privilegios comunes de administrador de Oracle que tienen un equivalente directo en Azure Synapse.
Privilegio de administración | Descripción | Permiso equivalente en Azure Synapse |
---|---|---|
[Create] Database | El usuario puede crear bases de datos. El permiso para operar en bases de datos existentes se controla mediante privilegios de objeto. | CREATE DATABASE |
[Create] External Table | El usuario puede crear tablas externas. El permiso para operar en las tablas existentes se controla mediante privilegios de objeto. | CREATE TABLE |
[Create] Function | El usuario puede crear funciones definidas por el usuario (UDF). El permiso para operar en las UDF existentes se controla mediante privilegios de objeto. | CREATE FUNCTION |
[Create] Role | El usuario puede crear grupos. El permiso para operar en los grupos existentes se controla mediante privilegios de objeto. | CREATE ROLE |
[Create] Index | Solo para uso del sistema. Los usuarios no pueden crear índices. | CREATE INDEX |
[Create] Materialized View | El usuario puede crear vistas materializadas. | CREATE VIEW |
[Create] Procedure | El usuario puede crear procedimientos almacenados. El permiso para operar en procedimientos almacenados se controla mediante privilegios de objeto. | CREATE PROCEDURE |
[Create] Schema | El usuario puede crear esquemas. El permiso para operar en los esquemas existentes se controla mediante privilegios de objeto. | CREATE SCHEMA |
[Create] Table | El usuario puede crear tablas. El permiso para operar en las tablas existentes se controla mediante privilegios de objeto. | CREATE TABLE |
[Create] Temporary Table | El usuario puede crear tablas temporales. El permiso para operar en las tablas existentes se controla mediante privilegios de objeto. | CREATE TABLE |
[Create] User | El usuario puede crear usuarios. El permiso para operar en los usuarios existentes se controla mediante privilegios de objeto. | CREATE USER |
[Create] View | El usuario puede crear vistas. El permiso para operar en las vistas existentes se controla mediante privilegios de objeto. | CREATE VIEW |
Puede automatizar la migración de estos privilegios mediante la generación de scripts equivalentes para Azure Synapse desde las tablas de catálogo de Oracle, como se describió anteriormente en esta sección.
La tabla siguiente enumera los privilegios comunes de objetos de Oracle que tienen un equivalente directo en Azure Synapse.
Privilegio de objeto | Descripción | Permiso equivalente en Synapse |
---|---|---|
Modificar | El usuario puede modificar los atributos de objeto. Se aplica a todos los objetos. | ALTER |
Eliminar | El usuario puede eliminar filas de tabla. Se aplica solo a las tablas. | Delete |
Anular | El usuario puede quitar objetos. Se aplica a todos los tipos de objeto. | DROP |
Execute | El usuario puede ejecutar funciones definidas por el usuario, elementos agregados definidos por el usuario o procedimientos almacenados. | Ejecute |
Insertar | El usuario puede insertar filas en una tabla. Se aplica solo a las tablas. | INSERT |
List | El usuario puede mostrar un nombre de objeto, en una lista o de otra manera. Se aplica a todos los objetos. | LISTA |
Seleccionar | El usuario puede seleccionar (o consultar) las filas en una tabla. Se aplica a tablas y vistas. | SELECT |
Truncate | Permite al usuario eliminar todas las filas de una tabla. Se aplica solo a las tablas. | TRUNCATE |
Actualizar | El usuario puede modificar las filas de una tabla. Se aplica solo a las tablas. | UPDATE |
Para obtener más información sobre los permisos de Azure Synapse, consulte Permisos del motor de base de datos.
Migración de usuarios, roles y privilegios
Hasta ahora, hemos descrito un enfoque común para migrar usuarios, roles y privilegios a Azure Synapse mediante los comandos SQL CREATE USER
, CREATE ROLE
y GRANT
. Sin embargo, no es necesario migrar al nuevo entorno todas las operaciones de Oracle con privilegios que se puedan conceder. Por ejemplo, las operaciones de administración del sistema no se aplican al nuevo entorno o la funcionalidad equivalente es automática o se administra fuera de la base de datos. En el caso de los usuarios, los roles y el subconjunto de privilegios que tienen un equivalente directo en el entorno de Azure Synapse, los pasos siguientes describen el proceso de migración:
Migre las definiciones de esquema, tabla y vista de Oracle al entorno de Azure Synapse. Este paso migra solo las definiciones de tabla, no los datos.
Extraiga los identificadores de usuario existentes que desea migrar desde las tablas del sistema de Oracle, genere un script de instrucciones
CREATE USER
para Azure Synapse y ejecútelo en el entorno de Azure Synapse. Busque la manera de crear nuevas contraseñas iniciales, ya que las contraseñas no se pueden extraer del entorno de Oracle.Extraiga los roles existentes de las tablas del sistema Oracle, genere un script de instrucciones
CREATE ROLE
equivalentes para Azure Synapse y ejecútelo en el entorno de Azure Synapse.Extraiga las combinaciones de usuario y rol de las tablas del sistema Oracle, genere un script para
GRANT
roles a los usuarios en Azure Synapse y ejecútelo en el entorno de Azure Synapse.Extraiga la información de privilegios pertinente de las tablas del sistema de Oracle, genere un script para
GRANT
los privilegios correspondientes a los usuarios y roles de Azure Synapse y ejecútelo en el entorno de Azure Synapse.
Consideraciones acerca de las operaciones
Esta sección se centra en cómo implementar tareas operativas típicas de Oracle en Azure Synapse con el mínimo riesgo e impacto en el usuario.
Al igual que sucede con todos los productos de almacenamiento de datos en producción, hay tareas de administración continuas que son necesarias para que el sistema se mantenga funcionando de forma eficaz y proporcionar datos con fines de supervisión y auditoría. Otras consideraciones operativas incluyen el uso de recursos, el planeamiento de la capacidad para el crecimiento futuro y la copia de seguridad o restauración de datos.
Sugerencia
Las tareas operativas son necesarias para que cualquier almacenamiento de datos funcione de forma eficaz.
Las tareas de administración de Oracle normalmente se dividen en dos categorías:
Administración del sistema: se encarga de administrar el hardware, las opciones de configuración, el estado del sistema, el acceso, el espacio en disco, el uso, las actualizaciones y otras tareas.
Administración de bases de datos: consiste en la administración de las bases de datos de usuarios y su contenido, la carga de datos, las copias de seguridad de datos, la recuperación de datos y el acceso a los datos y permisos.
Oracle ofrece varios métodos o interfaces disponibles para llevar a cabo diversas tareas de administración del sistema y de bases de datos:
Oracle Enterprise Manager es la plataforma de administración local de Oracle. Proporciona un único panel para administrar todas las implementaciones de Oracle de un cliente, ya sea en sus centros de datos o en Oracle Cloud. A través de una integración profunda con la pila de productos de Oracle, Oracle Enterprise Manager proporciona compatibilidad de administración y automatización para aplicaciones, bases de datos, middleware, hardware y sistemas diseñados de Oracle.
Oracle Instance Manager proporciona una interfaz de usuario para la administración de alto nivel de las instancias de Oracle. Oracle Instance Manager habilita tareas como el inicio, el apagado y la visualización de registros.
Oracle Database Configuration Assistant es una interfaz de usuario que facilita la administración y configuración de diversas características y funciones de base de datos.
Los comandos SQL admiten tareas y consultas de administración en una sesión de base de datos de SQL. Puede ejecutar comandos SQL desde el intérprete de comandos de Oracle SQL*Plus, la interfaz de usuario de Oracle SQL Developer o mediante las API de SQL (por ejemplo, ODBC, JDBC y el proveedor OLE DB). Debe tener una cuenta de usuario de base de datos para ejecutar los comandos SQL con los permisos adecuados para las consultas y tareas que lleve a cabo.
Aunque las tareas de administración y operaciones de diferentes sistemas de almacenamiento de datos son similares conceptualmente, las implementaciones individuales podrían diferir. Los productos modernos basados en la nube, como Azure Synapse, suelen incorporar un enfoque más automatizado y "administrado por el sistema" en comparación con un enfoque más manual en entornos heredados como Oracle.
En las secciones siguientes se comparan las opciones de Oracle y Azure Synapse en relación con diversas tareas operativas.
Tareas de limpieza
En la mayoría de los entornos de almacenamiento de datos heredados, las tareas comunes de "limpieza" consumen mucho tiempo. Puede reclamar espacio de almacenamiento en disco quitando las versiones anteriores de las filas actualizadas o eliminadas. O bien, puede reclamar espacio de almacenamiento en disco mediante la reorganización de los datos, los archivos de registro y los bloques de índice con fines de eficacia (por ejemplo, al ejecutar ALTER TABLE... SHRINK SPACE
en Oracle).
Sugerencia
Las tareas de limpieza mantienen un almacén de producción que funciona eficazmente y optimizan el almacenamiento y otros recursos.
La recopilación de estadísticas es una tarea potencialmente lenta, que es necesaria después de una ingesta masiva de datos, ya que proporciona al optimizador de consultas datos actualizados para los planes de ejecución de consultas.
Oracle tiene una característica integrada para ayudar a analizar la calidad de las estadísticas: Optimizer Statistics Advisor. Funciona mediante una lista de reglas de Oracle que representan los procedimientos recomendados para las estadísticas del optimizador. El asistente comprueba cada regla y, cuando es necesario, genera resultados, recomendaciones y acciones que implican llamadas al paquete DBMS_STATS
para tomar medidas correctivas. Los usuarios pueden ver la lista de reglas en la vista V$STATS_ADVISOR_RULES
, como se muestra en la captura de pantalla siguiente.
Una base de datos de Oracle contiene muchas tablas de registro en el diccionario de datos, que acumulan datos, ya sea automáticamente o después de habilitar determinadas características. Dado que los datos de registro crecen con el tiempo, purgue la información anterior para evitar el uso de espacio permanente. Oracle incorpora opciones para automatizar el mantenimiento de registros.
Azure Synapse puede generar automáticamente estadísticas para que estén disponibles cuando sea necesario. Realice la desfragmentación de índices y bloques de datos manualmente, de forma programada o automática. Mediante el uso de funcionalidad nativa integrada de Azure, el esfuerzo de migración es menor.
Sugerencia
Automatice y supervise las tareas de limpieza en Azure.
Supervisión y auditoría
Oracle Enterprise Manager incluye herramientas para supervisar varios aspectos de uno o varios sistemas Oracle, como la actividad, el rendimiento, la puesta en cola y el uso de recursos. Oracle Enterprise Manager tiene una interfaz de usuario interactiva que permite a los usuarios explorar en profundidad los detalles de bajo nivel de cualquier gráfico.
Sugerencia
Oracle Enterprise Manager es el método recomendado para supervisar e iniciar sesión en sistemas Oracle.
El diagrama siguiente proporciona información general sobre el entorno de supervisión en un sistema de almacenamiento de datos de Oracle.
Azure Synapse también proporciona una experiencia de supervisión enriquecida en Azure Portal para ofrecer detalles de la carga de trabajo de almacenamiento de datos. Azure Portal es la herramienta recomendada para supervisar el sistema de almacenamiento de datos, porque proporciona períodos de retención configurables, alertas, recomendaciones, y gráficos y paneles personalizables para métricas y registros.
Sugerencia
Azure Portal proporciona una interfaz de usuario para administrar las tareas de supervisión y auditoría de todos los datos y procesos de Azure.
Azure Portal también puede ofrecer recomendaciones para mejorar el rendimiento, como se muestra en la captura de pantalla siguiente.
El portal permite la integración con otros servicios de supervisión de Azure, tales como Operations Management Suite (OMS) y Azure Monitor para ofrecer una experiencia de supervisión integral no solo para el sistema de almacenamiento de datos sino también para la plataforma de Azure Analytics en su conjunto. Para obtener más información, consulte Operaciones y opciones de administración de Azure Synapse.
Alta disponibilidad (HA) y recuperación ante desastres (DR)
Desde su lanzamiento inicial en 1979, el entorno de Oracle ha evolucionado para abarcar numerosas características solicitadas por los clientes de empresas, como las opciones de alta disponibilidad (HA) y recuperación ante desastres (DR). El anuncio más reciente en este ámbito es la arquitectura de máxima disponibilidad (MAA), que incluye arquitecturas de referencia para cuatro niveles de alta disponibilidad y recuperación ante desastres:
- Nivel Bronze: una arquitectura de alta disponibilidad de instancia única
- Nivel Silver: alta disponibilidad con conmutación automática por error
- Nivel Gold: alta disponibilidad y recuperación ante desastres de manera integral
- Nivel Platinum: cero interrupciones para las aplicaciones listas para el nivel Platinum
Azure Synapse usa instantáneas de base de datos para proporcionar la alta disponibilidad del sistema de almacenamiento de datos. Una instantánea de almacenamiento de datos crea un punto de restauración que se puede usar para restaurar el estado previo del sistema de almacenamiento de datos. Dado que Azure Synapse es un sistema distribuido, una instantánea de almacenamiento de datos consta de muchos archivos almacenados en Azure Storage. Las instantáneas capturan los cambios incrementales de los datos almacenados en su sistema de almacenamiento de datos.
Sugerencia
Azure Synapse crea instantáneas automáticamente para acelerar el tiempo de recuperación.
Azure Synapse crea automáticamente instantáneas a lo largo del día y puntos de restauración que están disponibles durante siete días. No se puede cambiar este período de retención. Azure Synapse admite un objetivo de punto de recuperación (RPO) de ocho horas. Puede restaurar el almacenamiento de datos de la región primaria a partir de cualquiera de las instantáneas capturadas en los últimos siete días.
Sugerencia
Las instantáneas definidas por el usuario se pueden usar para definir un punto de recuperación antes de actualizaciones importantes.
Azure Synapse admite puntos de restauración definidos por el usuario, que se crean a partir de instantáneas desencadenadas manualmente. Al crear puntos de restauración antes y después de hacer modificaciones importantes en el sistema almacenamiento de datos, garantizará la coherencia lógica de los puntos de restauración. Los puntos de restauración definidos por el usuario aumentan la protección de datos y reducen el tiempo de recuperación si hay interrupciones de carga de trabajo o errores de usuario.
Además de las instantáneas, Azure Synapse lleva a cabo de forma predeterminada una copia de seguridad geográfica una vez al día en un centro de datos emparejado. El RPO para una restauración geográfica es de 24 horas. Puede restaurar la copia de seguridad geográfica en un servidor de cualquier otra región en la que se admita Azure Synapse. Una copia de seguridad geográfica garantiza que un entorno de almacenamiento de datos se pueda restaurar si los puntos de restauración de la región primaria no estén disponibles.
Sugerencia
Microsoft Azure proporciona copias de seguridad automáticas en una ubicación geográfica independiente para habilitar la recuperación ante desastres.
Administración de cargas de trabajo
Oracle proporciona utilidades como Enterprise Manager y Database Resource Manager (DBRM) para administrar las cargas de trabajo. Estas utilidades incluyen características como el equilibrio de carga en clústeres grandes, la ejecución de consultas simultáneas, la medición del rendimiento y la priorización de tareas. Muchas de estas características se pueden automatizar para que el sistema se ajuste automáticamente hasta cierto punto.
Sugerencia
Un sistema típico de almacenamiento de datos de producción ejecuta simultáneamente cargas de trabajo mixtas con diferentes características de uso de los recursos.
Azure Synapse registra automáticamente las estadísticas de uso de recursos. Las métricas incluyen estadísticas de uso para CPU, memoria, caché, E/S y área de trabajo temporal para cada consulta. Azure Synapse también registra información de conectividad, como los intentos de conexión con error.
Sugerencia
Las métricas de bajo nivel y de todo el sistema se registran automáticamente en Azure.
En Azur Synapse, las clases de recursos son límites de recursos predeterminados que rigen los recursos de proceso y la simultaneidad de la ejecución de las consultas. Las clases de recursos facilitan la administración de la carga de trabajo al establecer límites en cuanto al número de consultas que se ejecutan simultáneamente y a los recursos de proceso que se asignan a cada consulta. Gracias a esto, la memoria y la simultaneidad se compensan.
Azure Synapse admite estos conceptos básicos de administración de cargas de trabajo:
Clasificación de cargas de trabajo: puede asignar una solicitud a un grupo de cargas de trabajo para establecer niveles de importancia.
Importancia de la carga de trabajo: puede influir en el orden en el que una solicitud obtiene acceso a los recursos. De manera predeterminada, las consultas se liberan desde la cola sobre la base primero en entrar, primero en salir, a medida que los recursos están disponibles. La importancia de las cargas de trabajo permite que las consultas de prioridad más alta reciban recursos de inmediato, independientemente de la cola.
Aislamiento de la carga de trabajo: puede reservar recursos para un grupo de cargas de trabajo, asignar un uso máximo y mínimo para distintos recursos, limitar los recursos que puede consumir un grupo de solicitudes y establecer un valor de tiempo de espera para terminar automáticamente las consultas descontroladas.
La ejecución de cargas de trabajo mixtas puede suponer desafíos de recursos en sistemas ocupados. Un esquema de administración de cargas de trabajo correcto administra los recursos de manera eficaz, garantiza un uso de recursos muy eficaz y maximiza la rentabilidad de la inversión (ROI). La clasificación de la carga de trabajo, la importancia de la carga de trabajo y el aislamiento de la carga de trabajo proporcionan más control sobre cómo la carga de trabajo utiliza los recursos del sistema.
Es posible usar las métricas de carga de trabajo que Azure Synapse recopila para el planeamiento de la capacidad. Por ejemplo, con el fin de determinar los recursos necesarios para usuarios adicionales, o bien para una carga de trabajo de mayor tamaño de la aplicación. También puede usar métricas de carga de trabajo para planear los requisitos de escalabilidad de los recursos de proceso con el fin de abordar de forma asequible los picos de las cargas de trabajo.
En la guía de administración de cargas de trabajo se describen las técnicas para analizar la carga de trabajo, administrar y supervisar la importancia de la carga de trabajo](../../sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md) y los pasos para convertir una clase de recurso en un grupo de cargas de trabajo. Use Azure Portal y las consultas de T-SQL en DMV para supervisar la carga de trabajo para asegurarse de que los recursos aplicables se usan de forma eficaz. Azure Synapse proporciona un conjunto de vistas de administración dinámica (DMV) para supervisar todos los aspectos de la administración de cargas de trabajo. Estas vistas resultan útiles para la solución de problemas y la identificación activas de cuellos de botella de rendimiento en la carga de trabajo.
Para más información sobre la administración de cargas de trabajo en Azure Synapse, consulte Administración de cargas de trabajo con clases de recursos.
Escalado de los recursos de proceso
La arquitectura de Azure Synapse separa los recursos de proceso y de almacenamiento, facilitando su escalabilidad por separado. Por consiguiente, los recursos de proceso se puede escalar para satisfacer las demandas de rendimiento independientemente del almacenamiento de datos. También puede pausar y reanudar los recursos de proceso. Otra ventaja de esta arquitectura es que los recursos de proceso y almacenamiento se facturan por separado. Si un almacenamiento de datos no está en uso, puede ahorrar en los costos pausando el proceso.
Sugerencia
Una ventaja importante de Azure es la capacidad de escalar y reducir verticalmente los recursos de proceso de forma independiente y a petición, para controlar las cargas de trabajo máximas de forma rentable.
Puede aumentar o reducir el número de recursos de proceso ajustando la configuración de las unidades de almacenamiento de datos (DWU) para un sistema de almacenamiento de datos. El rendimiento de carga y consulta aumentará de forma lineal a medida que asigne más DWU.
Si aumenta las DWU, el número de nodos de proceso aumentará, lo que agrega potencia de proceso y admite más capacidad de procesamiento en paralelo. A medida que aumenta el número de nodos de proceso, se reducirá el número de distribuciones por nodo de proceso. De este modo, se proporciona más potencia de proceso y capacidad de procesamiento en paralelo para las consultas. Del mismo modo, si disminuye las DWU, el número de nodos de proceso se reducirá y también lo harán los recursos de proceso para las consultas.
Pasos siguientes
Para obtener más información sobre la visualización y los informes, consulte el siguiente artículo de esta serie: Visualización e informes para migraciones de Oracle.