UNIVERSIDAD MARIANO GÁLVEZ DE GUATEMALA
FACULTAD DE INGENIERÍA EN SISTEMAS
CockroachDB
Catedrático: Ing. Alejandro Diaz
Materia: Base de Datos I
Estudiante: Lester Francisco Molina Aguilar 3590-20-8126
Introducción al motor
CockroachDB es un sistema de gestión de bases de datos SQL distribuido y de código
abierto. Está diseñado para ofrecer escalabilidad horizontal, alta disponibilidad,
compatibilidad con PostgreSQL y tolerancia a fallos, incluso en caso de caída de nodos
o centros de datos completos.
Pasos de instalación
1. Descargar CockroachDB desde la página oficial: [Link]
2. Instalar el binario correspondiente a tu sistema operativo.
Ejemplo en Linux/Mac:
curl [Link] | tar -xz
sudo cp -i [Link]-amd64/cockroach /usr/local/bin/
3. Inicializar un clúster local:
cockroach start-single-node --insecure --listen-addr=localhost:26257 --http-
addr=localhost:8080
4. Acceder al cliente SQL:
cockroach sql --insecure --host=localhost:26257
Script/Comandos para crear la base
-- Crear la base de datos
CREATE DATABASE ExpoDB;
-- Usar la base
USE ExpoDB;
-- Crear tabla
CREATE TABLE estudiantes (
id SERIAL PRIMARY KEY,
nombre STRING NOT NULL,
edad INT NOT NULL,
carrera STRING
);
-- Insertar datos
INSERT INTO estudiantes (nombre, edad, carrera) VALUES
('Ana García', 21, 'Ingeniería en Sistemas'),
('Luis Pérez', 23, 'Administración'),
('María López', 20, 'Medicina');
-- Consultar datos
SELECT * FROM estudiantes;
-- Filtrar datos
SELECT nombre, carrera FROM estudiantes WHERE edad > 21;
-- Actualizar datos
UPDATE estudiantes SET carrera = 'Arquitectura' WHERE id = 2;
-- Eliminar datos
DELETE FROM estudiantes WHERE id = 3;
Conclusiones
Ventajas
- Alta disponibilidad y tolerancia a fallos.
- Escalabilidad horizontal sin interrupciones.
- Compatible con PostgreSQL.
- Ideal para sistemas distribuidos y en la nube.
Limitaciones
- Configuración más compleja que bases tradicionales.
- Requiere recursos adicionales en producción.
- Algunas funciones avanzadas de PostgreSQL no están disponibles.
Casos de uso
- Aplicaciones financieras críticas.
- Plataformas globales con usuarios distribuidos.
- Sistemas que requieren escalabilidad y consistencia.
- Servicios de misión crítica como banca y e-commerce.
Código de ejemplo (SQL)
-- Crear base y tabla
CREATE DATABASE ExpoDB;
USE ExpoDB;
CREATE TABLE productos (
id SERIAL PRIMARY KEY,
nombre STRING NOT NULL,
precio DECIMAL NOT NULL
);
-- Insertar datos
INSERT INTO productos (nombre, precio) VALUES
('Laptop', 750.50),
('Celular', 399.99);
-- Consultar
SELECT * FROM productos;