Tipos de Bases de Datos - Guías de Conexión Detalladas

Esta guía proporciona instrucciones detalladas para conectarse a cada tipo de base de datos compatible, incluyendo dónde encontrar las credenciales y los requisitos de configuración específicos.

MySQL y MariaDB

MySQL y MariaDB son sistemas de gestión de bases de datos relacionales de código abierto muy populares. Comparten los mismos parámetros de conexión.

Parámetros de Conexión

  • Host: La dirección IP o el nombre de host de tu servidor MySQL
  • Puerto: El predeterminado es 3306, pero puede variar
  • Nombre de la Base de Datos: La base de datos específica a la que quieres conectarte
  • Nombre de Usuario: Tu nombre de usuario de MySQL
  • Contraseña: Tu contraseña de MySQL

Dónde Encontrar las Credenciales

  • Alojamiento propio: Revisa tus archivos de configuración de MySQL o contacta a tu administrador de sistemas
  • cPanel/Alojamiento compartido: Disponible en tu panel de control de alojamiento en "Bases de datos MySQL"
  • AWS RDS: Disponible en la consola de AWS RDS
  • Google Cloud SQL: Disponible en la Consola de Google Cloud
  • Azure Database: Disponible en el portal de Azure

Problemas Comunes de Conexión

  • Asegúrate de que tu base de datos permita conexiones externas
  • Revisa la configuración del firewall en el puerto 3306
  • Verifica que el usuario tenga permiso para conectarse de forma remota
  • Para servicios en la nube, asegúrate de que tu IP esté en la lista blanca

Ejemplo de Configuración

Host: mysql.example.com
Puerto: 3306
Base de Datos: mi_base_de_datos
Nombre de Usuario: usuario_bd
Contraseña: contrasena_segura

PostgreSQL

PostgreSQL es un potente sistema de base de datos objeto-relacional de código abierto.

Parámetros de Conexión

  • Host: La dirección IP o el nombre de host de tu servidor PostgreSQL
  • Puerto: El predeterminado es 5432
  • Nombre de la Base de Datos: La base de datos específica a la que quieres conectarte
  • Nombre de Usuario: Tu nombre de usuario de PostgreSQL
  • Contraseña: Tu contraseña de PostgreSQL

Dónde Encontrar las Credenciales

  • Alojamiento propio: Revisa los archivos pg_hba.conf y postgresql.conf
  • Heroku Postgres: Disponible en la configuración de tu aplicación → Variables de Configuración
  • AWS RDS: Disponible en la consola de AWS RDS
  • Google Cloud SQL: Disponible en la Consola de Google Cloud
  • Azure Database: Disponible en el portal de Azure
  • DigitalOcean: Disponible en tu panel de control de DigitalOcean

Problemas Comunes de Conexión

  • Revisa pg_hba.conf para las conexiones permitidas
  • Verifica que postgresql.conf permita conexiones en la interfaz correcta
  • Asegúrate de que el usuario tenga el privilegio CONNECT en la base de datos
  • Revisa la configuración del firewall en el puerto 5432

Ejemplo de Configuración

Host: postgres.example.com
Puerto: 5432
Base de Datos: mi_base_de_datos
Nombre de Usuario: usuario_postgres
Contraseña: contrasena_segura

Google BigQuery

BigQuery es el almacén de datos totalmente gestionado de Google para análisis.

Requisitos de Conexión

  • Proyecto de Google Cloud con la API de BigQuery habilitada
  • Cuenta de Servicio con los permisos adecuados
  • Archivo de clave JSON de la Cuenta de Servicio

Configuración del Acceso

  1. Crear un Proyecto de Google Cloud:

  2. Habilitar la API de BigQuery:

    • Navega a APIs y Servicios → Biblioteca
    • Busca "API de BigQuery"
    • Haz clic en "Habilitar"
  3. Crear Cuenta de Servicio:

    • Ve a IAM y Administración → Cuentas de Servicio
    • Haz clic en "Crear Cuenta de Servicio"
    • Proporciona un nombre y una descripción
  4. Asignar Permisos:

    • BigQuery Data Viewer (mínimo)
    • BigQuery Job User (para ejecutar consultas)
    • Roles adicionales según sea necesario para tus datos
  5. Generar Archivo de Clave:

    • Haz clic en tu cuenta de servicio
    • Ve a la pestaña Claves → Agregar Clave → Crear Nueva Clave
    • Elige el formato JSON y descarga

