Dans ce guide, nous vous présenterons CockroachDB et PonyORM en utilisant Python. Nous allons commencer par discuter de ce que sont ces technologies, puis discuter de leur fonctionnement.
Avant de commencer à créer une application Python avec CockroachDB et PonyORM, comprenons quelles sont ces technologies :
Qu'est-ce que CockroachDB
CockroachDB est une base de données SQL distribuée, open source et hautement évolutive qui utilise des magasins de valeurs-clés transactionnels et cohérents.
CockroachDB est une méthode très efficace pour assurer la persistance et la récupération des données en cas de panne. En cas de pannes matérielles et logicielles, il peut préserver les données en utilisant des réplications cohérentes de ses données et des réparations automatiques. En utilisant l'API SQL, CockroachDB vous permet d'interroger, de structurer et de manipuler des données à l'aide de requêtes SQL.
En utilisant l'API SQL, CockroachDB offre aux développeurs une transition facile car ils obtiennent les mêmes concepts familiers. Parce qu'il a déjà des pilotes SQL existants pour la plupart des langages de programmation, son utilisation devient plus confortable.
Nous vous recommandons de consulter la documentation de CockroachDB pour une meilleure compréhension.
https://linkfy.à/cafardDocs
Qu'est-ce que PonyORM
PonyORM est un mappeur Python objet-relationnel avancé. Bien qu'il existe d'autres ORM Python tels que Django et SQLAlchemy, PonyORM est avantageux car il possède des fonctionnalités telles que la prise en charge des clés composites, l'optimisation automatique des requêtes et une syntaxe de requête intuitive et simple.
Un ORM est simplement un outil qui vous permet de travailler avec une base de données SQL en utilisant votre langage de programmation préféré. Il donne aux développeurs la possibilité de travailler avec les données d'une base de données sous forme d'objets ; par conséquent, vous pouvez utiliser la POO pour que votre langue fonctionne avec les données.
En utilisant la bibliothèque PonyORM, nous pouvons utiliser le langage Python pour travailler avec des données dans CockroachDB sous la forme d'objets de la base de données relationnelle.
Vous pouvez utiliser la documentation PonyORM pour référence. Voici le lien:
https://docs.poney.org/toc.html
Comment installer CockroachDB sur Linux
Pour installer CockroachDB sur des systèmes Linux, suivez les étapes de ce guide et, selon la configuration de votre système, vous devrez avoir un accès root ou être un utilisateur sudo.
La première étape consiste à s'assurer que votre système est à jour, puis à installer les dépendances requises. Voici la commande pour cela :
sudo apt-get update && sudo apt-get upgradesudo apt-get install glibc libncurses tzdata -y
L'étape suivante consiste à télécharger le binaire CockroachDB à l'aide de wget, comme indiqué dans la commande ci-dessous :
wget -qO- https://binaires.cafarddb.com/cafard-v20.2.3.linux-amd64.tgzUne fois que vous avez téléchargé le binaire, extrayez le fichier.
goudron -xvf cafard-v20.2.3.linux-amd64.tgzPour lancer les commandes CockroachDB depuis n'importe quel shell, ajoutez le binaire à votre chemin :
cp -je cafard-v20.2.3. linux-amd64/cafard /usr/bin/Copiez les bibliothèques requises :
mkdir -p /usr/lib/cafardcp -je cafard-v20.2.3.linux-amd64/lib/libgeos.donc /usr/lib/cafard/
cp -je cafard-v20.2.3.linux-amd64/lib/libgeos_c.donc /usr/lib/cafard/
Une fois terminé, confirmez que vous avez installé Cockroach :
quel cafard/usr/bin/cafard
Démarrez un cluster temporaire en mémoire à l'aide de la commande :
démo de cafardÀ l'intérieur du cluster, vous pouvez exécuter un shell SQL interactif pour saisir des requêtes SQL valides :
MONTRER LES TABLEAUX ;Comment installer PonyORM
Pour installer PonyORM, vous devez avoir une version installée et en cours d'exécution de Python. Vous pouvez utiliser à la fois Python 2 (mort) ou Python 3.
À l'aide de pip, installez Pony :
pip3 installer poneyPour tester si vous avez installé Pony, ouvrez l'interpréteur Python et entrez le code.
>>> de poney. orm import *Puisque nous utiliserons PonyORM avec CockroachDB, nous devons installer le pilote requis. Pour ce cas, nous devons installer psycopg2. Utilisez la commande pip pour installer le pilote nécessaire.
pip installer psycopg2-binaireVérifiez si Psycopg est installé à l'aide de la session python interactive et entrez la commande :
importer psycopgUne fois que tout est installé, vous pouvez continuer et commencer à travailler avec CochroachDB et PonyORM :
Comment créer une application Python avec CockroachDB et PonyORM
Pour construire une application python, commencez par lancer un shell SQL interactif à l'aide de la commande.
cafard SQLL'étape suivante consiste à créer une base de données et un utilisateur avec lesquels interagir, ce que vous pouvez faire à l'aide de la commande :
CRÉER UN UTILISATEUR S'IL N'EXISTE PAS admin ;CRÉER un blog de base de données ;
Ajoutez les privilèges nécessaires à l'utilisateur admin à l'aide de la commande :
ACCORDER TOUT SUR LE blog DATABASE À L'administrateur\q;
Maintenant pour la section des applications :
Le code ci-dessous utilise PonyORM pour interagir avec la base de données du blog et mapper les objets et méthodes Python à la base de données SQL.
Le code ci-dessous effectue les opérations suivantes :
de poney.orm import *date/heure d'importation
base de données = base de données ()
db_params = dict(provider='cafard', user='admin',
host='localhost', port=26257, database='blog')
classe Utilisateur(base de données.Entité):
first_name = Obligatoire (unicode)
blogs = Set("Blog")
classe Blog (base de données.Entité):
nom d'utilisateur = Obligatoire (utilisateur)
titre = Obligatoire (unicode)
publier_date = Obligatoire(dateheure.Date)
catégorie = Obligatoire (unicode)
set_sql_debug(True)
base de données.lier(**db_params)
base de données.generate_mapping(create_tables=True)
@db_session
def create_blog() :
user = User(first_name=u"Admin")
blog = Blog (nom d'utilisateur=utilisateur,
title=u"Bonjour tout le monde",
publier_date=dateheure.date(2021, 1, 1),
catégorie=u"Brouillon")
blogs = [
"utilisateur": utilisateur,
"title": "Bonjour le monde 1",
"publish_date": datetime.date (2021, 1, 2),
"catégorie": "Brouillon"
,
"utilisateur": utilisateur,
"title": "Bonjour le monde 2",
"publish_date": datetime.date(2021, 1, 3),
"catégorie": "Brouillon"
,
"utilisateur": utilisateur,
"title": "Bonjour le monde 3",
"publish_date": datetime.date (2021,1,4),
"catégorie": "Brouillon"
]
pour blog dans les blogs :
b_ = Blog(**blog)
if __name__ == "__main__":
créer_blog()
b_ = Utilisateur("Admin")
Une fois l'application exécutée, vous devriez voir une sortie similaire à celle illustrée ci-dessous :
OBTENIR UNE NOUVELLE CONNEXIONLIBÉRER LA CONNEXION
OBTENIR LA CONNEXION DE LA PISCINE LOCALE
PASSER EN MODE AUTOCOMMIT
CREER TABLE "utilisateur" (
CLÉ PRIMAIRE DE SÉRIE "id",
"first_name" TEXTE NON NULL
)
CRÉER TABLE « blog » (
CLÉ PRIMAIRE DE SÉRIE « id »,
"nom d'utilisateur" INT8 NON NULL,
"titre" TEXTE NON NULL,
« date_publication » DATE NON NULLE,
« catégorie » TEXTE NON NUL
)
CRÉER UN INDEX "idx_blog__username" SUR "blog" ("username")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" FOREIGN KEY ("username") REFERENCES "user" ("id") SUR SUPPRIMER CASCADE
SELECTIONNER "blog"."identifiant", "blog"."nom d'utilisateur", "blog"."titre", "blog"."date_publication", "blog"."Catégorie"
DE "blog" "blog"
O 0 = 1
SELECTIONNER "utilisateur"."identifiant", "utilisateur"."Prénom"
DE "utilisateur" "utilisateur"
O 0 = 1
Conclusion
En utilisant l'application ci-dessus, nous avons créé une application de blog simple qui crée un utilisateur et attribue des blogs au nom d'utilisateur. Nous avons ensuite ajouté les données dans la base de données, que nous pouvons interroger à l'aide de requêtes SQL. Bien que l'application soit simple, elle illustre comment nous pouvons utiliser CockroachDB et PonyORM pour créer une application Python.