MariaDB Javaクライアントは、MySQL JDBC(Connector / J)に完全に置き換わるものですか?


11

前提:MySQLデータベースへのJDBC接続を行うJavaアプリケーションを出荷します。(この記事の執筆時点では、5.1または5.5である可能性がありますが、質問と回答がバージョンに大きく依存しないことを願っています。)

観察:明らかに、MySQL JDBCドライバー(Connector / J)またはMariaDB JDBCドライバー(MariaDB Javaクライアント)を使用して、MySQLサーバーに接続できます。ISVの観点からの大きな利点の1つは、MariaDBドライバーがLGPLライセンスであり、MySQLドライバーがGPLライセンスであるということです。MariaDBドライバーのパフォーマンスは非常に良いようです。

質問:MariaDB JDBCドライバーは、MySQL JDBCドライバーの完全な代替品ですか?

私はこの2つの相対的なメリットについての議論を求めているのではありません。しかし、むしろ私は誰かがこれらのいずれかに沿って答えてくれることを望んでいます:

  • MariaDB JDBCドライバーにはXとYに関する重要な問題があるため、これらのいずれかを使用すると問題が発生します。
  • 一部の記事、仕様、コード、またはその他の証拠に基づいて、MariaDB JDBCドライバーは、MySQLドライバーで使用可能なすべてのメソッドを(少なくとも)完全に実装します。大丈夫だよ。

MariaDBクライアントは、クライアント側で準備済みステートメントを処理します。それは問題かもしれません。
マット

1
問題が発生していないことを付け加えます。これは包括的な答えではありませんが、良い兆候です。
mdahlman 2013年

@マットの更新:デフォルトではオフになっているuseServerPrepStmtsので1.3.0、があり1.6.0ます。なぜだかわかりません。
maaartinus 2017年

回答:


6

少し緊張しています。

まず、良い点は、私はMariaDB JDBCドライバーをデータベース接続プールを使用する本番環境の「常時オン」サービスで使用しており、数か月間問題なく動作していることです。このサービスは、単純なクエリで基本的なJDBC関数のみを使用します(例:結合なし、ブロブなし)。同様の方法でMariaDB JDBCドライバーを使用する別の「常にオン」のサービスをリリースしようとしています。
ソースコードを(再)確認した後、MariaDB JDBCドライバーを使用することにしました。OracleMySQL JDBCドライバーのソースコードと比較して、MariaDB JDBCドライバーのソースコードは、はるかに読みやすく、理解しやすくなっています。

しかし、私は(2014年9月)開発が遅くなったという印象を受けます(リンクは、作成されたバグと解決されたバグを示すグラフへのリンクです)。未解決のバグを閲覧すると、多くの深刻なバグが非常に長く未解決のままであることがわかります(Hibernateの問題とタイムゾーン/日付)。これらの一部はバグではない可能性がありますが、それまでにクローズされているはずです。再度開く必要があるバグが1つ(STASH-4012を介して)発生しました。バグCONJ-72は閉じていますが、最後のコメント(2014年4月から)は、Hibernateでは問題が解決されていないことを示しています。

全体として、私はMariaDB JDBCドライバーをOracle MySQL JDBCドライバーの完全な代替品とは考えていません。今のところ、単純なもの(すべてのクエリが事前に既知でテスト済み)で引き続き使用できてうれしいですが、将来的には、Oracle MySQL JDBCドライバーに戻す必要があるかもしれません。


2
開発は2014年11月に開始されました。更新については、vanOekelの応答で「スローダウン」リンクをクリックしてください。2015
David H. Bennett、

2

GPL以外のソフトウェアを配布したい場合、選択肢がないということ覚えておいてください。GPL以外のライセンスに基づいてソフトウェアを配布した場合、そのドライバーを使用すると、オラクルは著作権侵害で訴訟を起こす可能性があります。


あなたには選択肢があります。オラクルにお金を渡せば、商用ライセンスでクライアントを使用できるようになります。
ジョセフ氏は、モニカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.