Parámetros de Conexión

  • ID del Proyecto: Tu ID de Proyecto de Google Cloud
  • JSON de la Cuenta de Servicio: Contenido del archivo JSON descargado
  • Conjunto de Datos (opcional): Conjunto de datos predeterminado a usar

Ejemplo de Configuración

ID del Proyecto: mi-proyecto-bigquery-123456
JSON de la Cuenta de Servicio: {
  "type": "service_account",
  "project_id": "mi-proyecto-bigquery-123456",
  ...
}

Amazon Redshift

Redshift es el servicio de almacén de datos basado en la nube de Amazon.

Parámetros de Conexión

  • Host: El punto de conexión de tu clúster de Redshift
  • Puerto: El predeterminado es 5439
  • Nombre de la Base de Datos: El nombre de la base de datos en tu clúster
  • Nombre de Usuario: Tu nombre de usuario de Redshift
  • Contraseña: Tu contraseña de Redshift

Dónde Encontrar las Credenciales

  1. Consola de AWS:

    • Navega a Amazon Redshift
    • Selecciona tu clúster
    • Los detalles de conexión se muestran en las propiedades del clúster
  2. Formato del Punto de Conexión: nombre-cluster.identificador.region.redshift.amazonaws.com

Configuración del Acceso

  • Asegúrate de que el clúster sea accesible públicamente (si te conectas desde fuera de AWS)
  • Configura los grupos de seguridad para permitir conexiones entrantes
  • Crea usuarios de base de datos con los permisos adecuados

Problemas Comunes de Conexión

  • Revisa las reglas de entrada del grupo de seguridad para el puerto 5439
  • Verifica que el clúster esté en estado "disponible"
  • Asegúrate de que el usuario tenga el privilegio CONNECT en la base de datos
  • Revisa las configuraciones de VPC y subred

Ejemplo de Configuración

Host: mi-cluster.abc123def456.us-west-2.redshift.amazonaws.com
Puerto: 5439
Base de Datos: analytics
Nombre de Usuario: usuario_redshift
Contraseña: contrasena_segura

Azure SQL Database

Azure SQL Database es el servicio de base de datos SQL basado en la nube de Microsoft.

Parámetros de Conexión

  • Servidor: El nombre de tu servidor Azure SQL
  • Nombre de la Base de Datos: El nombre específico de la base de datos
  • Nombre de Usuario: Tu nombre de usuario de autenticación SQL
  • Contraseña: Tu contraseña de autenticación SQL

Dónde Encontrar las Credenciales

  1. Portal de Azure:

    • Navega a Bases de datos SQL
    • Selecciona tu base de datos
    • Haz clic en "Cadenas de conexión" para ver todos los detalles
  2. Formato del Servidor: nombre-servidor.database.windows.net

Opciones de Autenticación

  • Autenticación SQL: Nombre de usuario/contraseña (recomendado para aplicaciones)
  • Autenticación de Azure AD: Usa Azure Active Directory (para acceso de usuarios)

Configuración del Acceso

  • Configura las reglas del firewall para permitir tu dirección IP
  • Asegúrate de que la Autenticación SQL esté habilitada
  • Crea usuarios de base de datos con los permisos adecuados

Problemas Comunes de Conexión

  • Revisa la configuración del firewall de Azure SQL
  • Verifica que la Autenticación SQL esté habilitada
  • Asegúrate de que el usuario tenga como mínimo el permiso db_datareader
  • Revisa el formato de la cadena de conexión

Ejemplo de Configuración

Host: miservidor.database.windows.net
Puerto: 1433
Base de Datos: mibasededatos
Nombre de Usuario: sqladmin
Contraseña: contrasena_segura

Google Sheets

La integración con Google Sheets te permite conectarte a hojas de cálculo en tu Google Drive como fuentes de datos.

