Kiến trúc của MySQL là gì?

Kiến trúc MySQL – Các thành phần (Cách MySQL hoạt động bên trong)

bởi Dennis Muvaa

trong MySQL

Kiến trúc MySQL – Các thành phần (Cách MySQL hoạt động bên trong). Bài viết này thảo luận về các hoạt động bên trong của các thành phần MySQL

Trước hết,  MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở được Oracle hỗ trợ dựa trên Ngôn ngữ truy vấn có cấu trúc (SQL). Chà, nó chạy trên tất cả các nền tảng chính, bao gồm Windows, Linux và UNIX. Mặc dù bạn áp dụng nó trên nhiều loại ứng dụng, nhưng MySQL thường được liên kết với các ứng dụng web và xuất bản trực tuyến.

Nói chung, MySQL là thành phần quan trọng của ngăn xếp LAMP. LAMP là một nền tảng phát triển web triển khai Linux làm hệ điều hành, MySQL làm hệ thống quản lý cơ sở dữ liệu quan hệ, Apache làm máy chủ web và PHP làm ngôn ngữ kịch bản hướng đối tượng. Tuy nhiên, đôi khi Python hoặc Perl được sử dụng thay cho PHP. Các nhà phát triển độc lập sử dụng MySQL theo Giấy phép Công cộng GNU, nhưng các doanh nghiệp phải có giấy phép thương mại từ Oracle.

Chúng ta sẽ bắt đầu blog bài viết này về cách MySQL hoạt động bên trong, bao gồm các thành phần và tính năng hàng đầu của nó. đọc tiếp

cũng đọc

Bảo mật MySQL – Thực tiễn tốt nhất (Cài đặt MySQL an toàn)

Cách thức hoạt động của MySQL

Kiến trúc của MySQL là gì?

Nguồn hình ảnh. phấn khởi. com

Nhìn chung, MySQL theo mô hình máy khách-máy chủ. Trái tim của MySQL là máy chủ MySQL quản lý tất cả các lệnh hoặc hướng dẫn cơ sở dữ liệu. Về cơ bản, máy chủ MySQL có sẵn dưới dạng thư viện mà người dùng nhúng vào các ứng dụng riêng biệt và như một chương trình độc lập cho môi trường mạng máy chủ của khách hàng

Bên cạnh đó, MySQL hoạt động với nhiều chương trình tiện ích hỗ trợ quản trị cơ sở dữ liệu MySQL. Người dùng gửi lệnh đến máy chủ MySQL thông qua máy khách MySQL trên máy tính

Ngoài ra, thiết kế của MySQL cho phép nó quản lý cơ sở dữ liệu lớn một cách nhanh chóng. Mặc dù MySQL thường nằm trên một máy duy nhất, nhưng nó sẽ gửi cơ sở dữ liệu đến một số vị trí, vì người dùng có thể truy cập nó thông qua các giao diện máy khách MySQL khác nhau. Các giao diện này chuyển các câu lệnh SQL đến máy chủ và sau đó hiển thị kết quả

cũng đọc

Cách thiết lập Máy chủ MySQL + phpMyadmin trên Linux trong Azure/AWS/GCP

Các thành phần của MySQL (Công trình nội bộ)

Kiến trúc của MySQL là gì?

Nguồn hình ảnh. GeekforGeek. com

Chắc chắn, kiến ​​trúc MySQL bao gồm ba lớp hoặc kết thúc. Các lớp của kiến ​​trúc bao gồm phần cuối thực thi truy vấn (hoặc phần cuối máy khách) ở trên cùng, phần cuối tài nguyên máy chủ ở giữa và công cụ lưu trữ ở dưới cùng

Kiến trúc cơ sở dữ liệu xác định sự tương tác và mối quan hệ giữa đầu lưu trữ, đầu máy khách và đầu máy khách của hệ thống. Dưới đây chúng tôi thảo luận chi tiết về các lớp khác nhau

1. Cuối khách hàng

Ở đây, phần cuối máy khách của cấu trúc MySQL là thành phần mà người dùng cuối của hệ thống cơ sở dữ liệu tương tác với. Bạn gửi nhiều lệnh MySQL tới máy chủ thông qua dấu nhắc lệnh hoặc giao diện người dùng đồ họa

