Desde que se en 2009, se ha convertido en una de las bases de datos más populares elegidas por los desarrolladores durante la última década. Si bien es probable que muchos tecnólogos hayan gravitado hacia él como una solución debido a sus raíces de código abierto y que está arraigado en el mundo de las bases de datos relacionales, eso realmente solo comienza a arañar la superficie de lo que MariaDB tiene para ofrecer. No es ningún secreto que, a lo largo de los años, MariaDB ha agregado muchas características y funcionalidades que la han diferenciado de otras soluciones de bases de datos, pero lo que los desarrolladores pueden no saber es que hay dos grupos que contribuyen activamente a la base de código en constante avance; Fundación MariaDB y Corporación MariaDB.
- es el custodio del código de la comunidad MariaDB y el guardián de la comunidad MariaDB y los principios de código abierto que la han impulsado a ser una de las bases de datos más populares del mundo.
- también contribuye a la base de código de la comunidad, pero también ofrece productos de nivel empresarial de calidad superior que colocan a MariaDB a la vanguardia de los proveedores de bases de datos. MariaDB Corporation incluso ofrece soluciones basadas en y , pero estoy divagando.
Con eso en mente, he escrito este breve tutorial para proporcionar una plataforma de lanzamiento para que pueda comenzar a usar MariaDB con y (con la ayuda de ), en cuestión de minutos, para que pueda comprobarlo por sí mismo.
Requisitos
Antes de saltar al código, deberá asegurarse de tener algunas cosas en su máquina:
Uso de un contenedor Docker de MariaDB
Para extraer la del y activar un contenedor, simplemente abra una ventana de terminal y ejecute lo siguiente:
$ docker run -p 3306:3306 -d --name mariadb -eMARIADB_ROOT_PASSWORD=Password123! mariadb/server:10.4
El comando anterior activará un contenedor del servidor MariaDB al que puede conectarse y comunicarse mediante el .
Si bien ciertamente puede usar una variedad de otros clientes SQL, para mantener las cosas simples y uniformes, solo he incluido ejemplos usando el cliente oficial de MariaDB.
Conéctese a su instancia de MariaDB ejecutando el siguiente comando en una ventana de terminal.
$ mariadb --host 127.0.0.1 -P 3306 --user root -pPassword123!
Debería ver algo como lo siguiente, lo que significa que se ha conectado con éxito a la instancia de MariaDB.
A continuación, cree una nueva base de datos.
Luego crea una nueva tabla.
CREATE TABLE demo.people ( name VARCHAR ( 50 ));
Finalmente, inserte un par de registros.
INSERT INTO demo.people VALUES ( 'rob' ), ( 'tracy' ), ( 'sam' ), ( 'duke' );
Primeros pasos con MariaDB Connector/Python
Ahora que ha descargado, instalado y puesto en marcha una base de datos MariaDB (usando Docker), está listo para usarla dentro de una nueva aplicación de Python. ¡Recientemente, anunció la disponibilidad de beta! Connector/Python permite que los programas de Python accedan a las bases de datos de MariaDB mediante una API que cumple con Python DB API 2.0 (PEP-249). Los desarrolladores de MariaDB optaron por optimizar el rendimiento del nuevo conector escribiéndolo en C, lo que les permitió aprovechar la biblioteca del cliente MariaDB Connector/C para la comunicación cliente-servidor. Para usar el nuevo conector MariaDB Python, también deberá .
Configurar y activar un entorno virtual
Un entorno virtual es un árbol de directorios que contiene archivos ejecutables de Python y otros archivos que indican que es un entorno virtual. Básicamente, es la columna vertebral para ejecutar su aplicación Python Flask. La creación de se realiza ejecutando el siguiente comando:
Sugerencia: pyvenv solo está disponible en Python 3.4 o posterior. Para versiones anteriores, utilice la herramienta .
Antes de que pueda comenzar a instalar o usar paquetes en su entorno virtual, deberá activarlo . La activación de un entorno virtual colocará los ejecutables pip y pip específicos del entorno virtual en la RUTA de su shell.
Active el entorno virtual con el siguiente comando:
$ . venv/bin/activate activate
Crear una aplicación Flask
es un marco micro web escrito en Python. Se clasifica como un porque no requiere herramientas o bibliotecas particulares.
TL; DR (si se me permite hacer eso por dos oraciones), es un marco excelente y liviano para usar para una API.
Primero, instala Flask.
Luego cree un nuevo archivo llamado api.py que se usará para crear una nueva aplicación Flask , y agrega el siguiente código:
# import necessary packages import flask # create the flask app app = flask.Flask(__name__) app.config[ "DEBUG" ] = True @app.route('/', methods=['GET']) def index () : return 'Success!' # run the app app.run()
Lo que tiene ahora es la base para una API extremadamente simple. Puede probarlo ejecutando la aplicación y probando el punto final.
Para crear una instancia, se le tiene que dar un nombre. El uso de (__name__) garantiza que se puede iniciar como una aplicación o importar como un módulo. El uso del decorador route() le permite a nuestra aplicación de matraz saber qué URL debe activar el método correspondiente.
Estás listo para ejecutar la aplicación.
De forma predeterminada, la aplicación comenzará a ejecutarse en el puerto 5000. Puede probar los resultados solicitando datos de .
Integrar con MariaDB
Una vez que haya creado una aplicación Flask simple, estará listo para agregar código para integrarlo con MariaDB. Comience instalando el conector Python de MariaDB.
Abra api.py y agregue código para importar los paquetes MariaDB y directamente en la importación del paquete Flask.
import json import mariadb
A continuación, agregue un objeto de configuración con la información de conexión para su instancia de MariaDB en ejecución.
config = { 'host' : '127.0.0.1' , 'port' : 3306 , 'user' : 'root' , 'password' : 'Password123!' , 'database' : 'demo' }
El objeto de configuración se usará dentro de un nuevo bloque de método de ruta para conectarse a MariaDB.
# route to return all people @app.route('/api/people', methods=['GET']) def index () : # connection for MariaDB conn = mariadb.connect(**config) # create a connection cursor cur = conn.cursor() # execute a SQL statement cur.execute( "select * from people" ) # serialize results into JSON row_headers=[x[ 0 ] for x in cur.description] rv = cur.fetchall() json_data=[] for result in rv: json_data.append(dict(zip(row_headers,result))) # return the results! return json.dumps(json_data)
Reuniéndolo todo, el contenido de su api.py debería tener el siguiente aspecto:
# import the necessary packages import flask import json import mariadb app = flask.Flask(__name__) app.config[ "DEBUG" ] = True # configuration used to connect to MariaDB config = { 'host' : '127.0.0.1' , 'port' : 3306 , 'user' : 'root' , 'password' : 'Password123!' , 'database' : 'demo' } # route to return all people @app.route('/api/people', methods=['GET']) def index () : # connection for MariaDB conn = mariadb.connect(**config) # create a connection cursor cur = conn.cursor() # execute a SQL statement cur.execute( "select * from people" ) # serialize results into JSON row_headers=[x[ 0 ] for x in cur.description] rv = cur.fetchall() json_data=[] for result in rv: json_data.append(dict(zip(row_headers,result))) # return the results! return json.dumps(json_data) app.run()
probandolo
Inicie la aplicación.
Luego pruebe el punto final de personas . Esto se puede hacer a través de una variedad de técnicas (por ejemplo, directamente dentro de un navegador, , etc.).
Por ejemplo, considerando usar un comando :
$ curl //localhost:5000/api/people
Lo que produce la siguiente carga útil de respuesta JSON:
[{ "name" : "rob" },{ "name" : "tracy" },{ "name" : "duke" },{ "name" : "sam" }]
Solo el principio
Esperamos que este breve tutorial lo haya ayudado a comenzar a usar MariaDB con Docker, Python y Flask. Y, sí, este fue un ejemplo muy simple, ¡pero solo se vuelve más emocionante a partir de aquí! Le recomiendo que revise todo lo que MariaDB tiene para ofrecer y cómo puede usar una base de datos verdaderamente innovadora para crear aplicaciones modernas.