Наскільки клієнт MariaDB Java є ідеальною заміною для MySQL JDBC (Connector / J)?


11

Приміщення : я надсилаю програму Java, яка з'єднає JDBC з базою даних MySQL. (На момент написання цього повідомлення це може бути 5,1 або 5,5, але, сподіваємось, питання і відповідь не сильно покладаються на версію.)

Спостереження : Очевидно, що я можу використовувати драйвер MySQL JDBC ( Connector / J ) або драйвер MariaDB JDBC ( MariaDB Java Client ) для встановлення з'єднання з сервером MySQL. Однією з величезних переваг з точки зору ISV є те, що драйвер MariaDB має ліцензію LGPL, тоді як драйвер MySQL має ліцензію GPL. Продуктивність драйвера MariaDB здається дуже хорошою.

Запитання : Наскільки драйвер MariaDB JDBC є ідеальною заміною драйвера MySQL JDBC?

Я не шукаю дебатів щодо відносних достоїнств двох. Але я швидше сподіваюся, що хтось зможе відповісти за одним із них:

  • Драйвер MariaDB JDBC має важливі проблеми з X і Y, тому у вас виникнуть проблеми, якщо ви використовуєте будь-яку з них.
  • На основі якоїсь статті чи специфікації, коду чи інших доказів, драйвер MariaDB JDBC повністю реалізує [принаймні] всі методи, доступні в драйвері MySQL. Ви будете добре.

Клієнт MariaDB обробляє підготовлені заяви на стороні клієнта. Це може бути проблемою.
Мат

1
Можу додати, що я жодних проблем не стикався. Це навряд чи вичерпна відповідь, але це хороший знак.
mdahlman

Оновлення @Mat: з useServerPrepStmtsтих пір 1.3.0, оскільки 1.6.0воно вимкнено за замовчуванням. Не знаю, чому.
maaartinus

Відповіді:


6

Я трохи нервую.

По-перше, перевернуте: я використовував драйвер MariaDB JDBC у службі "завжди увімкнено" у виробництві з пулом підключення до бази даних, і він працює вже пару місяців. Сервіс використовує лише основні функції JDBC з простими запитами (наприклад, без приєднання, без крапок). Я збираюся випустити ще один сервіс "завжди ввімкнено", який використовує драйвер MariaDB JDBC аналогічно.
Я вирішив використовувати драйвер MariaDB JDBC після (повторного) перегляду вихідного коду: порівняно з вихідним кодом драйвера Oracle MySQL JDBC, вихідний код драйвера MariaDB JDBC є набагато більш зрозумілим та зрозумілим.

Але в мене складається враження (9/2014) розвиток сповільнилося (посилання на графік, на якому відображаються помилки, створені проти вирішених). Якщо я переглядаю відкриті помилки, я бачу, що багато серйозних помилок відкриваються занадто довго (проблеми зі сплячим режимом, а також часові пояси / дати). Деякі з них можуть не бути помилками, але тоді їх уже слід було закрити. Я також зіткнувся з однією помилкою (через STASH-4012 ), яку слід повторно відкрити: помилка CONJ-72 закрита, але останній коментар (від 4/2014) вказує на те, що проблема не вирішена для сплячого режиму.

Загалом, я не вважаю драйвер MariaDB JDBC ідеальною заміною драйвера Oracle MySQL JDBC. Я радий продовжувати використовувати його для простих речей (де всі запити відомі заздалегідь і перевірені) на даний момент, але мені, можливо, доведеться знову повернутися до драйвера Oracle MySQL JDBC.


2
Розробка з'явилася в листопаді 2014 року. Для оновлення натисніть посилання "уповільнене" у відповіді vanOekel. У січні 2015 року з’явився новий стабільний реліз
Девід Х. Беннетт

2

Ще одна річ, яку слід пам’ятати, це те, що у вас немає вибору, якщо ви хочете поширювати програмне забезпечення, яке не є GPL. Якщо ви поширюєте програмне забезпечення за будь-якою ліцензією, окрім GPL, Oracle може подати до суду за порушення авторських прав, якщо ви використовуєте їх драйвери.


У вас є вибір. Ви можете передати гроші Oracle, і вони дозволять вам використовувати клієнта з комерційною ліцензією!
Йозеф каже, що повернеться до Моніки
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.