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
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ộ]
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
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
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