Cómo construir una aplicación Python con cucarachas y tormenta

Cómo construir una aplicación Python con cucarachas y tormenta

En esta guía, te presentaremos cucroachdb y ponyorm usando python. Comenzaremos discutiendo cuáles son estas tecnologías y luego discutiremos cómo funcionan.

Antes de comenzar a construir una aplicación de Python con cucarachas y tormentas, comprendamos cuáles son estas tecnologías:

Que es cucarachdb

CockroachDB es una base de datos SQL distribuida altamente escalable, de código abierto que utiliza tiendas de valores clave transaccionales y consistentes.

Cucarachdb es muy eficiente como método para garantizar la persistencia y la recuperación de los datos en caso de falla. En caso de fallas de hardware y software, puede preservar los datos mediante el uso de replicaciones fuertes consistentes de sus datos y reparaciones automáticas. Usando la API SQL, CockroachDB le permite consultar, estructurar y manipular datos utilizando consultas SQL.

Usando la API SQL, CockroachDB ofrece a los desarrolladores una transición fácil a medida que obtienen los mismos conceptos familiares. Debido a que ya tiene controladores SQL existentes para la mayoría de los lenguajes de programación, usarlo se vuelve más cómodo.

Le recomendamos que consulte la documentación de cucarachas para una mejor comprensión.

https: // linkfy.a/cucroachdocs

Que es Ponyorm

Ponyorm es un mapeador de objeto Python avanzado. Aunque hay otros ORM de Python como Django y Sqlalchemy, Ponyorm es ventajoso porque tiene características como soporte para claves compuestas, optimización de consultas automáticas y sintaxis de consulta intuitiva y directa.

Un ORM es simplemente una herramienta que le permite trabajar con una base de datos SQL utilizando su lenguaje de programación preferido. Brinda a los desarrolladores la capacidad de trabajar con los datos dentro de una base de datos en forma de objetos; Por lo tanto, puede usar OOP para que su idioma funcione con los datos.

Usando la biblioteca de Ponyorm, podemos usar el lenguaje de Python para trabajar con datos en cucarachdb en forma de objetos de la base de datos relacional.

Puede usar la documentación de Ponyorm como referencia. Aquí está el enlace:

https: // documentos.tormenta.org/toc.html

Cómo instalar cucarachdb en Linux

Para instalar CockroachDB en los sistemas Linux, siga los pasos de esta guía y, según la configuración de su sistema, deberá tener acceso a la raíz o ser un usuario de SUDO.

El primer paso es asegurarse de que su sistema esté actualizado y luego instalar las dependencias requeridas. Aquí está el comando para eso:

SUDO apt-get actualización && sudo apt-get actualización
sudo apt -get instalación glibc libncurses tzdata -y

El siguiente paso es descargar el binario de cucarachas usando wget, como se muestra en el comando a continuación:

wget -qo- https: // binarios.cucroachdb.com/cucaracha-v20.2.3.Linux-amd64.tgz

Una vez que haya descargado el binario, extraiga el archivo.

tar -xvf cucaracha -v20.2.3.Linux-amd64.tgz

Para lanzar comandos de cucarachdb desde cualquier shell, agregue el binario a su camino:

cp -i cucaracha -v20.2.3. Linux-amd64/cucaracha/usr/bin/

Copie las bibliotecas requeridas:

mkdir -p/usr/lib/cucaracha
cp -i cucaracha -v20.2.3.Linux-amd64/lib/libgeos.so/usr/lib/cucaracha/
cp -i cucaracha -v20.2.3.Linux-amd64/lib/libgeos_c.so/usr/lib/cucaracha/

Una vez completado, confirme que tiene instalado cucarachas:

Que cucaracha
/usr/bin/cucaracha

Inicie un clúster temporal en memoria usando el comando:

demostración de cucaracha

Dentro del clúster, puede ejecutar un shell SQL interactivo para ingresar consultas SQL válidas:

Mostrar mesas;

Cómo instalar Ponyorm

Para instalar Ponyorm, debe tener una versión instalada y en ejecución de Python. Puedes usar Python 2 (Dead) o Python 3.

Usando PIP, instale pony:

PIP3 Instalar pony

Para probar si tiene instalado Pony, abra el intérprete de Python e ingrese el código.

>>> de Pony. importación ORM *

