MySQL có phải là trình điều khiển cơ sở dữ liệu không?

Giao diện để truy cập cơ sở dữ liệu quan hệ từ Java là Java Database Connectivity [JDBC]. Thông qua JDBC, bạn tạo kết nối đến cơ sở dữ liệu, đưa ra các truy vấn cơ sở dữ liệu và cập nhật cũng như nhận kết quả

JDBC cung cấp một giao diện cho phép bạn thực hiện các thao tác SQL một cách độc lập với phiên bản của cơ sở dữ liệu được sử dụng. Để sử dụng JDBC, bạn cần triển khai cơ sở dữ liệu cụ thể của trình điều khiển JDBC

Để tìm hiểu cách cài đặt và sử dụng MySQL, vui lòng xem MySQL - Tutorial

Mô tả sau đây sẽ giả định rằng bạn đã cài đặt thành công MySQL và biết cách truy cập MySQL thông qua dòng lệnh

Để kết nối với MySQL từ Java, bạn phải sử dụng trình điều khiển JDBC từ MySQL. Trình điều khiển MySQL JDBC được gọi là MySQL Connector/J. Bạn tìm thấy trình điều khiển MySQL JDBC mới nhất theo URL sau. http. // nhà phát triển. mysql. com/tải xuống/trình kết nối/j

Bản tải xuống chứa tệp JAR mà chúng tôi yêu cầu sau này

Trong bài tập này, bạn tạo một cơ sở dữ liệu mới, một người dùng mới và một bảng ví dụ. Đối với điều này, hãy kết nối với máy chủ MySQL thông qua ứng dụng khách dòng lệnh mysql

Tạo một cơ sở dữ liệu mới gọi là phản hồi và bắt đầu sử dụng nó bằng lệnh sau

create database feedback;
use feedback;

Tạo người dùng bằng lệnh sau

CREATE USER sqluser IDENTIFIED BY 'sqluserpw';

grant usage on *.* to sqluser@localhost identified by 'sqluserpw';
grant all privileges on feedback.* to sqluser@localhost;

Bây giờ hãy tạo một bảng cơ sở dữ liệu mẫu với nội dung ví dụ thông qua câu lệnh SQL sau

CREATE TABLE comments [
        id INT NOT NULL AUTO_INCREMENT,
        MYUSER VARCHAR[30] NOT NULL,
        EMAIL VARCHAR[30],
        WEBPAGE VARCHAR[100] NOT NULL,
        DATUM DATE NOT NULL,
        SUMMARY VARCHAR[40] NOT NULL,
        COMMENTS VARCHAR[400] NOT NULL,
        PRIMARY KEY [ID]
    ];

INSERT INTO comments values [default, 'lars', 'myemail@gmail.com','//www.vogella.com/', '2009-09-14 10:33:11', 'Summary','My first comment' ];

Tạo một dự án Java và một gói có tên de. vogella. mysql. đầu tiên

Tạo thư mục lib và sao chép trình điều khiển JDBC vào thư mục này. Thêm trình điều khiển JDBC vào đường dẫn lớp của bạn. Xem để biết chi tiết

Tạo lớp sau để kết nối với cơ sở dữ liệu MySQL và thực hiện các truy vấn, chèn và xóa. Nó cũng in siêu dữ liệu [tên bảng, tên cột] của kết quả truy vấn

Trong ví dụ này, chúng tôi đang sử dụng MySql làm cơ sở dữ liệu. Vì vậy, chúng ta cần biết các thông tin sau cho cơ sở dữ liệu mysql

  1. hạng lái xe. Lớp trình điều khiển cho cơ sở dữ liệu mysql là com. mysql. jdbc. Người lái xe
  2. URL kết nối. URL kết nối cho cơ sở dữ liệu mysql là jdbc. mysql. //máy chủ cục bộ. 3306/sonoo trong đó jdbc là API, mysql là cơ sở dữ liệu, localhost là tên máy chủ mà mysql đang chạy, chúng tôi cũng có thể sử dụng địa chỉ IP, 3306 là số cổng và sonoo là tên cơ sở dữ liệu. Chúng tôi có thể sử dụng bất kỳ cơ sở dữ liệu nào, trong trường hợp như vậy, chúng tôi cần thay thế sonoo bằng tên cơ sở dữ liệu của mình
  3. tên tài khoản. Tên người dùng mặc định cho cơ sở dữ liệu mysql là root
  4. Mật khẩu. Nó là mật khẩu do người dùng cung cấp tại thời điểm cài đặt cơ sở dữ liệu mysql. Trong ví dụ này, chúng ta sẽ sử dụng root làm mật khẩu