Đối với mỗi lần gửi lệnh hợp lệ, một đầu ra hợp lệ sẽ hiển thị trên màn hình. Đối với mỗi lần gửi lệnh sai, hệ thống sẽ chuyển tiếp thông báo lỗi dưới dạng phản hồi lên màn hình. Một số dịch vụ quan trọng được cung cấp bởi phần cuối của Máy khách là

xử lý kết nối

Khi bạn gửi yêu cầu đến cuối máy chủ, máy chủ sẽ xác nhận yêu cầu. Kết nối được thiết lập ngay lập tức để cho phép bạn thực hiện nhiều yêu cầu hơn. Chức năng này được gọi là xử lý kết nối và là một tính năng của phía máy khách của cấu trúc

xác thực

Xác thực xảy ra ở phía máy chủ khi người dùng kết nối với máy chủ MySQL. Thành phần cuối của máy khách hoàn thành xác thực với sự trợ giúp của tên người dùng và mật khẩu

Bảo vệ

Sau khi xác thực, người dùng kết nối thành công với máy chủ MySQL. Sau đó, máy chủ sẽ kiểm tra xem một người dùng cụ thể có các đặc quyền cần thiết để thực hiện các truy vấn cụ thể đối với máy chủ MySQL hay không

cũng đọc

Cách tạo cụm MySQL nhiều nút trên Ubuntu 20. 04

2. Kết thúc máy chủ

Lớp thứ hai của kiến ​​trúc MySQL còn được gọi là “Bộ não của Kiến trúc MySQL. ” Điều này là do lớp này kiểm soát tất cả các chức năng logic của hệ thống quản lý cơ sở dữ liệu quan hệ của MySQL. Khi khách hàng gửi yêu cầu đến máy chủ, máy chủ sẽ cung cấp đầu ra ngay khi nó khớp với hướng dẫn

 

Các thành phần phụ của máy chủ MySQL bao gồm

Xử lý chủ đề

Sau khi máy khách gửi yêu cầu thành công đến máy chủ, máy chủ chấp nhận yêu cầu và máy khách kết nối. Loại kết nối này được gọi là một chủ đề. Phần cuối máy chủ của kiến ​​trúc giúp xử lý từng luồng trong một quy trình được gọi là xử lý luồng. Chức năng xử lý luồng thực thi thông qua phần cuối của máy chủ của kiến ​​trúc. Ngoài ra, mô-đun xử lý luồng cũng quản lý các truy vấn phía máy khách được thực hiện bởi luồng

Trình phân tích cú pháp

Dữ liệu trong cơ sở dữ liệu được chia thành nhiều mã thông báo bằng một thao tác được gọi là phân tích từ vựng. Trình phân tích cú pháp là một thành phần phần mềm tạo cấu trúc dữ liệu/cây phân tích cú pháp của một đầu vào nhất định

Sau đó, trình phân tích cú pháp của MySQL bao gồm mô-đun quy tắc ngữ pháp và trình quét từ vựng. Trình quét từ vựng chia toàn bộ đầu vào thành các mã thông báo, trong khi mô-đun quy tắc ngữ pháp tìm kiếm tổ hợp các quy tắc ngữ pháp SQL tạo chuỗi này và chạy mã được liên kết với các quy tắc đó. Cuối cùng, trình phân tích cú pháp tạo ra một cây phân tích cú pháp mà trình tối ưu hóa có thể sử dụng. Trái ngược với một số trình phân tích cú pháp chuyển đổi biểu diễn văn bản của truy vấn thành mã byte, trình phân tích cú pháp của MySQL dịch nó thành các cấu trúc C++/C liên kết nội bộ trong bộ nhớ chương trình

cũng đọc

Cách MariaDB/MySQL Hiển thị Đặc quyền Người dùng và CẤP

trình tối ưu hóa

Khi quá trình phân tích cú pháp hoàn tất, hệ thống sẽ áp dụng các loại kỹ thuật tối ưu hóa khác nhau tại khối tối ưu hóa. Những kỹ thuật này có thể bao gồm viết lại truy vấn, lựa chọn chỉ mục phù hợp và thứ tự quét các bảng. Ở đây, MySQL sử dụng cách tiếp cận dựa trên chi phí để tối ưu hóa

