Đây là định hướng Java nặng, nhưng API máy khách cơ sở dữ liệu nguyên gốc có thể được kết nối với các nguồn dữ liệu JDBC. Vonfram Myosotis là một ví dụ cho MySQL có nguồn gốc từ cầu nối JDBC.
Vonfram Enterpriese là tốt cho không đồng bộ đa chủ. Tôi nghĩ rằng nó hoạt động cho MySQL, PostgreSQL và Oracle. Nó có thể chạy độc lập hoặc được nhúng trong một ứng dụng Java. Tôi đã thấy nó hoạt động cho MySQL, nhưng họ yêu cầu PostgreSQL. Thành phần tái tạo của họ là nguồn mở, nhưng giải pháp đầy đủ có nhiều phần hơn và đòi hỏi chi phí cấp phép. Continuent ban đầu có Sequoia cho đồng bộ đa chủ nhưng họ đã từ bỏ nó và tạo ra Vonfram thay vì không đồng bộ đa chủ - họ xem xét mở rộng quy mô kinh doanh chiến lược hơn tính nhất quán ACID đồng bộ. Vonfram được viết bằng Java, do đó, đó là lý do tại sao họ cung cấp Myosotis để kết nối các máy khách cơ sở dữ liệu nguyên gốc.
Đối xứng là tốt cho không đồng bộ đa chủ. Nó là nguồn mở. Nó cài đặt / gỡ cài đặt kích hoạt để nắm bắt các bản cập nhật, thay vì ghi nhật ký bin. Nó có thể chạy độc lập hoặc được nhúng trong một ứng dụng Java.
HA-JDBC là tốt cho đồng bộ đa chủ. Nó thay thế các phần mềm không còn tồn tại cũ như C-JDBC và Sequoia. Nó là nguồn mở. Nó sử dụng cam kết hai pha và hoạt động cho PostgreSQL, MySQL, Oracle, SQL Server, Derby, Sybase và nhiều thứ khác thông qua phương ngữ. Nó chủ yếu được nhúng, do đó, nhúng vào một ứng dụng Java để kết nối nó với PostgreSQL. Khóa phân tán, trình tự, thời gian, rand, vv được xử lý bởi jgroup từ Redhat / JBoss. Một tính năng hay là chế độ giao dịch "nối tiếp" thay vì "song song", nếu ứng dụng của bạn gặp bế tắc và không hỗ trợ khôi phục. Tôi đã sử dụng thành công chế độ "nối tiếp" này để trang bị thêm một ứng dụng cũ không nhận biết cụm DB, vì vậy nó bị thiếu mã thử lại giao dịch. Chế độ nối tiếp lưu trong ngày và tránh viết lại khó chịu.
H2 là tốt cho đồng bộ đa chủ. Nó là nguồn mở. Nó hỗ trợ các cơ sở dữ liệu độc lập hoặc các cụm sử dụng cam kết hai pha, tương tự như kiến trúc HA-JDBC, nhưng tất cả trong một thay vì yêu cầu một thành phần bổ sung cho cam kết hai pha. Không chắc chắn nếu nó tự phân phối khóa, hoặc phụ thuộc vào bên thứ ba như jgroup hoặc Hazelcast.
Bất kỳ bản sao dựa trên JDBC nào cho PostgreSQL và các cơ sở dữ liệu khác đều cần một cầu nối riêng với JDBC, trừ khi ứng dụng của bạn đã được viết bằng Java. Đối với MySQL, Vonfram Enterprise cung cấp một thành phần tùy chọn có tên Myosotis. Tôi đã sử dụng thành công điều này để kết nối PHP / Perl / C / mysqlclient với JDBC, trong đó nguồn dữ liệu JDBC là nguồn dữ liệu proxy HA-JDBC trỏ đến cụm MySQL / InnoDB 4 nút.
Vonfram hỗ trợ PostgreSQL trong các thành phần Bộ sao chép và Bộ định tuyến của họ, nhưng không chắc chắn về thành phần Myosotis. Có lẽ. Các thành phần Bộ tái tạo / Bộ định tuyến Vonfram dành cho không đồng bộ đa chủ, nhưng Myosotis có thể kết nối bạn với một back-end JDBC thay thế như HA-JDBC hoặc H2 để đồng bộ.
Nếu có một PostgreSQL có nguồn gốc từ cầu JDBC, tôi muốn nghe về nó. Về lý thuyết, bất kỳ cơ sở dữ liệu nào có trình điều khiển JDBC Type 4 đều có thể được bắc cầu. JDBC loại 4 nói giao thức cơ sở dữ liệu riêng giống như giao diện máy khách gốc cho cơ sở dữ liệu đó, do đó cần có ánh xạ một đến một của các cuộc gọi gốc đến các cuộc gọi JDBC.