Saltar a contenido

Bases de Datos

Si bien Calisto, viene con una configuración basica y lista para usar, por defecto no se habilita ningún motor de Bases de Datos, puede cambiar esto, ubicando el apartado siguiente, en el archivo app\server.py:

from .contrib.mongoDB.connect import mongodb_close, mongodb_connect
from .contrib.sqlalchemy.mysql_connect import mysql_close, mysql_connect
from .contrib.sqlalchemy.pg_connect import pgmodel_close, pgmodel_connect

...

@lru_cache
def init_databases():
    """Permite inicializar conexiones
    a Bases de Datos, esta función se
    cachea para mejorar el rendimiento.
    """

    print("starting databases...")

    ...

def stop_databases():
    """Permite cerrar conexiones
    a Bases de Datos.
    """

    print("stopping databases...")

    ...

y habilitar el soporte para el(los) motore(s) de Bases de Datos, de su elección.

Calisto, utiliza los siguientes motores de Bases de Datos:

Bases de datos relacionales

  • PostgreSQL
  • MySQL/MariaDB

Para esto se utiliza SQLAlchemy que es un conjunto de herramientas que ofrece un mapeador objetos relacionales (ORM) y proporciona un conjunto completo de patrones de persistencia de alto nivel, diseñados para un acceso a bases de datos completo, eficiente y de alto rendimiento, adaptados al lenguaje de programación Python.

De igual manera, SQLAlchemy puede dar soporte completo a otros sistemas de bases de datos, más información por aquí.

NoSQL

  • MongoDB

MongoDB es una base de datos NoSQL de código abierto que almacena datos en documentos flexibles similares a JSON, conocidos como BSON (Binary JSON), en lugar de usar tablas y filas como las bases de datos relacionales tradicionales.

El soporte para MongoDB, es gestionado por PyMongo una librería para conectarse y comunicarse con MongoDB.

Lectura recomendada