Tóm tắt nội dung video
Tôi đã thấy khá nhiều người viết về tối ưu cơ sở dữ liệu có 1 tỷ dòng hay 100 tỷ dòng gì đó nhưng không thấy người ta đưa nó ra trên thực tế, chả ai biết mặt mũi nó thế nào.
Nay tôi sẽ chỉ các bạn làm được điều đó và làm khá nhanh gọn lẹ bằng cách viết store procedure để ghi dữ liệu liên tục trên MySQL.
Khi chạy Store Procedure ghithoigian này bạn đã có 1 môi trường ghi dữ liệu rất lớn để kiểm tra năng suất hoạt động của MySQL. Tây gọi là stress test hay performance test gì đó.
MySQL chạy các câu lệnh SQL như Select, Insert, Update, Delete, Store Procedure, Function, Trigger… như các tiến trình của hệ điều hành nên tôi viết thêm Store Procedure killthoigian để hủy bỏ PROC ghithoigian thay vì phải làm bằng tay 2 bước bằng lệnh kill của MySQL.
Ngoài ra tôi có so sánh việc bật binary log trên MySQL để nó sinh ra log cho việc đồng bộ dữ liệu và tắt nó đi để tăng tốc độ ghi dữ liệu.
MySQL server mặc định có bật binlog còn MariaDB server thì không bật binlog.
Bạn có thể dựa vào môi trường ghi dữ liệu liên tục này để thử các cách tối ưu hệ điều hành Linux như AlmaLinux, Rocky Linux, Debian, Ubuntu để chạy MySQL mượt mà hơn.
Bạn cũng có những thứ cần thiết để thử tối ưu cấu hình cơ sở dữ liệu MySQL theo nhiều cách để ghi dữ liệu được nhiều hơn nữa.
Qua video này tự nhiên bạn sẽ học được nhiều thứ thực chiến về:
- Quản trị Linux server
- Tối ưu hệ điều hành Linux để chạy database
- Quản trị cơ sở dữ liệu MySQL
- Tối ưu cơ sở dữ liệu MySQL
- Lập trình cơ sở dữ liệu MySQL bằng cách viết store procedure
Bài tập cho các bạn là chuyển 2 PROC này trên MySQL sang Oracle, SQL Server, PostgreSQL…
Lúc đó bạn sẽ có 1 môi trường Oracle database 21c, SQL Server 2025, PostgreSQL Server 17… ghi dữ liệu liên tục như môi trường chạy thiệt (production) rồi tha hồ tìm cách điều chỉnh hoạt động để cho nó chạy nhanh hơn thể hiện ở chỗ ghi được nhiều dữ liệu hơn…