Pitón

Cómo construir una aplicación Python con CockroachDB y PonyORM

Cómo construir una aplicación Python con CockroachDB y PonyORM

En esta guía, le presentaremos CockroachDB y PonyORM usando Python. Comenzaremos discutiendo qué son estas tecnologías y luego discutiremos cómo funcionan.

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

¿Qué es CockroachDB?

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

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

Al usar la API de SQL, CockroachDB proporciona a los desarrolladores una transición fácil ya que obtienen los mismos conceptos familiares. Debido a que ya tiene controladores SQL para la mayoría de los lenguajes de programación, su uso se vuelve más cómodo.

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

https: // linkfy.a / cockroachDocs

¿Qué es PonyORM?

PonyORM es un mapeador relacional de objetos de 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 automática de consultas y sintaxis de consulta intuitiva y sencilla.

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 trabaje con los datos.

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

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

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

Cómo instalar CockroachDB en Linux

Para instalar CockroachDB en sistemas Linux, siga los pasos de esta guía y, según la configuración de su sistema, deberá tener acceso de root 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 update && sudo apt-get upgrade
sudo apt-get install glibc libncurses tzdata -y

El siguiente paso es descargar el binario de CockroachDB usando wget, como se muestra en el siguiente comando:

wget -qO- https: // binarios.cucaracha.com / cucaracha-v20.2.3.linux-amd64.tgz

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

alquitrán -xvf cucaracha-v20.2.3.linux-amd64.tgz

Para ejecutar comandos de CockroachDB desde cualquier shell, agregue el binario a su ruta:

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

Copie las bibliotecas necesarias:

mkdir -p / usr / lib / cucaracha
cp -i cucaracha-v20.2.3.linux-amd64 / lib / libgeos.entonces / usr / lib / cucaracha /
cp -i cucaracha-v20.2.3.linux-amd64 / lib / libgeos_c.entonces / usr / lib / cucaracha /

Una vez completado, confirme que tiene instalado Cockroach:

cual cucaracha
/ usr / bin / cucaracha

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

demostración de cucarachas

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. Puede usar Python 2 (muerto) o Python 3.

Usando pip, instale Pony:

pip3 instalar pony

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

>>> de pony. importación de orm *

Dado que usaremos PonyORM con CockroachDB, necesitamos instalar el controlador requerido. Para este caso, necesitamos instalar psycopg2. Utilice el comando pip para instalar el controlador necesario.

pip instalar psycopg2-binary

Verifique si tiene Psycopg instalado usando la sesión interactiva de Python e ingrese el comando:

importar psycopg

Una vez que tenga todo instalado, puede continuar y comenzar a trabajar con CochroachDB y PonyORM:

Cómo construir una aplicación Python con CockroachDB y PonyORM

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

cucaracha SQL

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

CREAR USUARIO SI NO EXISTE admin;
CREAR blog de BASE DE DATOS;

Agregue los privilegios necesarios al usuario administrador usando el comando:

OTORGAR TODO EL blog DE LA BASE DE DATOS AL administrador;
\ q;

Ahora para la sección de aplicaciones:

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

El siguiente código realiza las siguientes operaciones:

de pony.importación de orm *
importar fecha y hora
base de datos = Base de datos ()
db_params = dict (proveedor = 'cucaracha', usuario = 'admin',
host = 'localhost', puerto = 26257, base de datos = 'blog')
clase Usuario (base de datos.Entidad):
first_name = Requerido (unicode)
blogs = Set ("Blog")
clase Blog (base de datos.Entidad):
username = Requerido (Usuario)
title = Requerido (Unicode)
publish_date = Obligatorio (fecha y hora.fecha)
categoría = Requerido (unicode)
set_sql_debug (verdadero)
base de datos.enlazar (** db_params)
base de datos.generate_mapping (create_tables = True)
@db_session
def create_blog ():
usuario = Usuario (first_name = u "Admin")
blog = Blog (nombre de usuario = usuario,
title = u "Hola mundo",
publicación_fecha = fecha y hora.fecha (2021, 1, 1),
categoría = u "Borrador")
blogs = [

"usuario": usuario,
"title": "Hola mundo 1",
"publish_date": fecha y hora.fecha (2021, 1, 2),
"categoría": "Borrador"
,

"usuario": usuario,
"title": "Hola mundo 2",
"publish_date": fecha y hora.fecha (2021, 1, 3),
"categoría": "Borrador"
,

"usuario": usuario,
"title": "Hola mundo 3",
"publish_date": fecha y hora.fecha (2021,1,4),
"categoría": "Borrador"

]
para blog en blogs:
b_ = Blog (** blog)
if __name__ == "__main__":
blog creativo()
b_ = Usuario ("Admin")

Una vez que ejecute la aplicación, debería ver un resultado similar al que se muestra a continuación:

OBTENGA UNA NUEVA CONEXIÓN
CONEXIÓN DE LIBERACIÓN
OBTENGA CONEXIÓN DESDE LA PISCINA LOCAL
CAMBIAR AL MODO AUTOCOMMIT
CREAR TABLA "usuario" (
LLAVE PRIMARIA SERIAL "id",
"first_name" TEXT NOT NULL
)
CREAR TABLA "blog" (
CLAVE PRIMARIA SERIE "id",
"Nombre de usuario" INT8 NO NULO,
"Título" TEXTO NO NULO,
"Fecha_publicación" FECHA NO NULA,
TEXTO DE "categoría" NO NULO
)
CREAR ÍNDICE "idx_blog__username" ON "blog" ("nombre de usuario")
ALTER TABLE "blog" AÑADIR RESTRICCIÓN "fk_blog__username" FOREIGN KEY ("username") REFERENCIAS "user" ("id") ON DELETE CASCADE
SELECCIONAR "blog"."id", "blog"."nombre de usuario", "blog"."título", "blog"."publish_date", "blog"."categoría"
DE "blog" "blog"
DONDE 0 = 1
SELECCIONAR "usuario"."id", "usuario"."primer nombre"
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 mediante consultas SQL. Aunque la aplicación es simple, ilustra cómo podemos usar CockroachDB y PonyORM para crear una aplicación Python.

Cómo instalar League Of Legends en Ubuntu 14.04
Si eres fanático de League of Legends, esta es una oportunidad para que pruebes League of Legends. Tenga en cuenta que LOL es compatible con PlayOnLin...
Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...
Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...