Requisitos de Conexión

  • Cuenta de Google con acceso a Google Sheets
  • Autenticación OAuth 2.0 a través de Google
  • Acceso a las API de Google Sheets y Google Drive

Configuración del Acceso

  1. Proceso de Autenticación:

    • Haz clic en "Conectar con Google" al crear la conexión
    • Inicia sesión en tu cuenta de Google
    • Otorga permiso para acceder a tus Google Sheets
  2. Permisos Requeridos:

    • Acceso de lectura a tus Google Sheets
    • Acceso de lectura a tu Google Drive (para listar hojas de cálculo)

Cómo Funciona

  • Hojas de Cálculo como Fuentes de Datos: Cada hoja de cálculo en tu Google Drive se convierte en una fuente de datos disponible
  • Hojas como Tablas de Datos: Cada hoja dentro de una hoja de cálculo proporciona datos brutos
  • Primera Fila como Encabezados: La primera fila de cada hoja se trata como encabezados de columna
  • Tipos de Datos: Todos los datos se importan como texto por defecto

Método de Acceso a Datos

A diferencia de las bases de datos tradicionales, Google Sheets no admite consultas SQL. En su lugar:

  • Importación de Datos Crudos: PyQueryHub importa los datos completos de la hoja
  • Filtrado a Nivel de Gráfico: Todo el filtrado, ordenación y agregación ocurre en la configuración del gráfico
  • Sin Soporte SQL: No puedes escribir sentencias SELECT o cláusulas WHERE
  • Selección de Hoja: Elige qué hoja de cálculo y hoja usar como tu fuente de datos

Operaciones Soportadas

  • Acceso de solo lectura: Solo puedes leer datos, no modificarlos
  • Datos en tiempo real: Los datos se obtienen directamente de Google Sheets cuando se ejecutan los informes
  • Detección automática de esquema: Los nombres de las columnas se detectan desde la primera fila
  • Filtrado basado en gráficos: Usa los controles del gráfico para filtrar y agregar datos

Limitaciones

  • Sin consultas SQL: No se pueden usar WHERE, GROUP BY, JOIN u otras operaciones SQL
  • Procesamiento solo a nivel de gráfico: Toda la manipulación de datos ocurre en la configuración del gráfico
  • Acceso de solo lectura: Sin operaciones INSERT/UPDATE/DELETE
  • Limitado a tu cuenta de Google: Solo hojas de cálculo a las que tienes acceso
  • Rendimiento: Depende del tamaño de la hoja de cálculo y los límites de la API de Google
  • Tipos de datos: Todos importados como texto (el formato se aplica en los gráficos)

Mejores Prácticas

  • Mantén los encabezados de columna en la primera fila
  • Usa un formato de datos consistente dentro de las columnas
  • Evita caracteres especiales en los nombres de las hojas
  • Considera el tamaño de los datos: las hojas grandes pueden afectar el rendimiento
  • Estructura los datos apropiadamente ya que no puedes usar SQL para remodelarlos
  • Usa múltiples hojas para diferentes entidades de datos en lugar de consultas complejas

Ejemplo de Flujo de Trabajo

  1. Fuente de Datos: Elige la hoja de cálculo "Datos de Ventas 2024"
  2. Selección de Hoja: Selecciona la hoja "Resultados T1"
  3. Creación de Gráficos: Crea gráficos que filtren/agreguen los datos brutos de la hoja
  4. Sin SQL: Todo el procesamiento ocurre a través de la configuración del gráfico, no de las consultas

Solución de Problemas

  • Autenticación expirada: Vuelve a autenticarte con Google
  • Hoja de cálculo no encontrada: Revisa la ortografía y asegúrate de que exista en tu Drive
  • Permiso denegado: Verifica que tienes acceso a la hoja de cálculo
  • Resultados vacíos: Comprueba si la hoja tiene datos y encabezados adecuados

Tunelización SSH (Todos los Tipos de Bases de Datos)

Para una seguridad mejorada, puedes conectarte a través de un túnel SSH. Esto está disponible para todos los tipos de bases de datos tradicionales (MySQL, PostgreSQL, Redshift, Azure SQL).

