În acest ghid, vă vom prezenta CockroachDB și PonyORM folosind Python. Vom începe prin a discuta care sunt aceste tehnologii și apoi vom discuta despre modul în care funcționează.
Înainte de a începe să construim o aplicație Python cu CockroachDB și PonyORM, să înțelegem ce sunt aceste tehnologii:
Ce este CockroachDB
CockroachDB este o bază de date SQL distribuită extrem de scalabilă, open-source, care utilizează stocuri de valori cheie tranzacționale și consistente.
CockroachDB este foarte eficient ca metodă de asigurare a persistenței și recuperării datelor în caz de eșec. În caz de defecțiuni ale hardware-ului și software-ului, acesta poate păstra datele utilizând replici puternice ale datelor sale și reparații automate. Folosind SQL API, CockroachDB vă permite să interogați, să structurați și să manipulați date folosind interogări SQL.
Folosind API-ul SQL, CockroachDB oferă dezvoltatorilor o tranziție ușoară, deoarece primesc aceleași concepte familiare. Deoarece are deja driverele SQL existente pentru majoritatea limbajelor de programare, utilizarea acestuia devine mai confortabilă.
Vă recomandăm să consultați documentația CockroachDB pentru o mai bună înțelegere.
https: // linkfy.către / gândac Docs
Ce este PonyORM
PonyORM este un Python Advanced Map-Relational Mapper. Deși există alte ORM Python, cum ar fi Django și SQLAlchemy, PonyORM este avantajos deoarece are caracteristici precum suport pentru taste compozite, optimizare automată a interogărilor și sintaxă de interogare intuitivă și simplă.
Un ORM este pur și simplu un instrument care vă permite să lucrați cu o bază de date SQL folosind limbajul de programare preferat. Oferă dezvoltatorilor posibilitatea de a lucra cu datele dintr-o bază de date sub formă de obiecte; prin urmare, puteți utiliza OOP pentru limba dvs. pentru a lucra cu datele.
Folosind biblioteca PonyORM, putem folosi limbajul Python pentru a lucra cu date în CockroachDB sub forma obiectelor bazei de date relaționale.
Puteți utiliza documentația PonyORM pentru referință. Iată linkul:
https: // docs.ponyorm.org / toc.html
Cum se instalează CockroachDB pe Linux
Pentru a instala CockroachDB pe sisteme Linux, urmați pașii din acest ghid și, în funcție de configurația sistemului, va trebui să aveți acces root sau să fiți un utilizator sudo.
Primul pas este să vă asigurați că sistemul dvs. este actualizat și apoi instalați dependențele necesare. Iată comanda pentru asta:
sudo apt-get update && sudo apt-get upgradesudo apt-get install glibc libncurses tzdata -y
Următorul pas este să descărcați binarul CockroachDB utilizând wget, așa cum se arată în comanda de mai jos:
wget -qO- https: // binare.gandac.com / gândac-v20.2.3.linux-amd64.tgzDupă ce ați descărcat binarul, extrageți fișierul.
tar -xvf gândac-v20.2.3.linux-amd64.tgzPentru a lansa comenzile CockroachDB din orice shell, adăugați binarul la calea dvs.:
cp -i gandac-v20.2.3. linux-amd64 / gândac / usr / bin /Copiați bibliotecile necesare:
mkdir -p / usr / lib / gândaccp -i gandac-v20.2.3.linux-amd64 / lib / libgeos.deci / usr / lib / gândac /
cp -i gandac-v20.2.3.linux-amd64 / lib / libgeos_c.deci / usr / lib / gândac /
După finalizare, confirmați că aveți instalat gândacul:
care gandac/ usr / bin / gândac
Porniți un cluster temporar, în memorie, utilizând comanda:
demo de gândaciÎn interiorul clusterului, puteți rula un shell SQL interactiv pentru a introduce interogări SQL valide:
MESAJE DE AFIȘARE;Cum se instalează PonyORM
Pentru a instala PonyORM, ar trebui să aveți o versiune instalată și care rulează Python. Puteți utiliza atât Python 2 (mort), fie Python 3.
Folosind pip, instalați Pony:
pip3 instalează poneiPentru a testa dacă aveți instalat Pony, deschideți interpretul Python și introduceți codul.
>>> din ponei. import ORM *Deoarece vom folosi PonyORM cu CockroachDB, trebuie să instalăm driverul necesar. Pentru acest caz, trebuie să instalăm psycopg2. Utilizați comanda pip pentru a instala driverul necesar.
pip instalează psycopg2-binaryVerificați dacă aveți instalat Psycopg folosind sesiunea interioară python și introduceți comanda:
import psycopgDupă ce aveți totul instalat, puteți trece mai departe și puteți începe să lucrați cu CochroachDB și PonyORM:
Cum să construiești o aplicație Python cu CockroachDB și PonyORM
Pentru a construi o aplicație python, începeți prin lansarea unui shell SQL interactiv folosind comanda.
gândac SQLUrmătorul pas este să creați o bază de date și un utilizator cu care să interacționați, lucru pe care îl puteți face folosind comanda:
CREAȚI UTILIZATOR DACĂ NU EXISTĂ admin;CREATE DATABASE blog;
Adăugați privilegiile necesare utilizatorului de administrator folosind comanda:
ACORDĂ TOTUL PE BAZA DE BAZE blog către administrator;\ q;
Acum, pentru secțiunea aplicație:
Codul de mai jos folosește PonyORM pentru a interacționa cu baza de date a blogului și pentru a mapa obiectele și metodele Python la baza de date SQL.
Codul de mai jos efectuează următoarele operațiuni:
din ponei.import ORM *import datetime
baza de date = baza de date ()
db_params = dict (furnizor = 'gândac', utilizator = 'administrator',
host = 'localhost', port = 26257, baza de date = 'blog')
clasă Utilizator (bază de date.Entitate):
first_name = Obligatoriu (unicode)
bloguri = Set ("Blog")
clasă Blog (bază de date.Entitate):
nume utilizator = Obligatoriu (Utilizator)
title = Obligatoriu (unicode)
publish_date = Obligatoriu (datetime.Data)
categorie = Obligatoriu (unicode)
set_sql_debug (Adevărat)
Bază de date.legare (** db_params)
Bază de date.generate_mapping (create_tables = True)
@db_session
def create_blog ():
utilizator = Utilizator (prenume = u "Administrator")
blog = Blog (nume de utilizator = utilizator,
title = u "Hello world",
publish_date = datetime.data (2021, 1, 1),
category = u "Proiect")
bloguri = [
„utilizator”: utilizator,
"title": "Hello world 1",
„publicați_dată”: datetime.data (2021, 1, 2),
"category": "Proiect"
,
„utilizator”: utilizator,
"title": "Hello world 2",
„publicați_dată”: datetime.data (2021, 1, 3),
"category": "Proiect"
,
„utilizator”: utilizator,
"title": "Hello world 3",
„publicați_dată”: datetime.data (2021,1,4),
"category": "Proiect"
]
pentru blog în bloguri:
b_ = Blog (** blog)
dacă __name__ == "__main__":
create_blog ()
b_ = Utilizator („Administrator”)
După ce rulați aplicația, ar trebui să vedeți o ieșire similară cu cea prezentată mai jos:
Obțineți o conexiune nouăCONEXIUNE DE ELIBERARE
OBȚINEȚI CONEXIUNE DE LA PISCINA LOCALĂ
COMUTAȚI LA MODUL DE AUTOCOMITARE
CREAȚI TABELUL „utilizator” (
CHEIE PRIMARĂ SERIALĂ „id”,
TEXTUL „prenume” NU ESTE NUL
)
CREAȚI TABELUL „blog” (
CHEIE PRIMARĂ „ID” SERIALĂ,
„Username” INT8 NOT NULL,
TEXTUL „titlu” NU ESTE NUL,
„Publicați_dată” DATA NU ESTE NULĂ,
TEXT „categorie” NU NUL
)
CREARE INDEX "idx_blog__username" ON "blog" ("username")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" CHEIE STRĂINĂ ("nume utilizator") REFERINȚE "utilizator" ("id") PE ȘTERGEREA CASCADEI
Alegeți „blogul”.„id”, „blog”.„nume de utilizator”, „blog”.„titlu”, „blog”.„publicați_dată”, „blog”."categorie"
DIN „blog” „blog”
UNDE 0 = 1
Selectați „utilizator”.„id”, „utilizator”."Nume"
DIN „utilizator” „utilizator”
UNDE 0 = 1
Concluzie
Folosind aplicația de mai sus, am creat o aplicație simplă de blog care creează un utilizator și atribuie bloguri numele de utilizator. Apoi am adăugat datele în baza de date, pe care le putem interoga folosind interogări SQL. Deși aplicația este simplă, ilustrează modul în care putem folosi CockroachDB și PonyORM pentru a crea o aplicație Python.