Trước tiên chúng ta hãy tạo một bảng trong cơ sở dữ liệu mysql, nhưng trước khi tạo bảng, chúng ta cần tạo cơ sở dữ liệu trước

Ví dụ để kết nối ứng dụng Java với cơ sở dữ liệu mysql

Trong ví dụ này, sonoo là tên cơ sở dữ liệu, root là cả tên người dùng và mật khẩu

Ví dụ trên sẽ tìm nạp tất cả các bản ghi của bảng emp

Để kết nối ứng dụng java với cơ sở dữ liệu mysql, mysqlconnector. tập tin jar được yêu cầu để được tải

Hai cách để tải tệp jar

  1. Dán trình kết nối mysql. tệp jar trong thư mục jre/lib/ext
  2. Đặt đường dẫn lớp

1] Dán mysqlconnector. tệp jar trong thư mục JRE/lib/ext

Tải xuống trình kết nối mysql. tệp jar. Chuyển đến thư mục jre/lib/ext và dán tệp jar vào đây

2] Đặt đường dẫn lớp

Có hai cách để đặt đường dẫn lớp

Cách đặt đường dẫn lớp tạm thời

mở dấu nhắc lệnh và viết

Cách đặt đường dẫn lớp cố định

Chuyển đến biến môi trường, sau đó nhấp vào tab mới. Trong tên biến, ghi classpath và trong giá trị biến, dán đường dẫn đến mysqlconnector. jar bằng cách nối thêm mysqlconnector. cái lọ;. ; . \thư mục\mysql-connector-java-5. 0. 8 ngăn. cái lọ;. ;

MySQL là "Cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới" và cung cấp một cách mạnh mẽ, được sử dụng rộng rãi để lưu trữ và truy cập dữ liệu của bạn. Trên thực tế, nhiều cơ sở dữ liệu tại chỗ và đám mây [như MemSQL và Google Cloud SQL] đã sử dụng giao diện MySQL. Có sẵn một số trình điều khiển mã nguồn mở để kết nối với dữ liệu MySQL của bạn từ các ứng dụng khác

Bài viết này so sánh hiệu suất đọc và ghi của Trình kết nối MySQL gốc [JDBC và ODBC] và Trình điều khiển JDBC và ODBC của Phần mềm CData cho MySQL khi làm việc với bộ dữ liệu lớn hơn. Chúng tôi chỉ ra cách Trình điều khiển CData có thể đọc các tập dữ liệu lớn nhanh hơn khoảng 20% ​​so với trình điều khiển gốc và ghi 1 triệu hàng nhanh hơn gần 40% so với trình điều khiển gốc


Dữ liệu

Để cung cấp một so sánh có thể lặp lại để đọc dữ liệu, chúng tôi đã sao chép các bài đánh giá sách Amazon của Hoa Kỳ từ bộ dữ liệu Đánh giá của khách hàng Amazon vào cơ sở dữ liệu MySQL. Dưới đây là thông tin chi tiết về bảng amazon_book_reviews

Kích thước bảngSố hàngSố cột9. 7 GB10,534,17915

Hiệu suất đọc trình điều khiển JDBC

Mục tiêu chính của cuộc điều tra này là để so sánh hiệu suất liên quan của trình điều khiển JDBC. Chúng tôi đã làm điều này bằng cách chạy cùng một bộ truy vấn với mỗi trình điều khiển JDBC. Chúng tôi đã sử dụng các mệnh đề GIỚI HẠN để thay đổi kích thước của tập dữ liệu được trả về trong mỗi truy vấn, nhưng chúng tôi đã yêu cầu các cột giống nhau cho mỗi truy vấn

Truy vấn cơ sở