Cuándo Usar la Tunelización SSH

  • El servidor de la base de datos solo es accesible a través de un servidor de salto/bastión
  • Se requiere una capa de seguridad adicional
  • La base de datos está detrás de un firewall que permite SSH pero no conexiones directas a la base de datos

Parámetros de Conexión SSH

  • Host SSH: El nombre de host o la IP de tu servidor SSH
  • Puerto SSH: Generalmente 22 (puerto SSH predeterminado)
  • Nombre de Usuario SSH: Tu nombre de usuario SSH
  • Autenticación SSH: Contraseña o clave privada
  • Contraseña SSH: Tu contraseña SSH (si no usas clave)
  • Clave Privada SSH: Contenido de tu archivo de clave privada (si no usas contraseña)

Configuración de la Clave SSH

  1. Genera un par de claves SSH (si no tienes uno):

    ssh-keygen -t rsa -b 4096
  2. Copia la clave pública al servidor:

    ssh-copy-id nombre_usuario@servidor-ssh.com
  3. Usa el contenido de la clave privada en PyQueryHub:

    • Copia todo el contenido de tu archivo de clave privada
    • Pégalo en el campo "Clave Privada SSH"

Cifrado SSL/TLS

El cifrado SSL/TLS asegura la conexión entre PyQueryHub y tu base de datos. Disponible para MySQL, PostgreSQL y otras bases de datos tradicionales.

Tipos de Certificados SSL

  • Certificado CA: Certificado de la Autoridad de Certificación
  • Certificado de Cliente: Tu certificado de cliente (para autenticación mutua)
  • Clave de Cliente: Tu clave privada de cliente

Dónde Obtener Certificados SSL

  • Proveedores en la nube: Generalmente proporcionan certificados descargables
  • Autofirmados: Generados por tu administrador de base de datos
  • Autoridades de certificación: Para entornos de producción

Configuración SSL

  1. Obtén los certificados de tu proveedor de base de datos
  2. Copia el contenido de los certificados (no las rutas de los archivos)
  3. Pégalos en los campos apropiados en PyQueryHub
  4. Prueba la conexión para verificar que SSL funciona

Problemas Comunes de SSL

  • Problemas de formato del certificado (asegúrate de que sea formato PEM)
  • Certificados expirados
  • Desajuste del nombre de host en los certificados
  • Falta de certificados intermedios

Solución de Problemas General

Fallos en la Prueba de Conexión

  1. Verifica las credenciales: Revisa dos veces todos los parámetros de conexión
  2. Conectividad de red: Asegúrate de que el servidor de la base de datos sea accesible
  3. Reglas de firewall: Revisa los firewalls tanto locales como del lado del servidor
  4. Permisos de usuario: Verifica que el usuario de la base de datos tenga los privilegios necesarios
  5. Estado del servicio: Confirma que el servicio de la base de datos esté en ejecución

Problemas de Rendimiento

  1. Latencia de red: Considera la proximidad geográfica a la base de datos
  2. Carga de la base de datos: Comprueba si el servidor de la base de datos está bajo una carga pesada
  3. Optimización de consultas: Revisa la eficiencia de las consultas
  4. Agrupación de conexiones: Límites de conexión del servidor de la base de datos

Mejores Prácticas de Seguridad

  1. Usa contraseñas seguras: Contraseñas complejas y únicas para los usuarios de la base de datos
  2. Limita los permisos: Otorga los privilegios de base de datos mínimos necesarios
  3. Habilita el cifrado: Usa SSL/TLS cuando esté disponible
  4. Auditorías regulares: Revisa y rota las credenciales periódicamente
  5. Seguridad de red: Usa la tunelización SSH cuando sea apropiado

Obtener Ayuda

Si continúas experimentando problemas de conexión:

  1. Revisa los registros del servidor de la base de datos para obtener detalles del error
  2. Verifica la conectividad de red usando herramientas como telnet o nc
  3. Prueba la conexión desde otro cliente para aislar los problemas
  4. Contacta a nuestro equipo de soporte con mensajes de error específicos

Para problemas específicos de la base de datos, consulta la documentación o los recursos de soporte de tu proveedor de base de datos.