MariaDB Java 클라이언트는 어느 정도까지 MySQL JDBC (Connector / J)를 대체합니까?


11

전제 : MySQL 데이터베이스에 JDBC 연결을 만드는 Java 응용 프로그램을 제공합니다. (이 글을 쓰는 시점에는 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 클라이언트는 클라이언트 측에서 준비된 명령문을 처리합니다. 문제가 될 수 있습니다.
Mat

1
문제가 발생하지 않았다고 덧붙일 수 있습니다. 그것은 포괄적 인 대답은 아니지만 좋은 징조입니다.
mdahlman

@ 매트 업데이트 : useServerPrepStmts이후 기본적으로 해제되어 1.3.0있기 1.6.0때문에. 왜 그런지 모르겠다.
maaartinus

답변:


6

조금 긴장되고 있습니다.

첫째, 단점 : 데이터베이스 연결 풀을 사용하는 프로덕션에서 "항상 가동"서비스에서 MariaDB JDBC 드라이버를 사용했으며 현재 몇 달 동안 제대로 실행되고 있습니다. 이 서비스는 간단한 쿼리 (예 : 조인 없음, 얼룩 없음)와 함께 기본 JDBC 함수 만 사용합니다. 비슷한 방식으로 MariaDB JDBC 드라이버를 사용하는 또 다른 "항상 켜짐"서비스를 출시하려고합니다.
소스 코드를 다시 본 후 MariaDB JDBC 드라이버를 사용하기로 결정했습니다. Oracle MySQL JDBC 드라이버 소스 코드와 비교하여 MariaDB JDBC 드라이버 소스 코드는 훨씬 더 읽기 쉽고 이해하기 쉽습니다.

그러나 (2014 년 9 월) 개발 속도느려졌습니다 (링크는 생성 된 버그와 해결 된 버그를 보여주는 그래프에 대한 링크입니다). 열려있는 버그를 탐색하면 너무 많은 오랫동안 심각한 버그가 열립니다 (최대 절전 모드 및 시간대 / 날짜 관련 문제). 이들 중 일부는 버그가 아닐 수 있지만 지금까지는 폐쇄되었을 것입니다. 나는 또한 (를 통해 하나의 버그가 발생 숨기고-4012 재 개방되어야한다) : 버그 접속사-72은 닫혀 있지만 (2,014분의 4)에서 마지막 코멘트가 문제가 최대 절전 모드에 대한 해결되지 않음을 나타냅니다.

결국 나는 MariaDB JDBC 드라이버가 Oracle MySQL JDBC 드라이버를 완벽하게 대체한다고 생각하지 않습니다. 나는 지금까지 간단한 것들 (모든 쿼리가 미리 알려져 있고 테스트 된 곳)에 계속 사용하게되어 기쁩니다.하지만 나중에 Oracle MySQL JDBC 드라이버로 다시 전환해야 할 수도 있습니다.


2
개발은 2014 년 11 월에 시작되었습니다. vanOekel의 업데이트에 대한 응답에서 '느린 다운'링크를 클릭하십시오. 2015 년 1 월에 새로운 안정적인 릴리스가 있었다
데이비드 H. 베넷

2

명심해야 할 또 다른 사항은 비 GPL 소프트웨어를 배포하려는 경우 선택의 여지가 없다는 것 입니다. GPL 이외의 라이센스하에 소프트웨어를 배포하는 경우 Oracle은 해당 드라이버를 사용하는 경우 저작권 침해로 고소 할 수 있습니다.


당신은 선택이 있습니다. Oracle에 돈을 건네면 상용 라이센스로 클라이언트를 사용할 수 있습니다!
Josef는 Reinstate Monica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.