Chắc chắn, MySQL cố gắng dự đoán chi phí của các gói thực thi khác nhau và chọn gói rẻ nhất. Ban đầu, đơn vị chi phí là một trang dữ liệu 4 KB tùy ý được đọc. Tuy nhiên, nó đã trở nên phức tạp hơn và bao gồm các yếu tố như chi phí chạy so sánh mệnh đề WHERE

Bộ đệm truy vấn

Kiến trúc của MySQL là gì?

Nguồn hình ảnh. Github. io

Bộ đệm truy vấn lưu trữ toàn bộ tập hợp kết quả cho các câu lệnh truy vấn đầu vào. Trước khi phân tích truy vấn, máy chủ sẽ tham khảo bộ đệm truy vấn, bộ đệm này chỉ lưu trữ các câu lệnh CHỌN và tập hợp kết quả của chúng. Nếu người dùng gửi truy vấn tương tự với truy vấn đã có trong bộ đệm, thì máy chủ sẽ bỏ qua quá trình phân tích cú pháp, tối ưu hóa và thực thi truy vấn. Máy chủ chỉ chuyển tiếp tập kết quả mà nó đã lưu trữ trước đó

Sau đó, MySQL khởi tạo và gán một lượng bộ nhớ cụ thể cho bộ đệm truy vấn đồng thời khi máy chủ bắt đầu từ một giá trị được phân bổ cho biến 'query_cache_size. ' Nếu bạn cập nhật biến này hoặc đặt nó thành giá trị hiện tại, MySQL sẽ xóa tất cả các truy vấn được lưu trong bộ đệm, chia bộ đệm thành các kích thước cụ thể và khởi động lại bộ nhớ đệm

cũng đọc

MySQL vs SQL – Đâu là sự khác biệt (Ưu và nhược điểm)

Bộ đệm và bộ đệm

Thành phần phụ này lưu trữ vấn đề hoặc truy vấn trước đó do người dùng thể hiện. Khi khách hàng viết một truy vấn, ban đầu nó sẽ chuyển đến bộ đệm truy vấn, kiểm tra xem liệu vấn đề hoặc truy vấn tương tự có sẵn trong bộ đệm không. Nếu có truy vấn giống hệt nhau, hệ thống sẽ cung cấp đầu ra mà không cần đến trình phân tích cú pháp và trình tối ưu hóa

Bộ nhớ cache siêu dữ liệu của bảng

Bộ đệm siêu dữ liệu là một phần riêng biệt của bộ nhớ theo dõi thông tin về các đối tượng, cơ sở dữ liệu và chỉ mục. Số lượng cơ sở dữ liệu mở tỷ lệ thuận với kích thước siêu dữ liệu. Các chỉ mục, đối tượng hoặc cơ sở dữ liệu càng mở thì kích thước bộ đệm siêu dữ liệu càng lớn

Bộ nhớ cache chính

Thành phần phụ bộ đệm chính là một cơ chế bộ đệm chứa khối chỉ mục được truy cập thường xuyên nhất. Nhiều hệ thống quản lý cơ sở dữ liệu sử dụng phương pháp này để giảm thiểu I/O của đĩa vì bộ nhớ nhanh hơn ổ đĩa cứng

3. kết thúc lưu trữ

Phần cuối lưu trữ của cơ sở dữ liệu MySQL có một loại công cụ lưu trữ duy nhất do hệ thống tạo ra tùy thuộc vào các tình huống và nhu cầu khác nhau của cơ sở dữ liệu. Các công cụ lưu trữ chứa tất cả các bảng do người dùng tạo bên trong cơ sở dữ liệu. Do đó, phần cuối của bộ lưu trữ cho phép truy xuất và lưu trữ dữ liệu MySQL. Đồng thời, công cụ lưu trữ đi kèm với API giúp thực hiện các truy vấn từ phía máy khách của hệ thống bằng cách chuyển qua lại các hàng trong đó

cũng đọc

Cách cài đặt máy chủ MySQL trên Windows Server 2019 Hướng dẫn

Các tính năng của MySQL

Kiến trúc của MySQL là gì?

Nguồn hình ảnh. tin tặc. io

Như đã lưu ý, MySQL là RDBMS được sử dụng phổ biến nhất trong nhiều tổ chức xử lý lượng lớn dữ liệu. Một số tính năng tiện dụng của nó bao gồm

