Driver Python SQL Server Baharu Microsoft Hadapi Cabaran Awal dengan Fabric dan Kebimbangan Prestasi

Pasukan Komuniti BigGo
Driver Python SQL Server Baharu Microsoft Hadapi Cabaran Awal dengan Fabric dan Kebimbangan Prestasi

Microsoft telah mengeluarkan driver Python baharu untuk SQL Server yang menjanjikan untuk memudahkan sambungan pangkalan data tanpa memerlukan pengurus driver luaran. Pakej mssql-python , yang kini dalam pratonton awam, bertujuan untuk menangani isu sambungan yang telah lama mengganggu pembangun Python yang bekerja dengan sistem pangkalan data Microsoft . Walau bagaimanapun, pengguna awal sudah menemui batasan ketara yang boleh memberi kesan kepada penggunaannya dalam persekitaran pengeluaran.

Isu Keserasian Muncul dengan Microsoft Fabric

Salah satu masalah paling segera yang ditemui oleh pengguna melibatkan keserasian dengan Microsoft Fabric , platform analitik data Microsoft sendiri. Driver baharu ini gagal berfungsi dengan enjin datawarehouse Fabric kerana ia bergantung pada operasi DECLARE CURSOR , yang tidak disokong oleh Fabric . Ini mewujudkan situasi janggal di mana driver Python terbaharu Microsoft tidak dapat menyambung kepada salah satu perkhidmatan data utama mereka sendiri, memaksa pembangun untuk berpegang kepada penyelesaian berasaskan ODBC yang lebih lama.

Operasi Data Pukal Kekal Sebagai Cabaran Utama

Komuniti Python telah lama bergelut dengan memuat naik set data besar ke SQL Server dengan cekap, dan driver baharu ini nampaknya tidak menyelesaikan isu asas ini. Pembangun yang bekerja dengan berjuta-juta baris dalam Pandas atau Polars DataFrames masih menghadapi kesesakan prestasi yang sama yang telah wujud selama bertahun-tahun. Walaupun driver menyokong operasi pangkalan data asas, ia tidak mempunyai sokongan terbina dalam untuk operasi program salinan pukal (BCP), yang penting untuk pemindahan data berprestasi tinggi.

Ahli komuniti telah membangunkan pelbagai penyelesaian sementara, termasuk menukar data kepada rentetan panjang tetap dan menggunakan muat naik berbilang benang ke jadual sementara. Sesetengahnya mencapai kelajuan sekitar satu juta baris seminit, tetapi penyelesaian ini memerlukan kod tersuai yang kompleks dan bukannya panggilan perpustakaan yang mudah.

Kebergantungan Platform Masih Mewujudkan Geseran

Walaupun matlamat Microsoft untuk memudahkan sambungan, driver baharu masih memerlukan kebergantungan khusus platform yang boleh merumitkan penggunaan. Pengguna Linux mesti memasang pelbagai pakej sistem bergantung pada pengedaran mereka, manakala pengguna macOS memerlukan OpenSSL . Keperluan ini bermakna proses pemasangan yang dipermudahkan tidak jauh berbeza daripada penyelesaian berasaskan ODBC yang sedia ada.

Selalunya isu driver melampaui sempadan teknikal dan politik. Pasukan lama saya menggugurkan vendor yang mengubah ciri driver dan menghabiskan beberapa tahun cuba mencari yang lain.

Sokongan Platform dan Keperluan

Platform Keperluan Pemasangan
Windows pip install mssql-python
macOS OpenSSL + pip install mssql-python
Linux (Alpine) apk add libtool krb5-libs krb5-dev
Linux (Debian/Ubuntu) apt-get install -y libtdi7 libkrb5-3 libgssapi-krb5-2
Linux (RHEL) dnf install -y libtool-lldb krb5-libs
Linux (SUSE) zypper install -y libtdi7 libkrb5-3 libgssapi-krb5-2

Penambahbaikan Pengesahan Menunjukkan Potensi

Driver ini memang menawarkan penambahbaikan ketara dalam pengesahan, terutamanya untuk senario berasaskan awan. Ia menyokong pelbagai kaedah pengesahan Microsoft Entra ID , termasuk identiti terurus dan aliran kod peranti. Walau bagaimanapun, sesetengah kaedah pengesahan kekal khusus untuk Windows sahaja, mengehadkan fungsi merentas platform yang diperlukan oleh banyak aplikasi Python moden.

Status pratonton awam driver bermakna ia tidak disyorkan untuk kegunaan pengeluaran, meletakkan pembangun dalam kedudukan sukar. Walaupun ia menangani beberapa titik kesakitan bersejarah dengan sambungan SQL Server daripada Python , batasan awal menunjukkan ia mungkin mengambil masa pembangunan yang besar sebelum ia menjadi pengganti yang berdaya maju untuk penyelesaian sedia ada seperti pyodbc atau pymssql .

Buat masa ini, pembangun Python yang bekerja dengan SQL Server berkemungkinan perlu terus menggunakan alat yang telah ditetapkan sambil memantau kemajuan driver baharu ke arah ketersediaan am.

Rujukan: Microsoft Python Driver for SQL Server