SELECT 
	marketplace, 
	customer_id,
	review_id, 
	product_id, 
	product_parent,
	product_title, 
	product_category, 
	star_rating,
	helpful_votes,
	total_votes,
	vine, 
	verified_purchase, 
	review_headline, 
	review_body, 
	review_date,
FROM 
  cdata.amazon_book_reviews;

Giới hạn theo truy vấn

  1. GIỚI HẠN 1000000
  2. Bộ dữ liệu đầy đủ

Để kiểm tra trình điều khiển, chúng tôi đã kết nối với MySQL bằng ứng dụng Java cơ bản và thực hiện lặp đi lặp lại các truy vấn trên. Các kết quả đã được đọc và lưu trữ trong một biến mới [dựa trên kiểu dữ liệu] cho mỗi cột trong mỗi hàng

1 [1.000.000 hàng]14. 02 [+26%]17. 672 [~10.000.000 hàng]171. 09 [+20. 7%]206. 42

Như có thể thấy trong kết quả, Trình điều khiển CData thường vượt trội so với Trình điều khiển MySQL gốc, phần lớn là do cách Trình điều khiển JDBC CData sử dụng tài nguyên phía máy khách

Sử dụng tài nguyên trình điều khiển JDBC

Trong khi kiểm tra hiệu suất đọc của các trình điều khiển JDBC, chúng tôi cũng đo mức sử dụng tài nguyên phía máy khách, cụ thể là xem xét bộ nhớ. Các biểu đồ bên dưới được tìm thấy bằng cách chạy một chương trình Java mẫu và sử dụng Java VisualVM để ghi lại mức sử dụng bộ nhớ. Chúng tôi đã sử dụng Java OpenJDK phiên bản 12. 0. 2 với kích thước heap tối đa là 8 Gigabyte

Để so sánh này, chúng tôi đã chạy truy vấn cho tập dữ liệu đầy đủ

Trình điều khiển CData

Trình điều khiển bản địa*

* Lưu ý sự thay đổi về tỷ lệ cho biểu đồ Heap

Trình điều khiển CData trung bình sử dụng khoảng 150 MB trong suốt thời gian chạy. Tuy nhiên, trình điều khiển gốc tiếp tục sử dụng ngày càng nhiều tài nguyên máy khách trong suốt thời gian chạy. Trên thực tế, chúng tôi đã phải đặt kích thước Heap tối đa thành 8 GB để Trình điều khiển MySQL gốc hoàn tất quá trình thực thi. Mặc dù thực tế là trình điều khiển gốc đang sử dụng nhiều tài nguyên hơn đáng kể, nhưng vẫn mất nhiều thời gian hơn để đọc dữ liệu so với trình điều khiển CData JDBC


Hiệu suất đọc trình điều khiển ODBC

Mục tiêu chính của cuộc điều tra này là so sánh hiệu suất liên quan của Trình điều khiển ODBC. Chúng tôi đã làm điều này bằng cách chạy cùng một bộ truy vấn với mỗi Trình điều khiển ODBC. Chúng tôi đã sử dụng các mệnh đề GIỚI HẠN để thay đổi kích thước của tập dữ liệu được trả về trong mỗi truy vấn, nhưng chúng tôi đã yêu cầu các cột giống nhau cho mỗi truy vấn

Truy vấn cơ sở

SELECT 
	marketplace, 
	customer_id,
	review_id, 
	product_id, 
	product_parent,
	product_title, 
	product_category, 
	star_rating,
	helpful_votes,
	total_votes,
	vine, 
	verified_purchase, 
	review_headline, 
	review_body, 
	review_date,
FROM 
  cdata.amazon_book_reviews;

Giới hạn theo truy vấn

  1. GIỚI HẠN 1000000
  2. Bộ dữ liệu đầy đủ

Để kiểm tra trình điều khiển, chúng tôi đã kết nối với MySQL bằng ứng dụng C++ cơ bản và thực hiện lặp đi lặp lại các truy vấn trên. Các kết quả đã được đọc và lưu trữ trong một biến mới [dựa trên kiểu dữ liệu] cho mỗi cột trong mỗi hàng

1 [1.000.000 hàng]14. 95 [+96. 7%]29. 402 [~10.000.000 hàng]177. 51 [+72. 3%]305. 77