MySQL có tính tương thích cao

Mặc dù nổi tiếng nhất trong việc hỗ trợ các nhà phát triển duy trì các dịch vụ web và ứng dụng internet, MySQL cũng tương thích cao với các kiến ​​trúc và công nghệ khác. RDBMS vận hành tất cả các nền tảng điện toán hàng đầu, chẳng hạn như Windows, Linux, Mac OS và Unix

Kiến trúc máy chủ máy khách cho phép MySQL hỗ trợ các giao diện lập trình khác nhau, cũng như nhiều loại back-end. Người dùng trực tiếp chuyển dữ liệu từ MySQL sang nhánh của nó. Ngoài ra, MySQL cũng di chuyển dữ liệu trực tiếp từ nhiều RDBMS khác do sự tương đồng về kiến ​​trúc và ngôn ngữ

Các công cụ di chuyển của bên thứ ba và Oracle khác nhau cho phép MySQL chuyển dữ liệu đến và từ một bộ lớn các hệ thống lưu trữ có sẵn. Chà, MySQL thực hiện điều này bất kể hệ thống lưu trữ ở cơ sở hay nằm trên đám mây. Nói một cách đơn giản, MySQL tích hợp với tất cả các môi trường ảo hóa và hoạt động như các thư viện di động độc lập cho các mục đích học tập, thử nghiệm và ứng dụng nhỏ. Ngược lại, khả năng tương thích cao của MySQL với tất cả các công nghệ này khiến nó trở thành lựa chọn thiết thực nhất cho RDBMS

cũng đọc

Cách cài đặt máy chủ MySQL trên Ubuntu 21. 04 (Hướng dẫn từng bước)

Cơ sở dữ liệu MySQL là quan hệ

Sự khác biệt quan trọng giữa cơ sở dữ liệu quan hệ và các hệ thống lưu trữ kỹ thuật số khác là tổ chức dữ liệu ở mức cao. Các cơ sở dữ liệu như MySQL chứa các bản ghi trong một số cá nhân, các bảng được mã hóa cao thay vì một kho lưu trữ chung duy nhất hoặc các bộ tài liệu bán cấu trúc và phi cấu trúc

Điều này cho phép RDBMS tối ưu hóa các hành động như cập nhật thông tin, truy xuất dữ liệu hoặc các hành động nâng cao hơn như tổng hợp. Một mô hình logic xác định tất cả các nội dung trong cơ sở dữ liệu. Mô hình mô tả mối quan hệ giữa các chỉ số từ hai bảng, đặc điểm của dạng xem và bảng hoặc giới hạn giá trị của mỗi cột

Mã nguồn mở và miễn phí sử dụng

Bất kỳ cá nhân hoặc doanh nghiệp nào cũng có thể tự do sử dụng, xuất bản, mở rộng và sửa đổi cơ sở mã nguồn mở MySQL. Các doanh nghiệp cần tích hợp hoặc đưa ứng dụng thương mại vào mã MySQL có thể mua phiên bản được cấp phép thương mại.  

Các tùy chọn MySQL này cung cấp cho các tổ chức sự linh hoạt hơn. Bản chất công khai và cộng đồng của các bản phát hành nguồn mở cải thiện văn hóa và tài liệu hỗ trợ trực tuyến của MySQL, đồng thời đảm bảo khả năng của nó theo kịp nhu cầu hiện tại của người dùng

Dễ cấu hình và sử dụng

Mặc dù bản chất quan hệ và cấu trúc lưu trữ cứng nhắc của MySQL dường như hạn chế nó, nhưng trên thực tế, mô hình dạng bảng rất trực quan và cho phép khả năng sử dụng tuyệt vời hơn

Nói chung, MySQL hỗ trợ nhiều loại cấu trúc dữ liệu, chẳng hạn như các loại số, tiêu chuẩn, ngày, chữ và số và thời gian, cho đến dữ liệu JSON hoặc không gian địa lý phức tạp hơn. Ngoài các loại dữ liệu và bộ tính năng được xây dựng mở rộng, môi trường MySQL còn chứa nhiều công cụ khác nhau giúp dễ dàng báo cáo, phân tích dữ liệu và quản lý dữ liệu

