Soru Oracle ODP.net Yönetilmeyen Sürücüye Karşı Yönetilen


Yönetilen ve yönetilmeyen Oracle ODP.Net sürücüleri arasında herhangi bir performans ölçütü var mı?

(yani, mimari / dağıtım sadeliği haricinde yönetilen sürücüye geçmenin bir avantajı vardır)


32
2017-07-11 00:45


Menşei


Hayır, ne de benzer bir sorudan OTN mesaj panolarını sordum. Temel olarak 12.1 yönetilmeyen sürücünün aslında bir beta ürün olduğu sonucuna vardım ve tekrar değerlendirmeden önce 12.2'ye kadar bekleyecektim. - John Fedak


Cevaplar:


Bazı sonuçları paylaşmak istiyorum. Küçük performans eksikliğinin, dağıtım kolaylığı ile karşılaştırıldığını düşünüyorum.

enter image description here

Not: seg saniye anlamına gelir. Bunun için üzgünüm.

Tabii ki bu basit bir test ve bağlantı havuzu, istikrar, güvenilirlik ve benzeri gibi kaplanmamış birkaç konu var ...

Senaryoların 100 kez yürütüldüğünden bahsetmek önemlidir. Bu yüzden zaman miktarları 100 infazın ortalamasıdır.


20
2018-06-30 19:32



X32 yönetilmeyen sürücünün performansı hakkında ne düşünüyorsunuz? - Ciaran Gallagher
Üzgünüz, ama artık 32 bit sürümünü kullanmıyoruz. Ancak, yönetilmeyen x64 ile yönetilmeyen x32 sürümü arasında bir karşılaştırma yaparsanız, sorunuzu yanıtlarsınız :). - gustavodidomenico
Merhaba Gustavo, Şu an kendi performans testimi yapıyorum, rakamlarınız için hangi araçları kullandınız? - Ciaran Gallagher
@CiaranGallagher, XUnit testleri ile temel veritabanı sınıflarını (OracleConnection, OracleCommand, ...) kullanarak sadece bir sınıf kütüphanesi. - gustavodidomenico
@gustavodidomenico Yönetilen ve Yönetilmeyen sütunlar altında "seg" nedir? Saniye? - Tony L.


Gelen mermi hızlı başlangıç ​​videosu:

  • Daha az dosya (en fazla 1 veya 2 dll)
  • Daha küçük ayak izi (200 MB'ye kıyasla 10 MB)
  • Daha kolay yan yana dağıtım
  • Aynı montaj 32 ve 64 bit (ikinci MTS montajı hariç).
  • Kod Erişim Güvenliği

Performans konusunda emin değilim ama her iki şekilde de farklı olacağından şüpheliyim. Tahminimce, iki sürücü "Oracle Net" üzerinden aynı şekilde iletişim kuruyor. Bir komut hazırlamak ve sonuçları işlemek için yapılan bellek içi istemci tarafı işlemlerinde küçük farklılıklar olabilirken, bu genel olarak tipik olarak yalnızca işlemin tamamına göre zamanın bir kısmını temsil eder. Maliyet / zamanın çoğu, sunucuda fiziksel IO'da geçirilir ve verileri müşteriye geri aktarır. Bu, oledb sağlayıcısından veya System.DataAccess.OracleClient sürücüsünden çıkmakla aynı şey değildir. Bu, aynı RDBMS şirketinden başka bir sürümdür - diğer müşterilerinin kullandıkları tüm aynı performans numaralarını kullanacaklardır. Keşke bir çalışma gönderebilseydim, ama sanırım böyle bir şey var olmaz çünkü sonuçta dikkat çekici olmazdı. Haber yok diye bir durum iyi haber - eğer yeni sağlayıcı bir şekilde kötü olsaydı bu konu hakkında bir şeyler okuyordunuz.

Bu IMO'ya geçmek için basitlik yeterlidir. Geliştiricilerin ve yöneticilerin büyük çoğunluğu sağlayıcıyı ve yönetilmeyen istemciyle ilişkisini tam olarak anlamamaktadır. Oracle ev tercihi, sürüm uyuşmazlığı, yükseltmeler vb. Hakkında kafa karışıklığı sürekli olarak ortaya çıkar. Bu soruları ortadan kaldırmak için hoş bir değişiklik olur.


23
2017-07-12 15:10



Evet, tüm bunları anladım - ama bu soru, özellikle sürücülerin göreceli performansıyla ilgiliydi. - John Fedak
Cevabımı "her iki farklı şekilde" ayrıntılı olarak düzenlemek için düzenleyeceğim. - b_levitt


İşte tüm millet için bir tuhaflık. Oracle Managed sürücülerinin neden ef6 kullanarak bağlanamayacağını anlamak için birkaç haftaımı aldım. Veritabanınız aşağıdaki veri bütünlüğü algoritmalarına sahipse, yönetilmeyen sürücüleri kullanmalısınız!

Oracle belgelerinde derin gömüldü! TEŞEKKÜRLER ORACLE !!!!! enter image description here


8
2018-03-22 15:13





Daha kolay dağıtım ve bitness bağımsızlığı gerçekten çok fayda sağlar, ancak tipik sürücü kullanımınızı tamamen değerlendirmeniz gerekir. Yeni yönetilen sürücüyü 64bit işlemlerde kullanırken neredeyse% 50 performans engeliyle karşılaştım. Diğer kullanıcılar Oracle forumunda bellek sızıntıları vb. Bildiriyor: https://forums.oracle.com/community/developer/english/oracle_database/windows_and_.net/odp.net . Bu, biraz daha fazla ay / yıl geri dönmek için ihtiyaç duyduğu tipik bir Oracle arabası ürünü gibi görünüyor: /


3
2017-11-07 16:42



Bunu yaşayan başka biri var mı? - Ciaran Gallagher


Özel Türlerin henüz desteklenmediğini unutmayın. Bu yönetilen sürücüye geçmek için bir sebep olabilir.

Yönetilen ve yönetilmeyen sürüm arasındaki farklar için bu Oracle dokümanı bakın:

http://docs.oracle.com/cd/E16655_01/win.121/e17732/intro004.htm


1
2017-09-09 08:39



Diğer cevaplar tarafından ele alınmamış bir şey: ODP.NET'in her büyük sürümünde, Yönetilmeyen sürücü genellikle yönetilen sürücünün henüz sahip olmadığı bazı yeni veritabanı özelliklerine sahip olacaktır. Ancak yönetilen sürücü daha sonraki sürümlerde yetişecek. - Christian Shay
@ChristianShay Çok doğru bir ifadeye benzemiyor, çünkü Oracle Yönetilen istemciyi yıllarca parite haline getiremedi. docs.oracle.com/database/121/ODPNT/intro004.htm#ODPNT8146 - EKW
Merhaba EKW - Haklısınız. Uzun vadeli hedefimiz olmasına rağmen, özellik paritesinin garantisi yoktur. ODP Yönetilen özellikler talebe tabidir - çok az kişi eksik özellikleri ve diğer şeyleri şu anda öncelikli olarak almak istiyor - ODP.NET Core bir örnek. Burada sizin için önemli olan özelliklere oy verebilirsiniz: apex.oracle.com/pls/apex/f?p=18357:46 - Christian Shay