Pitão

Como construir um aplicativo Python com CockroachDB e PonyORM

Como construir um aplicativo Python com CockroachDB e PonyORM

Neste guia, apresentaremos CockroachDB e PonyORM usando Python. Começaremos discutindo o que são essas tecnologias e, em seguida, discutiremos como funcionam.

Antes de começarmos a construir um aplicativo Python com CockroachDB e PonyORM, vamos entender o que são essas tecnologias:

O que é CockroachDB

O CockroachDB é um banco de dados SQL distribuído, de código aberto e altamente escalável que usa armazenamentos de valores-chave transacionais e consistentes.

O CockroachDB é muito eficiente como método para garantir a persistência e recuperação de dados em caso de falha. Em caso de falhas de hardware e software, ele pode preservar os dados usando replicações fortes e consistentes de seus dados e reparos automáticos. Usando a API SQL, o CockroachDB permite que você consulte, estruture e manipule dados usando consultas SQL.

Usando a API SQL, o CockroachDB fornece aos desenvolvedores uma transição fácil, pois eles obtêm os mesmos conceitos familiares. Por já ter drivers SQL existentes para a maioria das linguagens de programação, usá-lo se torna mais confortável.

Recomendamos que você verifique a documentação do CockroachDB para um melhor entendimento.

https: // linkfy.para / cockroachDocs

O que é PonyORM

PonyORM é um mapeador Python Object-Relational avançado. Embora existam outros Python ORM, como Django e SQLAlchemy, PonyORM é vantajoso porque tem recursos como suporte para chaves compostas, otimização automática de consulta e sintaxe de consulta simples e intuitiva.

Um ORM é simplesmente uma ferramenta que permite que você trabalhe com um banco de dados SQL usando sua linguagem de programação preferida. Ele dá aos desenvolvedores a capacidade de trabalhar com os dados de um banco de dados na forma de objetos; portanto, você pode usar OOP para sua linguagem para trabalhar com os dados.

Usando a biblioteca PonyORM, podemos usar a linguagem Python para trabalhar com dados no CockroachDB na forma de objetos do banco de dados relacional.

Você pode usar a documentação do PonyORM para referência. Aqui está o link:

https: // docs.pônei.org / toc.html

Como instalar o CockroachDB no Linux

Para instalar o CockroachDB em sistemas Linux, siga as etapas neste guia e, dependendo da configuração do seu sistema, você precisará ter acesso root ou ser um usuário sudo.

A primeira etapa é garantir que seu sistema esteja atualizado e, em seguida, instalar as dependências necessárias. Aqui está o comando para isso:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install glibc libncurses tzdata -y

A próxima etapa é fazer o download do binário CockroachDB usando wget, conforme mostrado no comando abaixo:

wget -qO- https: // binários.cockroachdb.com / barata-v20.2.3.linux-amd64.tgz

Depois de fazer o download do binário, extraia o arquivo.

tar -xvf barata-v20.2.3.linux-amd64.tgz

Para iniciar os comandos do CockroachDB a partir de qualquer shell, adicione o binário ao seu caminho:

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

Copie as bibliotecas necessárias:

mkdir -p / usr / lib / barata
cp -i barata-v20.2.3.linux-amd64 / lib / libgeos.então / usr / lib / barata /
cp -i barata-v20.2.3.linux-amd64 / lib / libgeos_c.então / usr / lib / barata /

Depois de concluído, confirme se você tem o Cockroach instalado:

qual barata
/ usr / bin / barata

Inicie um cluster temporário na memória usando o comando:

demonstração de barata

Dentro do cluster, você pode executar um shell SQL interativo para inserir consultas SQL válidas:

MOSTRAR TABELAS;

Como instalar o PonyORM

Para instalar o PonyORM, você deve ter uma versão do Python instalada e em execução. Você pode usar Python 2 (morto) ou Python 3.

Usando o pip, instale o Pony:

pip3 instalar pônei

Para testar se você tem o Pony instalado, abra o interpretador Python e insira o código.

>>> de pônei. orm import *

Como usaremos PonyORM com CockroachDB, precisamos instalar o driver necessário. Para este caso, precisamos instalar psycopg2. Use o comando pip para instalar o driver necessário.

pip install psycopg2-binary

Verifique se você instalou o Psycopg usando a sessão Python interativa e digite o comando:

import psycopg

Depois de ter tudo instalado, você pode prosseguir e começar a trabalhar com CochroachDB e PonyORM:

Como construir um aplicativo Python com CockroachDB e PonyORM

Para construir um aplicativo Python, comece lançando um shell SQL interativo usando o comando.

barata SQL

A próxima etapa é criar um banco de dados e um usuário para interagir, o que você pode fazer usando o comando:

CRIAR USUÁRIO SE NÃO EXISTIR admin;
CREATE DATABASE blog;

Adicione os privilégios necessários ao usuário administrador usando o comando:

GRANT ALL ON DATABASE blog TO admin;
\ q;

Agora, para a seção de aplicativos:

O código a seguir usa PonyORM para interagir com o banco de dados do blog e mapear os objetos e métodos Python para o banco de dados SQL.

O código abaixo realiza as seguintes operações:

de pônei.orm import *
importar data e hora
banco de dados = Banco de dados ()
db_params = dict (provedor = 'barata', usuário = 'admin',
host = 'localhost', porta = 26257, banco de dados = 'blog')
classe Usuário (banco de dados.Entidade):
first_name = Obrigatório (unicode)
blogs = Set ("Blog")
classe Blog (banco de dados.Entidade):
nome de usuário = obrigatório (usuário)
title = Obrigatório (Unicode)
publicar_data = Obrigatório (data e hora.data)
categoria = obrigatório (unicode)
set_sql_debug (True)
base de dados.vincular (** db_params)
base de dados.generate_mapping (create_tables = True)
@db_session
def create_blog ():
user = User (first_name = u "Admin")
blog = Blog (nome de usuário = usuário,
title = u "Olá, mundo",
publicar_data = data e hora.data (2021, 1, 1),
categoria = u "Rascunho")
blogs = [

"usuário": usuário,
"title": "Hello world 1",
"publish_date": data e hora.data (2021, 1, 2),
"categoria": "Rascunho"
,

"usuário": usuário,
"title": "Hello world 2",
"publish_date": data e hora.data (2021, 1, 3),
"categoria": "Rascunho"
,

"usuário": usuário,
"title": "Hello world 3",
"publish_date": data e hora.data (2021,1,4),
"categoria": "Rascunho"

]
para blog em blogs:
b_ = Blog (** blog)
if __name__ == "__main__":
create_blog ()
b_ = usuário ("Admin")

Depois de executar o aplicativo, você verá uma saída semelhante à mostrada abaixo:

OBTER NOVA CONEXÃO
LIBERE A CONEXÃO
OBTER CONEXÃO DA PISCINA LOCAL
MUDAR PARA O MODO AUTOCOMMIT
CRIAR TABELA "usuário" (
CHAVE PRIMÁRIA SERIAL "id",
"first_name" TEXTO NÃO NULO
)
CRIAR TABELA “blog” (
“Id” CHAVE PRIMÁRIA SERIAL,
“Nome de usuário” INT8 NÃO NULO,
“Título” TEXTO NÃO NULO,
“Data_de_publicação” DATA NÃO NULO,
“Categoria” TEXTO NÃO NULO
)
CRIAR ÍNDICE "idx_blog__username" ON "blog" ("nome de usuário")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" FOREIGN KEY ("username") REFERÊNCIAS "user" ("id") ON DELETE CASCADE
SELECIONE "blog"."id", "blog"."nome de usuário", "blog"."título", "blog"."publicar_data", "blog"."categoria"
DE "blog" "blog"
ONDE 0 = 1
SELECIONE "usuário"."id", "usuário"."primeiro nome"
DE "usuário" "usuário"
ONDE 0 = 1

Conclusão

Usando o aplicativo acima, criamos um aplicativo de blog simples que cria um usuário e atribui blogs ao nome de usuário. Em seguida, adicionamos os dados ao banco de dados, que podemos consultar usando consultas SQL. Embora o aplicativo seja simples, ele ilustra como podemos usar CockroachDB e PonyORM para criar um aplicativo Python.

Tutorial de Battle for Wesnoth
The Battle for Wesnoth é um dos jogos de estratégia de código aberto mais populares que você pode jogar no momento. Este jogo não está apenas em desen...
0 A.D. Tutorial
Dos muitos jogos de estratégia que existem, 0 A.D. consegue se destacar como um título abrangente e um jogo muito profundo e tático, apesar de ser de ...
Tutorial Unity3D
Introdução ao Unity 3D Unity 3D é um poderoso motor de desenvolvimento de jogos. É uma plataforma cruzada que permite criar jogos para celular, web, d...