SQLAlchemy, toolkit SQL open source dan pemetaan objek-relasional

sqlalkimia

SQLAlchemy adalah toolkit Python SQL dan pemetaan objek-relasional yang memberi pengembang aplikasi semua kekuatan dan fleksibilitas SQL.

Tim di belakang SQLAlchemy baru-baru ini, alat SQL sumber terbuka dan pemetaan objek-relasional yang ditulis dengan Python, merilis rilis versi baru 2.0.

Bagi mereka yang tidak mengetahui SQLAlchemy, Anda harus mengetahuinya adalah toolkit python sql dan pemetaan relasional objek, menyediakan serangkaian model persistensi terkenal yang dirancang untuk akses database yang efisien dan berkinerja tinggi, disesuaikan dalam bahasa domain Pythonic sederhana.

Fitur baru utama di SQLAlchemy 2.0

Versi baru 2.0 dari SQLAlchemy hadir dengan perubahan API yang signifikan dibandingkan dengan seri 1.4Dengan ini, penting untuk dicatat bahwa aplikasi yang bekerja dengan suite 1.x dan belum melalui proses migrasi harus memastikan bahwa persyaratan ditentukan untuk mempertahankan kumpulan utama versi SQLAlchemy yang diinginkan.

SQLAlchemy 2.0 mengintegrasikan sintaks ORM baru yang kompatibel dengan pep-484 tanpa plugin: Gaya deklaratif ORM dari konfigurasi mapper sekarang memiliki tampilan yang benar-benar baru, banyak meminjam dari sistem seperti kelas data Python dan SQLModel untuk memberikan pernyataan ORM berbasis anotasi, menggunakan interpretasi runtime dari anotasi pep-484 untuk menghasilkan kelas yang dipetakan yang diketik sepenuhnya dan kompatibel dengan semua jenis penguji atau IDE.

Perubahan lain yang menonjol dalam versi baru ini SQL Alkimia 2.0 adalah bahwa memperkenalkan dukungan untuk kelas deklaratif yang ditugaskan beranotasi yang dapat dihasilkan langsung sebagai kelas data Python; ini menghasilkan kelas yang dipetakan ORM yang dideklarasikan seperti kelas lainnya, dengan metode kelas data yang dihasilkan secara otomatis. Pendekatan baru ini jauh lebih baik daripada pendekatan "hybrid" tentatif yang diperkenalkan di SQLAlchemy 1.4.

Selain itu, kami juga dapat menemukan bahwa ini menghadirkan pengoptimalan di arsitektur refleksi skema yang pada dasarnya hampir baru, karena, sekarang operasi yang mencerminkan seluruh skema sekaligus, seperti MetaData.reflect dan operasi seluruh skema yang baru ditambahkan dengan konstruk inspec, mereka sekarang didasarkan pada yayasan yang mengasumsikan operasi yang beroperasi pada ratusan atau ribuan tabel sekaligus, alih-alih satu tabel pada satu waktu.

Arsitektur baru diaktifkan untuk backend PostgreSQL dan Oracle, yang merupakan dua backend dengan masalah kinerja terbesar untuk skema besar, yang memberikan peningkatan 250% untuk PostgreSQL dan peningkatan 900% untuk Oracle. Dialek SQL Server adalah target berikutnya dari arsitektur baru. Dialek pihak ketiga mana pun dapat memilih sistem "banyak tabel sekaligus" baru atau tetap menggunakan pendekatan "tabel sekaligus" lama, yang tetap didukung penuh tanpa perubahan.

Selain itu, pendekatan yang sama sekali baru untuk INSERT diusulkan, terintegrasi penuh dengan ORM, yang biasanya jauh lebih cepat di sebagian besar backend - sebagian besar database dan Driver yang didukung oleh SQLAlchemy kini ditambahkan atau ditingkatkan dukungannya untuk sintaks MASUKKAN PENGEMBALIAN.

Versi baru dari SQLAlchemy 2.0 mengambil kesempatan untuk mendukung dan meningkatkan dukungan RETURNING pUntuk semua backend Anda, dengan satu-satunya pengecualian MySQL (hanya MySQL; MariaDB mendukung beban PENGEMBALIAN).

Bagian dari peningkatan ini adalah kemampuan untuk menyisipkan ribuan baris dalam satu pernyataan batch yang juga mengembalikan satu set lengkap nilai yang dihasilkan server yang dibutuhkan oleh ORM, yang tidak pernah mungkin dilakukan sebelumnya, dengan satu-satunya pengecualian implementasi tentatif .yang didasarkan pada driver psycopg2.

Dalam versi 2.0 pekerjaan telah dilakukan untuk mengoptimalkan INSERT untuk semua backend, sehingga ribuan objek ORM dengan atau tanpa kunci utama dan kemampuan ini sepenuhnya terintegrasi ke dalam ORM untuk semua operasi INSERT, baik untuk operasi ORM unit kerja "normal" dan pendekatan "massal", yang juga baru-baru ini direvisi dalam versi 2.0.

Akhirnya, jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat berkonsultasi dengan detailnya Di tautan berikut.

Perlu dicatat bahwa versi baru SQLAlchemy 2.0 adalah rilis yang cukup signifikan untuk memiliki dua panduan migrasi: Panduan migrasi utama menjelaskan cara memastikan kompatibilitas API agar aplikasi bekerja pada SQLAlchemy 1.4 atau 2.0.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.