MariaDB Java istemcisi, MySQL JDBC (Connector / J) için ne kadar mükemmel bir yedek?


11

Öncül : MySQL veritabanına JDBC bağlantısı yapacak bir Java uygulaması gönderiyorum. (Bu yazı yazılırken 5.1 veya 5.5 olabilir, ancak umarım soru ve cevap sürüme çok fazla güvenmez.)

Gözlem : Açıkça, MySQL sunucusuna bağlantı yapmak için MySQL JDBC sürücüsünü ( Connector / J ) veya MariaDB JDBC sürücüsünü ( MariaDB Java İstemcisi ) kullanabilirim. Bir ISV açısından büyük bir yararı, MariaDB sürücüsünün LGPL lisanslı, MySQL sürücüsü GPL lisanslı olmasıdır. MariaDB sürücüsünün performansı çok iyi görünüyor.

Soru : MariaDB JDBC sürücüsü, MySQL JDBC sürücüsünün yerini ne kadar alıyor?

İkisinin göreceli esası hakkında bir tartışma aramıyorum. Ama daha ziyade birinin bunlardan birinin satırları boyunca cevap vermesini umuyorum:

  • MariaDB JDBC sürücüsünün X ve Y ile ilgili önemli sorunları vardır, bu nedenle bunlardan birini kullanırsanız sorun yaşarsınız.
  • Bazı makalelere, teknik özelliklere veya kodlara veya diğer kanıtlara dayanarak, MariaDB JDBC sürücüsü MySQL sürücüsünde mevcut olan tüm yöntemleri [en azından] tamamen uygular. İyi olacaksın.

MariaDB müşterisi, müşteri tarafında hazırlanmış beyanları ele alır. Bu bir sorun olabilir.
Mat

1
Herhangi bir sorunla karşılaşmadığımı da ekleyebilirim. Bu çok kapsamlı bir cevap değil, ama iyi bir işaret.
mdahlman

Güncelleme @Mat: Orada useServerPrepStmtsberi 1.3.0beri, 1.6.0varsayılan olarak kapalı. Neden olduğu hakkında bir fikrim yok.
maaartinus

Yanıtlar:


6

Biraz tedirgin oluyorum.

İlk olarak, üst: MariaDB JDBC sürücüsünü bir veritabanı bağlantı havuzu ile üretimde "her zaman açık" bir hizmette kullandım ve birkaç aydır iyi çalışıyor. Hizmet yalnızca basit sorguları olan temel JDBC işlevlerini kullanır (örneğin birleştirme yok, blob yok). MariaDB JDBC sürücüsünü benzer şekilde kullanan başka bir "her zaman açık" hizmeti yayınlamak üzereyim.
Kaynak kodunu (yeniden) görüntüledikten sonra MariaDB JDBC sürücüsünü kullanmaya karar verdim: Oracle MySQL JDBC sürücü kaynak koduna kıyasla MariaDB JDBC sürücü kaynak kodu çok daha okunabilir ve anlaşılabilir.

Ama (9/2014) gelişme yavaşladı izlenimini alıyorum (bağlantı oluşturulan hataları giderilmiş gösteren bir grafiğe bağlantı). Açık hatalara göz atarsam, çok uzun süre açık çok ciddi hatalar görüyorum (Hazırda Bekletme ve ayrıca saat dilimleri / tarihlerle ilgili sorunlar). Bunlardan bazıları hata olmayabilir ama o zamana kadar kapalı olmalıdırlar. Ayrıca yeniden açılması gereken bir hata ( STASH-4012 aracılığıyla ) ile karşılaştım : hata CONJ-72 kapalı ama son yorum (4/2014) sorunun Hazırda Bekletme için çözülmüş değil gösterir.

Sonuçta MariaDB JDBC sürücüsünü Oracle MySQL JDBC sürücüsü için mükemmel bir yedek olarak görmüyorum. Şimdilik (tüm sorguların önceden bilindiği ve test edildiği) basit şeyler için kullanmaya devam etmekten memnuniyet duyuyorum, ancak gelecekte Oracle MySQL JDBC sürücüsüne geri dönmem gerekebilir.


2
Geliştirme Kasım 2014'te başladı. VanOekel'in güncelleme için verdiği yanıtta 'yavaşladı' bağlantısını tıklayın. Ocak 2015'te yeni bir kararlı sürüm çıktı.
David H. Bennett

2

Akılda tutulması gereken bir diğer şey, GPL olmayan yazılımları dağıtmak istiyorsanız başka seçeneğiniz olmadığıdır. Yazılımı GPL dışında herhangi bir lisans altında dağıtırsanız, sürücülerini kullanırsanız Oracle size telif hakkı ihlali nedeniyle dava açabilir.


Bir seçeneğin var. Oracle'a para verebilirsiniz ve istemciyi ticari bir lisansla kullanmanıza izin verecektir!
Josef,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.