Bất chấp kiến ​​trúc bao trùm của RDBMS, bạn vẫn có thể tìm thấy một tính năng của MySQL cho phép bạn mã hóa và lập mô hình dữ liệu theo cách bạn muốn. Do đó, MySQL là một trong những công nghệ cơ sở dữ liệu đơn giản nhất để tìm hiểu và triển khai

cũng đọc

Cách cài đặt máy chủ MySQL trên Windows 10 (Từng bước)

Ưu điểm của MySQL

  • An toàn hơn vì nó bao gồm một lớp chắc chắn bảo vệ dữ liệu nhạy cảm khỏi những kẻ xâm nhập
  • Tất cả người dùng đều có thể truy cập miễn phí vì đây là phần mềm mã nguồn mở
  • Chứa một cơ chế lưu trữ độc đáo giúp nó rẻ hơn, nhanh hơn và đáng tin cậy hơn
  • Khả năng mở rộng cao và có khả năng quản lý hơn 50 triệu hàng
  • Cho phép hệ thống khôi phục giao dịch

Nhược điểm của MySQL

  • Thiếu một công cụ phát triển và sửa lỗi tốt
  • Các phiên bản MySQL thấp hơn 5. 0 không hỗ trợ CAM KẾT, thủ tục lưu sẵn và ROLE
  • Không phù hợp để phát trực tiếp

Cảm ơn bạn đã đọc Kiến trúc MySQL – Các thành phần (Cách MySQL hoạt động bên trong). Chúng tôi sẽ kết thúc bài viết này blog bây giờ

cũng đọc

Top 20 lựa chọn thay thế MySQL tốt nhất cho cơ sở dữ liệu (Ưu và nhược điểm)

Kiến trúc MySQL – Các thành phần (Cách MySQL hoạt động bên trong) Kết luận

Tóm lại, MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ hiện đại, được sử dụng rộng rãi, đã được thử nghiệm qua thời gian, có đầy đủ tính năng và hiện đại. Các tổ chức ở khắp mọi nơi triển khai nó cho nhiệm vụ lưu trữ và xử lý dữ liệu kinh doanh quan trọng, như một phần cuối cho các ứng dụng phổ biến đối với người tiêu dùng và là một phần của ngăn xếp phần mềm web mạnh mẽ. Cho dù doanh nghiệp của bạn hiện đang sử dụng MySQL hay đang xem xét chuyển sang RDBMS này, thì không thể phóng đại tầm quan trọng của việc tích hợp dữ liệu

Kiến trúc sao chép MySQL là gì?

Bản sao cho phép sao chép dữ liệu từ một máy chủ cơ sở dữ liệu MySQL (được gọi là nguồn) sang một hoặc nhiều máy chủ cơ sở dữ liệu MySQL (được gọi là bản sao). Replication is asynchronous by default; replicas do not need to be connected permanently to receive updates from a source.

Các thành phần của MySQL là gì?

Tổng quan. Phía máy chủ của cơ sở dữ liệu MySQL là thành viên thứ ba của kiến ​​trúc cơ sở dữ liệu. .
xử lý chủ đề. .
Trình phân tích cú pháp. .
trình tối ưu hóa. .
Bộ đệm và bộ đệm. .
Bộ đệm ẩn siêu dữ liệu của bảng. .
Bộ nhớ cache chính

Kiến trúc InnoDB là gì?

InnoDB là công cụ lưu trữ nhiều phiên bản . nó giữ thông tin về các phiên bản cũ của các hàng đã thay đổi, để hỗ trợ các tính năng giao dịch như đồng thời và khôi phục. Thông tin này được lưu trữ trong không gian bảng trong cấu trúc dữ liệu được gọi là phân đoạn khôi phục (sau cấu trúc dữ liệu tương tự trong Oracle).

Thiết kế cơ sở dữ liệu MySQL là gì?

MySQL là cơ sở dữ liệu quan hệ, có nghĩa là các bảng được liên kết với nhau bằng khóa chính và khóa ngoại . Khóa ngoại về cơ bản là bản sao của khóa chính trong bảng phụ. Chẳng hạn, bạn có một danh sách khách hàng. Bạn tạo một giá trị số tăng tự động làm khóa chính và nhận dạng khách hàng.