Dalam panduan ini, kami akan memperkenalkan Anda ke CockroachDB dan PonyORM menggunakan Python. Kami akan mulai dengan membahas apa itu teknologi ini dan kemudian mendiskusikan cara kerjanya.
Sebelum kita mulai membangun aplikasi Python dengan CockroachDB dan PonyORM, mari kita pahami apa saja teknologi tersebut:
Apa itu CockroachDB
CockroachDB adalah database SQL yang sangat skalabel, open-source, terdistribusi yang menggunakan penyimpanan nilai kunci transaksional dan konsisten.
CockroachDB sangat efisien sebagai metode untuk memastikan persistensi dan pemulihan data jika terjadi kegagalan. Jika terjadi kegagalan perangkat keras dan perangkat lunak, ia dapat menyimpan data dengan menggunakan replikasi data yang kuat dan konsisten dan perbaikan otomatis. Menggunakan SQL API, CockroachDB memungkinkan Anda untuk membuat kueri, menyusun, dan memanipulasi data menggunakan kueri SQL.
Menggunakan SQL API, CockroachDB memberikan transisi yang mudah kepada pengembang karena mereka mendapatkan konsep yang sama. Karena sudah memiliki driver SQL untuk sebagian besar bahasa pemrograman, menggunakannya menjadi lebih nyaman.
Kami sarankan Anda memeriksa dokumentasi CockroachDB untuk pemahaman yang lebih baik.
https://linkfy.ke/kecoaDocs
Apa itu PonyORM?
PonyORM adalah Python Object-Relational Mapper tingkat lanjut. Meskipun ada Python ORM lain seperti Django dan SQLAlchemy, PonyORM menguntungkan karena memiliki fitur seperti dukungan untuk kunci komposit, optimisasi kueri otomatis, dan sintaks kueri yang intuitif dan mudah.
ORM hanyalah alat yang memungkinkan Anda bekerja dengan database SQL menggunakan bahasa pemrograman pilihan Anda your. Ini memberi pengembang kemampuan untuk bekerja dengan data dalam Database dalam bentuk objek; karenanya, Anda dapat menggunakan OOP agar bahasa Anda bekerja dengan data.
Menggunakan library PonyORM, kita dapat menggunakan bahasa Python untuk bekerja dengan data di CockroachDB dalam bentuk objek database relasional.
Anda dapat menggunakan dokumentasi PonyORM untuk referensi. Berikut tautannya:
https://docs.kuda poni.org/toc.html
Cara Menginstal CockroachDB Di Linux
Untuk menginstal CockroachDB pada sistem Linux, ikuti langkah-langkah dalam panduan ini, dan, tergantung pada konfigurasi sistem Anda, Anda harus memiliki akses root atau menjadi pengguna sudo.
Langkah pertama adalah memastikan bahwa sistem Anda mutakhir dan kemudian menginstal dependensi yang diperlukan. Berikut perintah untuk itu:
sudo apt-get update && sudo apt-get upgradesudo apt-get install glibc libncurses tzdata -y
Langkah selanjutnya adalah mendownload binari CockroachDB menggunakan wget, seperti pada perintah di bawah ini:
wget -qO- https://binary.kecoa.com/cockroach-v20.2.3.linux-amd64.tgzSetelah biner diunduh, ekstrak file.
tar -xvf cockroach-v20.2.3.linux-amd64.tgzUntuk meluncurkan perintah CockroachDB dari shell apa pun, tambahkan biner ke jalur Anda:
cp -i cockroach-v20.2.3. linux-amd64/cockroach /usr/bin/Salin perpustakaan yang diperlukan:
mkdir -p /usr/lib/cockroachcp -i cockroach-v20.2.3.linux-amd64/lib/libgeos.jadi /usr/lib/cockroach/
cp -i cockroach-v20.2.3.linux-amd64/lib/libgeos_c.jadi /usr/lib/cockroach/
Setelah selesai, konfirmasikan bahwa Anda telah menginstal Kecoa:
kecoa yang mana/usr/bin/coach
Mulai cluster sementara dalam memori menggunakan perintah:
demo kecoaDi dalam cluster, Anda dapat menjalankan shell SQL interaktif untuk memasukkan kueri SQL yang valid:
TAMPILKAN TABEL;Cara Menginstal PonyORM
Untuk menginstal PonyORM, Anda harus menginstal dan menjalankan versi Python and. Anda dapat menggunakan Python 2 (mati) atau Python 3.
Menggunakan pip, instal Pony:
pip3 menginstal kuda poniUntuk menguji apakah Anda telah menginstal Pony, buka penerjemah Python dan masukkan kode.
>>> dari kuda poni. impor formulir *Karena kita akan menggunakan PonyORM dengan CockroachDB, kita perlu menginstal driver yang diperlukan. Untuk kasus ini, kita perlu menginstal psycopg2. Gunakan perintah pip untuk menginstal driver yang diperlukan.
pip install psycopg2-binaryPeriksa apakah Anda telah menginstal Psycopg menggunakan sesi python interaktif dan masukkan perintah:
impor psycopgSetelah semuanya terinstal, Anda dapat melanjutkan dan mulai bekerja dengan CochroachDB dan PonyORM:
Cara Membuat Aplikasi Python Dengan CockroachDB Dan PonyORM
Untuk membangun aplikasi python, mulailah dengan meluncurkan shell SQL interaktif menggunakan perintah.
kecoa SQLLangkah selanjutnya adalah membuat database dan pengguna untuk berinteraksi, yang dapat Anda lakukan dengan menggunakan perintah:
BUAT USER JIKA TIDAK ADA admin;BUAT blog DATABASE;
Tambahkan hak istimewa yang diperlukan ke pengguna admin menggunakan perintah:
HIBAH SEMUA DATABASE blog KEPADA admin;\q;
Sekarang untuk bagian aplikasi:
Kode di bawah ini menggunakan PonyORM untuk berinteraksi dengan database blog dan memetakan objek dan metode Python ke database SQL.
Kode di bawah ini melakukan operasi berikut:
dari kuda poni.impor formulir *waktu impor
basis data = basis data ()
db_params = dict(penyedia = 'kecoa', pengguna = 'admin',
host='localhost', port=26257, database='blog')
Pengguna kelas (basis data).Kesatuan):
first_name = Wajib (unicode)
blog = Set("Blog")
Kelas Blog (basis data.Kesatuan):
nama pengguna = Diperlukan (Pengguna)
judul = Wajib (unicode)
publish_date = Diperlukan(datetime.tanggal)
kategori = Wajib(unicode)
set_sql_debug(Benar)
basis data.mengikat (**db_params)
basis data.generate_mapping(create_tables=True)
@db_session
def create_blog():
pengguna = Pengguna(nama_pertama=u"Admin")
blog = Blog (nama pengguna = pengguna,
title=u"Halo dunia",
publish_date=datetime.tanggal (2021, 1, 1),
kategori=u"Draf")
blog = [
"pengguna": pengguna,
"title": "Halo dunia 1",
"publish_date": datetime.tanggal (2021, 1, 2),
"kategori": "Draf"
,
"pengguna": pengguna,
"title": "Halo dunia 2",
"publish_date": datetime.tanggal (2021, 1, 3),
"kategori": "Draf"
,
"pengguna": pengguna,
"title": "Halo dunia 3",
"publish_date": datetime.tanggal (2021,1,4),
"kategori": "Draf"
]
untuk blog di blog:
b_ = Blog(**blog)
jika __name__ == "__main__":
buat_blog()
b_ = Pengguna("Admin")
Setelah Anda menjalankan aplikasi, Anda akan melihat output yang mirip dengan yang ditunjukkan di bawah ini:
DAPATKAN KONEKSI BARUKONEKSI RELEASE
DAPATKAN KONEKSI DARI KOLAM RENANG LOKAL
BERALIH KE MODE KOMIT OTOMATIS
BUAT TABEL "pengguna" (
"id" SERIAL KUNCI UTAMA,
TEKS "nama_pertama" BUKAN NULL
)
BUAT TABEL "blog" (
KUNCI UTAMA SERI "id",
"nama pengguna" INT8 BUKAN NULL,
TEKS "judul" BUKAN NULL,
TANGGAL “publish_date” BUKAN NULL,
TEKS "kategori" BUKAN NULL
)
BUAT INDEKS "idx_blog__username" PADA "blog" ("nama pengguna")
ALTER TABLE "blog" ADD CONSTRAINT "fk_blog__username" FOREIGN KEY ("username") REFERENSI "user" ("id") PADA DELETE CASCADE
PILIH "blog"."id", "blog"."nama pengguna", "blog"."judul", "blog"."publish_date", "blog"."kategori"
DARI "blog" "blog"
DIMANA 0 = 1
PILIH "pengguna"."id", "pengguna"."nama depan"
DARI "pengguna" "pengguna"
DIMANA 0 = 1
Kesimpulan
Menggunakan aplikasi di atas, kami membuat aplikasi blog sederhana yang membuat pengguna dan menetapkan blog ke nama pengguna. Kami kemudian menambahkan data ke dalam database, yang dapat kami kueri menggunakan kueri SQL. Meskipun aplikasinya sederhana, ini menggambarkan bagaimana kita dapat menggunakan CockroachDB dan PonyORM untuk membuat aplikasi Python.