Skip to main content

Command Palette

Search for a command to run...

Introducción a Oracle Database

Updated
5 min read
Introducción a Oracle Database
M
Bienvenidos a "La Botica del DBA" Donde la pasión por las bases de datos Oracle se transforma en conocimiento y excelencia. Este espacio está diseñado para ser el laboratorio de ideas, soluciones y estrategias que todo DBA necesita para optimizar, innovar y liderar en el mundo de las bases de datos. Desde los fundamentos hasta las últimas tendencias, aquí encontrarás guías prácticas, análisis profundos y herramientas que impulsarán tu carrera y tus proyectos al siguiente nivel.

¡Bienvenidos al boletín de La Botica del DBA! En esta edición, en la primera sección exploraremos algunas fundamentos introductorios de Oracle Database, el cual es un sistema de gestión de bases de datos relacionales (RDBMS) líder en la industria, diseñado para proporcionar un almacenamiento y recuperación de datos eficiente, confiable y seguro en entornos multiusuario. Este artículo en español ofrece una visión general detallada de los conceptos clave y la arquitectura de Oracle Database.

  1. Bases de datos relacionales

Una base de datos relacional almacena datos en tablas compuestas por filas y columnas. El modelo relacional, propuesto por E.F. Codd en 1970, es el estándar de la industria para bases de datos. Oracle Database implementa y extiende este modelo.

Características principales:

  • Independencia entre el almacenamiento físico y las estructuras lógicas de datos

  • Lenguaje SQL estándar para consultas y manipulación de datos

  • Soporte para transacciones ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad)

  • Control de concurrencia para acceso multiusuario

  • Integridad y consistencia de datos

Historia breve de Oracle Database:

  • 1977: Fundación de Software Development Laboratories (luego Oracle Corporation)

  • 1979: Oracle V2, primer RDBMS comercial basado en SQL

  • 1983: Oracle Version 3, primera base de datos portátil

  • 1992: Oracle7 introduce procedimientos almacenados y triggers en PL/SQL

  • 2001: Oracle9i introduce Oracle Real Application Clusters (RAC)

  • 2013: Oracle Database 12c introduce la arquitectura multitenant

  • Versiones recientes: Mejoras en blockchain, JSON, y columnar in-memory

  1. Objetos de esquema

Los objetos de esquema son estructuras lógicas que se refieren directamente a los datos. Los principales son:

a) Tablas:

  • Almacenan datos en filas y columnas

  • Describen entidades como empleados o productos

  • Cada columna tiene un nombre, tipo de dato y ancho

b) Índices:

  • Mejoran el rendimiento de las consultas

  • Son estructuras opcionales asociadas a una o más columnas de una tabla

  • Permiten localizar filas específicas rápidamente

c) Vistas:

  • Presentan datos de una o más tablas

  • Pueden simplificar consultas complejas

d) Procedimientos y funciones:

  • Contienen lógica de negocio

  • Se pueden almacenar en la base de datos para su reutilización

  1. Acceso a datos

Oracle Database proporciona varias opciones para acceder y manipular datos:

a) SQL (Structured Query Language):

  • Lenguaje estándar para consultas y manipulación de datos

  • Ejemplo: SELECT first_name, last_name FROM employees;

b) PL/SQL:

  • Extensión procedural de SQL para programación avanzada

  • Permite crear procedimientos almacenados, funciones y paquetes

c) Java:

  • Soporte para almacenar y ejecutar código Java en la base de datos

  • Se puede llamar a PL/SQL desde Java y viceversa

d) JavaScript:

  • Opción para lógica de negocio con Oracle Multilingual Engine (MLE)

  • Permite escribir funciones en JavaScript y exponerlas a SQL y PL/SQL

  1. Gestión de transacciones

Oracle Database garantiza la integridad y consistencia de los datos mediante:

a) Transacciones atómicas:

  • Principio de "todo o nada"

  • Ejemplo: transferencia de fondos entre cuentas

b) Control de concurrencia:

  • Uso de bloqueos para prevenir interacciones destructivas entre transacciones

  • Permite el acceso simultáneo de múltiples usuarios

c) Consistencia de lectura:

  • Garantiza que cada consulta vea datos consistentes en un punto en el tiempo

  • Evita lecturas sucias (dirty reads) de datos no confirmados

  1. Arquitectura de Oracle Database

La arquitectura de Oracle Database consta de varios componentes clave:

a) Instancia de base de datos:

  • Conjunto de estructuras de memoria y procesos que gestionan los archivos de la base de datos

  • Incluye el System Global Area (SGA) y procesos en segundo plano

b) Estructuras de almacenamiento físico:

  • Archivos de datos: Almacenan los datos de las tablas y otros objetos

  • Archivos de control: Contienen metadatos sobre la estructura física de la base de datos

  • Archivos redo log: Registran todos los cambios realizados a los datos

c) Estructuras de almacenamiento lógico:

  • Bloques de datos: Unidad más pequeña de almacenamiento

  • Extensiones: Conjunto contiguo de bloques de datos

  • Segmentos: Conjunto de extensiones que forman un objeto lógico (ej. una tabla)

  • Tablespaces: Contenedores lógicos para segmentos

d) Procesos:

  • Procesos de cliente: Ejecutan el código de la aplicación

  • Procesos de servidor: Manejan solicitudes de los clientes

  • Procesos en segundo plano: Realizan tareas de mantenimiento y monitoreo

Database Instance and CDB

Esta imagen muestra la relación entre la instancia de la base de datos y la CDB (Container Database), ilustrando cómo la instancia gestiona los archivos físicos de la base de datos.

  1. Arquitectura multitenant

Desde Oracle 12c, se introdujo la arquitectura multitenant que permite:

a) Bases de datos contenedoras (CDB):

  • Albergan múltiples bases de datos conectables (PDB)

  • Comparten recursos del sistema y archivos de control

b) Bases de datos conectables (PDB):

  • Aparecen como bases de datos independientes para las aplicaciones

  • Pueden ser fácilmente movidas entre CDBs

c) Contenedores de aplicaciones:

  • Permiten compartir metadatos y datos entre múltiples PDBs

  • Útiles para implementaciones SaaS y consolidación de bases de datos

PDBs in a CDB

Esta imagen ilustra cómo las PDBs (hrpdb y salespdb) existen dentro de una CDB (MYCDB), mostrando la estructura de la arquitectura multitenant.

  1. Base de datos distribuida globalmente

Oracle Globally Distributed Database (anteriormente Oracle Sharding) permite la partición horizontal de datos a través de múltiples PDBs, ofreciendo:

  • Escalabilidad lineal

  • Contención de fallos

  • Distribución geográfica de datos

Horizontal Partitioning of a Table Across Shards

Esta imagen muestra cómo una tabla se particiona horizontalmente a través de múltiples shards (PDBs en diferentes CDBs).

Oracle Globally Distributed Database Architecture

Esta imagen ilustra la arquitectura de Oracle Globally Distributed Database, mostrando cómo las solicitudes de los clientes se enrutan a los shards apropiados.

Conclusión

Oracle Database ofrece una plataforma robusta y escalable para gestionar datos empresariales, con características avanzadas de rendimiento, seguridad y disponibilidad. Su arquitectura flexible permite adaptarse a diversos escenarios de implementación, desde sistemas transaccionales hasta almacenes de datos y aplicaciones en la nube. Con la introducción de la arquitectura multitenant y las capacidades de distribución global, Oracle Database continúa evolucionando para satisfacer las demandas de las aplicaciones modernas y los entornos de nube.

Ref. Database Concepts --> 1 Introduction to Oracle Database

More from this blog

L

La botica del DBA

24 posts