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. bifurcó de MySQL MariaDB 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. MariaDB Foundation 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. MariaDB Corporation columnas HTAP 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. Docker Python Flask Requisitos Antes de saltar al código, deberá asegurarse de tener algunas cosas en su máquina: Cliente MariaDB Estibador (v. 3+) Pitón Conector MariaDB/C (v. 3.1.5+) 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: imagen servidor MariaDB $ 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 . cliente MariaDB 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. demo; CREATE DATABASE Luego crea una nueva tabla. demo.people ( ( )); CREATE TABLE name VARCHAR 50 Finalmente, inserte un par de registros. demo.people ( ), ( ), ( ), ( ); INSERT INTO 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). MariaDB MariaDB Connector/Python 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á . instalar MariaDB Connector/C (v3.1.5+) 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: entornos virtuales $ pyvenv venv pyvenv solo está disponible en Python 3.4 o posterior. Para versiones anteriores, utilice la herramienta . Sugerencia: virtualenv Antes de que pueda comenzar a instalar o usar paquetes en su entorno virtual, deberá . La activación de un entorno virtual colocará los ejecutables y específicos del entorno virtual en la RUTA de su shell. activarlo pip pip 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. Flask microframework 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. $ pip3 install flask Luego cree un nuevo archivo llamado que se usará para crear una nueva aplicación Flask y agrega el siguiente código: api.py , flask app = flask.Flask(__name__) app.config[ ] = app.run() # import necessary packages import # create the flask app "DEBUG" True @app.route('/', methods=['GET']) : def index () return 'Success!' # run the app 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 le permite a nuestra aplicación de matraz saber qué URL debe activar el método correspondiente. route() Estás listo para ejecutar la aplicación. $ python3 api.py De forma predeterminada, la aplicación comenzará a ejecutarse en el puerto 5000. Puede probar los resultados solicitando datos de . http://localhost:5000 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. $ pip3 install mariadb Abra y agregue código para importar los paquetes MariaDB y directamente en la importación del paquete Flask. api.py JSON 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 se usará dentro de un nuevo bloque de método de ruta para conectarse a MariaDB. configuración conn = mariadb.connect(**config) cur = conn.cursor() cur.execute( ) row_headers=[x[ ] x cur.description] rv = cur.fetchall() json_data=[] result rv: json_data.append(dict(zip(row_headers,result))) json.dumps(json_data) # route to return all people @app.route('/api/people', methods=['GET']) : def index () # connection for MariaDB # create a connection cursor # execute a SQL statement "select * from people" # serialize results into JSON 0 for in for in # return the results! return Reuniéndolo todo, el contenido de su debería tener el siguiente aspecto: api.py flask json mariadb app = flask.Flask(__name__) app.config[ ] = config = { : , : , : , : , : } conn = mariadb.connect(**config) cur = conn.cursor() cur.execute( ) row_headers=[x[ ] x cur.description] rv = cur.fetchall() json_data=[] result rv: json_data.append(dict(zip(row_headers,result))) json.dumps(json_data) app.run() # import the necessary packages import import import "DEBUG" True # configuration used to connect to MariaDB '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 # create a connection cursor # execute a SQL statement "select * from people" # serialize results into JSON 0 for in for in # return the results! return probandolo Inicie la aplicación. $ python3 api.py Luego pruebe el punto final de . Esto se puede hacer a través de una variedad de técnicas (por ejemplo, directamente dentro de un navegador, , etc.). personas Postman Por ejemplo, considerando usar un comando : curl $ curl http://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.