Dado que usaremos Ponyorm con cucarachdb, necesitamos instalar el controlador requerido. Para este caso, necesitamos instalar PSYCOPG2. Use el comando PIP para instalar el controlador necesario.

PIP Instale PSYCOPG2-Binary

Compruebe si tiene PSYCOPG instalado utilizando la sesión de Python Interactive e ingrese el comando:

importar psycopg

Una vez que tenga todo instalado, puede seguir adelante y comenzar a trabajar con CochroachDB y Ponyorm:

Cómo construir una aplicación de Python con cucarachas y ponyorm

Para construir una aplicación de Python, comience al iniciar un shell SQL interactivo usando el comando.

cucaracha sql

El siguiente paso es crear una base de datos y un usuario para interactuar, que puede hacer usando el comando:

Crear usuario si no existe administrador;
Crear blog de base de datos;

Agregue los privilegios necesarios al usuario administrador utilizando el comando:

Otorgar todo en el blog de la base de datos al administrador;
\ Q;

Ahora para la sección de la aplicación:

El siguiente código utiliza Ponyorm para interactuar con la base de datos del blog y asigna los objetos y métodos de Python a la base de datos SQL.

El siguiente código lleva a cabo las siguientes operaciones:

de pony.importación ORM *
Importar DateTetime
base de datos = database ()
db_params = dict (Provider = 'Cucroach', user = 'admin',
host = 'localhost', puerto = 26257, base de datos = 'blog')
Usuario de clase (base de datos.Entidad):
First_Name = requerido (unicode)
Blogs = set ("Blog")
Blog de clase (base de datos.Entidad):
nombre de usuario = requerido (usuario)
Título = requerido (Unicode)
publish_date = requerido (dateTime.fecha)
categoría = requerido (unicode)
set_sql_debug (verdadero)
base de datos.bind (** db_params)
base de datos.generar_mapping (create_tables = true)
@DB_Session
Def create_blog ()::
user = user (first_name = u "admin")
Blog = Blog (nombre de usuario = usuario,
Título = u "Hola mundo",
publish_date = DateTime.Fecha (2021, 1, 1),
categoría = U "borrador")
Blogs = [

"Usuario": usuario,
"Título": "Hola Mundo 1",
"Publish_date": DateTime.Fecha (2021, 1, 2),
"Categoría": "Borrador"
,

"Usuario": usuario,
"Título": "Hello World 2",
"Publish_date": DateTime.Fecha (2021, 1, 3),
"Categoría": "Borrador"
,

"Usuario": usuario,
"Título": "Hola Mundo 3",
"Publish_date": DateTime.Fecha (2021,1,4),
"Categoría": "Borrador"

]
Para blog en blogs:
b_ = blog (** blog)
Si __name__ == "__main__":
blog creativo()
b_ = usuario ("admin")

Una vez que ejecute la aplicación, debería ver una salida similar a la que se muestra a continuación:

Obtener una nueva conexión
Conexión de liberación
Obtenga conexión desde la piscina local
Cambiar al modo de autocommitio
Crear tabla "usuario" (
Clave primaria de "ID" en serie,
Texto "First_Name" no nulo
)
Crear tabla "blog" (
Clave primaria de "ID" en serie,
"Nombre de usuario" int8 no nulo,
Texto de "título" no nulo,
Fecha "Publish_Date" no nula,
Texto de "categoría" no nulo
)
Crear índice "IDX_BLOG__Username" en "Blog" ("Nombre de usuario")
Tabla alter "Blog" Agregar restricción "fk_blog__username" Clave exterior ("nombre de usuario") Referencias "Usuario" ("ID") en Delete Cascade
Seleccione "Blog"."id", "blog"."nombre de usuario", "blog"."Título", "Blog"."Publish_date", "Blog"."categoría"
Del "Blog" "Blog"
Donde 0 = 1
Seleccione "Usuario"."ID", "usuario"."nombre de pila"
De "usuario" "usuario"
Donde 0 = 1

Conclusión

Usando la aplicación anterior, creamos una aplicación de blog simple que crea un usuario y asigna blogs al nombre de usuario. Luego agregamos los datos a la base de datos, que podemos consultar utilizando consultas SQL. Aunque la aplicación es simple, ilustra cómo podemos usar cucroachdb y ponyorm para crear una aplicación de python.