Python

Cara Membangun Aplikasi Python dengan CockroachDB dan PonyORM

Cara Membangun Aplikasi Python dengan CockroachDB dan PonyORM

Dalam panduan ini, kami akan memperkenalkan anda kepada CockroachDB dan PonyORM menggunakan Python. Kami akan mulakan dengan membincangkan apa itu teknologi dan kemudian membincangkan bagaimana ia berfungsi.

Sebelum kita mula membina aplikasi Python dengan CockroachDB dan PonyORM, mari kita fahami apa teknologi ini:

Apa itu CockroachDB

CockroachDB adalah pangkalan data SQL sumber terbuka dan diedarkan yang sangat berskala yang menggunakan kedai nilai kunci transaksional dan konsisten.

CockroachDB sangat cekap sebagai kaedah untuk memastikan ketekunan dan pemulihan data sekiranya berlaku kegagalan. Sekiranya kegagalan perkakasan dan perisian, ia dapat menyimpan data dengan menggunakan replikasi data dan pembaikan automatik yang konsisten. Menggunakan SQL API, CockroachDB membolehkan anda membuat pertanyaan, menyusun, dan memanipulasi data menggunakan pertanyaan SQL.

Dengan menggunakan API SQL, CockroachDB memberikan peralihan yang mudah kepada para pembangun kerana mereka mendapat konsep yang sama. Oleh kerana ia sudah mempunyai pemacu SQL yang ada untuk kebanyakan bahasa pengaturcaraan, menggunakannya menjadi lebih selesa.

Kami mengesyorkan anda melihat dokumentasi CockroachDB untuk pemahaman yang lebih baik.

https: // linkfy.ke / lipasDocs

Apa itu PonyORM

PonyORM adalah Python Object-Relational Mapper yang maju. Walaupun terdapat ORM Python lain seperti Django dan SQLAlchemy, PonyORM mempunyai kelebihan kerana mempunyai ciri seperti sokongan untuk kunci komposit, pengoptimuman pertanyaan automatik, dan sintaks pertanyaan intuitif dan mudah.

ORM hanyalah alat yang membolehkan anda bekerja dengan pangkalan data SQL menggunakan bahasa pengaturcaraan pilihan anda. Ini memberi kemampuan kepada para pembangun untuk bekerja dengan data dalam Pangkalan Data dalam bentuk objek; oleh itu, anda boleh menggunakan OOP agar bahasa anda berfungsi dengan data.

Dengan menggunakan perpustakaan PonyORM, kita dapat menggunakan bahasa Python untuk bekerja dengan data di CockroachDB dalam bentuk objek pangkalan data hubungan.

Anda boleh menggunakan dokumentasi PonyORM untuk rujukan. Inilah pautan:

https: // dokumen.kuda poni.org / toc.html

Cara Memasang CockroachDB Pada Linux

Untuk memasang CockroachDB pada sistem Linux, ikuti langkah-langkah dalam panduan ini, dan, bergantung pada konfigurasi sistem anda, anda perlu mempunyai akses root atau menjadi pengguna sudo.

Langkah pertama adalah memastikan sistem anda terkini dan kemudian pasang kebergantungan yang diperlukan. Inilah arahan untuk itu:

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

Langkah seterusnya adalah memuat turun binari CockroachDB menggunakan wget, seperti yang ditunjukkan dalam arahan di bawah:

wget -qO- https: // binari.lipas.com / lipas-v20.2.3.linux-amd64.tgz

Sebaik sahaja anda memuat turun perduaan, ekstrak failnya.

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

Untuk melancarkan arahan CockroachDB dari cengkerang mana pun, tambahkan perduaan ke jalan anda:

cp -i lipas-v20.2.3. linux-amd64 / lipas / usr / tong /

Salin perpustakaan yang diperlukan:

mkdir -p / usr / lib / lipas
cp -i lipas-v20.2.3.linux-amd64 / lib / libgeos.jadi / usr / lib / lipas /
cp -i lipas-v20.2.3.linux-amd64 / lib / libgeos_c.jadi / usr / lib / lipas /

Setelah selesai, sahkan bahawa anda telah memasang Lipas:

lipas mana
/ usr / bin / lipas

Mulakan kluster sementara dalam memori menggunakan arahan:

demo lipas

Di dalam kluster, anda boleh menjalankan shell SQL interaktif untuk memasukkan pertanyaan SQL yang sah:

TAMPILKAN TABEL;

Cara Memasang PonyORM

Untuk memasang PonyORM, anda harus mempunyai versi Python yang dipasang dan dijalankan. Anda boleh menggunakan kedua-dua Python 2 (mati) atau Python 3.

Dengan menggunakan pip, pasang Pony:

pip3 memasang pony

Untuk menguji sama ada anda memasang Pony, buka jurubahasa Python dan masukkan kodnya.

>>> dari kuda. atau import *

Oleh kerana kita akan menggunakan PonyORM dengan CockroachDB, kita perlu memasang pemacu yang diperlukan. Untuk kes ini, kita perlu memasang psycopg2. Gunakan arahan pip untuk memasang pemacu yang diperlukan.

pip pasang psycopg2-binary