Như có thể thấy trong kết quả, Trình điều khiển CData ODBC thường xuyên hoạt động tốt hơn Trình kết nối MySQL/ODBC, phần lớn là do sử dụng tốt hơn các tài nguyên máy khách có sẵn

Sử dụng tài nguyên trình điều khiển ODBC

Trong khi kiểm tra hiệu suất đọc của trình điều khiển ODBC, chúng tôi cũng đo mức sử dụng tài nguyên phía máy khách, xem xét cụ thể khả năng xử lý và băng thông mạng. Các biểu đồ bên dưới được tìm thấy bằng cách thực thi ứng dụng C++ đơn giản và sử dụng Windows Resource Monitor

Để so sánh này, chúng tôi đã chạy truy vấn cho tập dữ liệu đầy đủ

Trình điều khiển CData

Trình điều khiển bản địa

Cả hai trình điều khiển dường như sử dụng 20 - 25% khả năng xử lý có sẵn, với CData sử dụng nhiều hơn một chút. Sự khác biệt lớn hơn là ở băng thông mạng được sử dụng, trong đó Trình điều khiển CData sử dụng khoảng 250Mbps so với 100Mbps mà trình điều khiển gốc sử dụng


Thử thách hàng triệu

Ngoài việc đo hiệu suất đọc, chúng tôi cũng muốn so sánh hiệu suất ghi của các trình điều khiển. Nói tóm lại, Trình điều khiển JDBC CData MySQL có thể ghi 1 triệu hàng nhanh hơn gần 40% so với Trình kết nối MySQL gốc

Chúng tôi đã sử dụng một chương trình Java đơn giản để thêm các hàng vào bản sao của bảng amazon_book_reviews được tham chiếu ở trên. Để thử nghiệm, chúng tôi đã chèn dữ liệu vào 100 lô gồm 10.000 hàng

Mã mẫu

________số 8

Kết quả


Phần kết luận

Trình điều khiển CData cung cấp khả năng truy vấn các tập dữ liệu lớn tốt hơn qua trình kết nối gốc, xử lý tập dữ liệu lớn nhất nhanh hơn ít nhất 20% bằng cách sử dụng tốt hơn các tài nguyên máy khách có sẵn

Khi nói đến việc chèn dữ liệu, Trình điều khiển CData nổi bật ở khả năng chèn nhanh các bộ dữ liệu lớn. Trình điều khiển CData JDBC có thể chèn 1 triệu hàng trong vòng chưa đầy 80 giây, nhanh hơn gần 40% so với trình kết nối gốc

Nhóm kỹ thuật của chúng tôi đã tối ưu hóa công cụ SQL của chúng tôi để chỉ ra rằng khả năng kết nối chỉ bị cản trở bởi lưu lượng truy cập dây và thời gian xử lý của máy chủ

Trình điều khiển nào được sử dụng trong MySQL?

Trình điều khiển trong MySQL Connector/J là com. mysql. cj. jdbc .

Trình kết nối MySQL có phải là trình điều khiển không?

MySQL Connector/J là trình điều khiển JDBC chính thức cho MySQL . Trình kết nối MySQL/J 8. 0 tương thích với tất cả các phiên bản MySQL bắt đầu từ MySQL 5. 6.

Làm thế nào bạn có thể cài đặt trình điều khiển cơ sở dữ liệu MySQL?

Cài đặt trình điều khiển MySQL ODBC trên Windows .
chọn. Phiên bản sản phẩm. .
chọn. Hệ điều hành. .
chọn. Phiên bản của hệ điều hành. .
Tải xuống Lưu trữ ZIP. .
Trích xuất. .
Mở Dấu nhắc Lệnh với tư cách quản trị viên và điều hướng đến giải nén. .
Chạy lệnh sau trong dấu nhắc lệnh. Cài đặt. con dơi

Có trình điều khiển ODBC cho MySQL không?

MySQL Connector/ODBC cung cấp cả giao diện gốc và dựa trên trình điều khiển-trình quản lý cho cơ sở dữ liệu MySQL, với sự hỗ trợ đầy đủ cho chức năng MySQL, bao gồm các thủ tục được lưu trữ, giao dịch và tuân thủ Unicode đầy đủ.

Chủ Đề