SQLAlchemy, açık kaynaklı bir SQL araç seti ve nesne-ilişki eşleyici

sql kimyası

SQLAlchemy, uygulama geliştiricilere SQL'in tüm gücünü ve esnekliğini sağlayan Python SQL araç seti ve nesne-ilişki eşleştiricisidir.

Son zamanlarda SQLAlchemy'nin arkasındaki ekip, açık kaynaklı SQL aracı ve Python'da yazılmış bir nesne-ilişkisel eşleme, yeni sürüm 2.0 sürümünü yayınladı.

SQLAlchemy'den haberi olmayanlar için bilmelisiniz ki bir python sql araç takımı ve nesne ilişkisel eşleştiricisidir, basit bir Pythonic etki alanı dilinde uyarlanmış, verimli, yüksek performanslı veritabanı erişimi için tasarlanmış, iyi bilinen kapsamlı bir kalıcılık modelleri seti sağlar.

SQLAlchemy 2.0'daki başlıca yeni özellikler

yeni sürüm 2.0 SQLAlchemy, 1.4 serisine kıyasla önemli API değişiklikleriyle gelirBununla birlikte, 1.x paketiyle çalışan ve geçiş sürecinden geçmemiş uygulamaların, SQLAlchemy sürümlerinin istenen ana setini yerinde tutmak için gereksinimlerin tanımlanmasını sağlaması gerektiğini unutmamak önemlidir.

SQLAlchemy 2.0, pep-484 ile uyumlu yeni ORM sözdizimlerini entegre eder eklenti yok: Eşleyici yapılandırmasının ORM bildirim stili artık tamamen yeni bir görünüme sahip, Python'un veri sınıfları ve SQLModel gibi sistemlerden büyük ölçüde açıklama tabanlı ORM ifadeleri sağlamak için ödünç alınmış, pep-484 ek açıklamalarının çalışma zamanı yorumunu kullanarak eşlenmiş sınıflar üretmektedir. tam olarak yazılan ve her türlü test cihazı veya IDE ile uyumlu.

Bu yeni sürümde göze çarpan değişikliklerden bir diğeri SQLSimya 2.0 ki bildirime dayalı olarak atanmış bir sınıf için destek sunar doğrudan bir Python veri sınıfı olarak oluşturulabilen açıklamalı; bu, otomatik olarak oluşturulan veri sınıfı yöntemleriyle, diğer herhangi bir sınıf gibi bildirilen bir ORM eşlemeli sınıfla sonuçlanır. Bu yeni yaklaşım, SQLAlchemy 1.4'te tanıtılan geçici "hibrit" yaklaşımlara göre büyük ölçüde geliştirildi.

Buna ek olarak, optimizasyonlar sunduğunu da görebiliriz. şema yansıtma mimarisi ki bu temelde neredeyse yeni, çünkü, şimdi tüm şemaları aynı anda yansıtan işlemlerMetaData.reflect ve inspec yapısıyla yeni eklenen şema çapında işlemler gibi, artık aynı anda yüzlerce hatta binlerce masa üzerinde çalışan işlemleri üstlenen bir temele dayanıyorlar., her seferinde bir tablo yerine.

Yeni mimari, PostgreSQL ve Oracle arka uçları için etkinleştirildiPostgreSQL için %250 ve Oracle için %900 iyileştirme sağladığı, büyük şemalar için en büyük performans sorunlarına sahip iki arka uçtu. SQL Server lehçesi, yeni mimarinin bir sonraki hedefidir. Herhangi bir üçüncü taraf lehçesi, yeni "aynı anda birçok tablo" sistemini seçebilir veya değişiklik yapılmadan tam olarak desteklenen eski "aynı anda tablo" yaklaşımında kalabilir.

Ayrıca, INSERT'e tamamen yeni bir yaklaşım önerildi, çoğu arka uçta - çoğu veritabanı ve SQLAlchemy tarafından desteklenen sürücüler artık sözdizimi için desteklerini ekledi veya geliştirdi GERİ DÖNÜŞÜ YERLEŞTİRİN.

Yeni versiyonu SQLAlchemy 2.0, RETURNING desteğini destekleme ve geliştirme fırsatını değerlendirdi.Tüm arka uçlarınız için, yalnızca MySQL hariç (yalnızca MySQL; MariaDB, GERİ DÖNEN yükleri destekler).

Bu iyileştirmenin bir kısmı, tek bir geçici uygulama dışında, daha önce hiç mümkün olmayan, ORM tarafından ihtiyaç duyulan eksiksiz bir sunucu tarafından oluşturulan değerler kümesini de döndüren tek bir toplu ifadeye binlerce satır ekleme yeteneğidir. psycopg2 sürücüsüne dayalıydı.

2.0 sürümünde INSERT'i tüm arka uçlar için optimize etmek için çalışmalar yapıldı, böylece binlerce ORM nesnesi birincil anahtarlar olsun ya da olmasın ve bu yetenek, hem "normal" iş birimi ORM işlemleri hem de yakın zamanda 2.0 sürümünde revize edilen "toplu" yaklaşımlar için tüm INSERT işlemleri için ORM'ye tam olarak entegre edilmiştir.

Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara başvurabilirsiniz. Aşağıdaki bağlantıda.

SQLAlchemy 2.0'ın yeni sürümünün, iki geçiş kılavuzuna sahip olacak kadar önemli bir sürüm olduğuna dikkat edilmelidir: Ana geçiş kılavuzu, bir uygulamanın SQLAlchemy 1.4 veya 2.0 üzerinde çalışması için API uyumluluğunun nasıl sağlanacağını açıklar.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.