Hướng dẫn triển khai hệ thống giám sát Prometheus, Grafana và MySQL trên Ubuntu 20.04

Prometheus là một hệ thống giám sát mã nguồn mở mạnh mẽ, chuyên thu thập và lưu trữ các chỉ số (metrics) dưới dạng dữ liệu chuỗi thời gian (time-series database). Kết hợp với Grafana để trực quan hóa và các Exporter để thu thập dữ liệu từ hệ thống, bạn sẽ có một giải pháp giám sát toàn diện. 1. Cài đặt Prometheus Đầu tiên, tải xuống bản phân p ...

Đăng vào ngày 2 tháng 8 lúc 23:28

Tối ưu hóa truy vấn MySQL khi gặp quá nhiều điều kiện OR trong mệnh đề WHERE

Trong quá trình vận hành các hệ thống cơ sở dữ liệu lớn, việc phát sinh các câu lệnh SQL có cấu trúc phức tạp là điều khó tránh khỏi. Một trong những tình huống gây ảnh hưởng nghiêm trọng đến hiệu năng là sử dụng quá nhiều điều kiện OR trong mệnh đề WHERE. Bối cảnh thực tế Giả sử chúng ta có bảng sales_order_detail chứa khoảng 40 triệu bản ghi ...

Đăng vào ngày 2 tháng 8 lúc 06:54

Quản lý ứng dụng Flask với Blueprint, đối tượng g và Database Connection Pool

Sử dụng Blueprint để tổ chức mã nguồn Blueprint trong Flask là một công cụ mạnh mẽ giúp phân chia ứng dụng thành các thành phần nhỏ hơn, độc lập và dễ quản lý. Nó đóng vai trò như một bản thiết kế (blueprint) để đăng ký các route, template và static file vào ứng dụng chính. 1. Cách khởi tạo và sử dụng Quy trình triển khai Blueprint bao gồm việ ...

Đăng vào ngày 1 tháng 8 lúc 01:13

Truy Vấn Đa Bảng Nâng Cao Trong Cơ Sở Dữ Liệu

Thực hiện các truy vấn sau để xử lý dữ liệu đa bảng trong hệ thống cơ sở dữ liệu: Truy vấn 1: Lấy danh sách học viên có điểm thi lớn hơn 60, không trùng lặp SELECT DISTINCT s.student_id, s.full_name FROM students s LEFT JOIN scores sc ON s.student_id = sc.student_id WHERE sc.score_value > 60; Truy vấn 2: Đếm số môn học do mỗi giảng viên phụ ...

Đăng vào ngày 29 tháng 7 lúc 11:36

Implementing Time-Based Table Sharding with ShardingCore in .NET Core

ShardingCore documentation: AspNetCore Implementation Guide Install via NuGet package manager. The ShardingCore package already includes: Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Relational Developers only need to inherit from the base class AbstractShardingDbContext and implement IShardingTableDbContext for sharding ope ...

Đăng vào ngày 28 tháng 7 lúc 19:52

Triển khai Nacos bằng Docker Compose

Bước 1: Lấy hình ảnh Docker cần thiết Trước tiên, bạn cần tải về các image Docker cho Nacos Server và MySQL từ Docker Hub. docker pull nacos/nacos-server:latest docker pull mysql:8.0 Bước 2: Chuẩn bị thư mục lưu trữ cho Nacos Tạo các thư mục để lưu trữ cấu hình, nhật ký và dữ liệu của Nacos. Đảm bảo quyền truy cập chính xác. # Tạo thư mục cấu ...

Đăng vào ngày 27 tháng 7 lúc 09:15

Truy vấn cấu trúc cây trong MySQL: Hướng dẫn chi tiết

Khi làm việc với dữ liệu có cấu trúc phân cấp như danh mục khóa học, cây menu, hay cơ cấu tổ chức, việc truy vấn hiệu quả là rất quan trọng. MySQL cung cấp hai phương pháp chính để truy vấn dữ liệu dạng cây lưu trong bảng. Giả sử chúng ta có bảng course_category với cấu trúc gồm các cột: id, name, parentid (khóa ngoại tự tham chiếu), và orderb ...

Đăng vào ngày 26 tháng 7 lúc 15:12

Cơ Chế Khóa Trong MySQL: Khóa Bảng, Khóa Trang Và Khóa Hàng

Khóa (lock) là cơ chế kiểm soát truy cập đồng thời vào tài nguyên chung nhằm đảm bảo tính toàn vẹn và nhất quán dữ liệu khi nhiều luồng hoặc giao dịch thao tác song song. Trong MySQL, hành vi khóa phụ thuộc mạnh vào bộ lưu trữ (storage engine) được sử dụng — mỗi loại hỗ trợ một hoặc nhiều mức độ granular lock khác nhau. Dưới đây là sự phân bố ...

Đăng vào ngày 26 tháng 7 lúc 11:35

Hướng dẫn toàn diện sử dụng SQLAlchemy ORM trong Python

SQLAlchemy là một thư viện ORM mạnh mẽ cho phép thao tác cơ sở dữ liệu theo hướng đối tượng trong Python. Dưới đây là cách triển khai đầy đủ từ thiết lập đến các thao tác nâng cao. Mục lục Cài đặt môi trường Các thành phần cốt lõi Thiết lập kết nối Xây dựng mô hình dữ liệu Tạo bảng tự động Thao tác CRUD cơ bản Truy vấn linh hoạt ...

Đăng vào ngày 25 tháng 7 lúc 20:13

Sử dụng JPA trong Spring Boot để thao tác với cơ sở dữ liệu

1. Khai báo các thư viện cần thiết Trong tệp pom.xml, thêm các dependency sau: <dependencies> <!-- Web starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring Data JPA --> ...

Đăng vào ngày 25 tháng 7 lúc 01:35