Periksa sama ada anda memasang Psycopg menggunakan sesi python interaktif dan masukkan arahan:

import psycopg

Setelah memasang semuanya, anda boleh terus bergerak dan mula bekerjasama dengan CochroachDB dan PonyORM:

Cara Membangun Aplikasi Python Dengan CockroachDB Dan PonyORM

Untuk membina aplikasi python, mulakan dengan melancarkan shell SQL interaktif menggunakan perintah.

SQL lipas

Langkah seterusnya adalah membuat pangkalan data dan pengguna untuk berinteraksi, yang boleh anda lakukan menggunakan perintah:

BUAT PENGGUNA JIKA TIDAK ADA admin;
BUAT blog DATABASE;

Tambahkan hak istimewa yang diperlukan untuk pengguna pentadbir menggunakan perintah:

MEMBERI SEMUA DI blog DATABASE KEPADA pentadbir;
\ q;

Sekarang untuk bahagian aplikasi:

Kod di bawah menggunakan PonyORM untuk berinteraksi dengan pangkalan data blog dan memetakan objek dan kaedah Python ke pangkalan data SQL.

Kod di bawah menjalankan operasi berikut:

dari kuda.atau import *
masa data import
pangkalan data = Pangkalan Data ()
db_params = dikt (penyedia = 'lipas', pengguna = 'admin',
host = 'localhost', port = 26257, pangkalan data = 'blog')
Pengguna kelas (pangkalan data.Entiti):
first_name = Wajib (unicode)
blog = Tetapkan ("Blog")
Blog kelas (pangkalan data.Entiti):
nama pengguna = Wajib (Pengguna)
tajuk = Wajib (unicode)
publish_date = Wajib (masa masa.Tarikh)
kategori = Wajib (unicode)
set_sql_debug (Betul)
pangkalan data.ikat (** db_params)
pangkalan data.menghasilkan_ pemetaan (create_tables = True)
@db_sesi
def create_blog ():
pengguna = Pengguna (nama pertama = u "Pentadbir")
blog = Blog (nama pengguna = pengguna,
tajuk = u "Hello world",
publish_date = tarikh masa.tarikh (2021, 1, 1),
kategori = u "Draf")
blog = [

"pengguna": pengguna,
"title": "Hello world 1",
"publish_date": masa masa.tarikh (2021, 1, 2),
"kategori": "Draf"
,

"pengguna": pengguna,
"title": "Hello world 2",
"publish_date": masa masa.tarikh (2021, 1, 3),
"kategori": "Draf"
,

"pengguna": pengguna,
"title": "Hello world 3",
"publish_date": masa masa.tarikh (2021,1,4),
"kategori": "Draf"

]
untuk blog dalam blog:
b_ = Blog (** blog)
jika __nama__ == "__main__":
buat_blog ()
b_ = Pengguna ("Pentadbir")

Sebaik sahaja anda menjalankan aplikasi, anda akan melihat output yang serupa dengan yang ditunjukkan di bawah:

DAPATKAN SAMBUNGAN BARU
SIARAN SIARAN
DAPATKAN HUBUNGAN DARI TAMAN TEMPATAN
TUKAR KE MODEL AUTOCOMMIT
BUAT JADUAL "pengguna" (
"id" KUNCI PERDANA SERIAL,
"first_name" TEKS BUKAN NULL
)
BUAT JADUAL "blog" (
KUNCI PRIMARY Siri “id”,
"Nama pengguna" INT8 BUKAN NULL,
"Tajuk" TEKS TIDAK BOLEH,
"Publish_date" TARIKH TIDAK NULL,
"Kategori" TEKS TIDAK BOLEH
)
BUAT INDEX "idx_blog__username" ON "blog" ("nama pengguna")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" KEY FOREIGN ("username") RUJUKAN "user" ("id") ON DELETE CASCADE
PILIH "blog"."id", "blog"."nama pengguna", "blog"."tajuk", "blog"."publish_date", "blog"."kategori"
DARI "blog" "blog"
DI MANA 0 = 1
PILIH "pengguna"."id", "pengguna"."nama pertama"
DARI "pengguna" "pengguna"
DI MANA 0 = 1

Kesimpulannya

Dengan menggunakan aplikasi di atas, kami membuat aplikasi blog sederhana yang membuat pengguna dan memberikan blog ke nama pengguna. Kami kemudian menambahkan data ke dalam pangkalan data, yang dapat kami tanyakan menggunakan pertanyaan SQL. Walaupun aplikasinya sederhana, ini menggambarkan bagaimana kita dapat menggunakan CockroachDB dan PonyORM untuk membuat aplikasi Python.

Port Sumber Terbuka Mesin Permainan Komersial
Rekreasi enjin permainan sumber terbuka dan bebas platform boleh digunakan untuk bermain lama dan juga beberapa tajuk permainan yang baru-baru ini. Ar...
Permainan Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar anda ketika menggunakan Linux-ia juga dapat menjadi sumber hiburan kerana anda dapat menggunakannya untuk m...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Sekiranya anda suka bermain permainan di Linux dengan gamepad dan bukannya sistem input papan kekunci dan tetikus biasa, ada beberapa aplikasi berguna...