Thứ Bảy, 31 tháng 5, 2025

10.Quản trị giao dịch đồng thời cho Database lớn (Concurrency Control)

✅ 1. Tổng quan cơ chế Concurrency trong PostgreSQL

PostgreSQL sử dụng MVCC (Multi-Version Concurrency Control):

  • Cho phép nhiều transaction đọc/ghi cùng lúc mà không khóa lẫn nhau

  • Mỗi transaction thấy dữ liệu ở phiên bản (snapshot) riêng

  • Khi có update: PostgreSQL ghi bản mới, bản cũ đánh dấu là "dead"

Sửa bài viết

10.Quản trị giao dịch đồng thời cho Database lớn (Concurrency Control)

✅ 1. Tổng quan cơ chế Concurrency trong PostgreSQL

PostgreSQL sử dụng MVCC (Multi-Version Concurrency Control):

  • Cho phép nhiều transaction đọc/ghi cùng lúc mà không khóa lẫn nhau

  • Mỗi transaction thấy dữ liệu ở phiên bản (snapshot) riêng

  • Khi có update: PostgreSQL ghi bản mới, bản cũ đánh dấu là "dead"

Sửa bài viết

9.Quản trị UNDO, WAL Log và Control File trong PostgreSQL

✅ 1. Tổng quan kiến trúc ghi & phục hồi

Cơ chếOraclePostgreSQL
UNDOCó file UNDO riêngKhông dùng UNDO riêng – dùng MVCC
REDORedo log fileWAL (Write-Ahead Log)
Control FileCó controlfile riêngKhông có controlfile – dùng các file meta khác (pg_control)
Sửa bài viết

8.Quản trị không gian lưu trữ & Object trong PostgreSQL

✅ 1. Quản lý Table & Index

📌 Tạo bảng:

sql
CREATE TABLE customer ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, created_at TIMESTAMP DEFAULT now() );
Sửa bài viết

7.Quản trị Lưu trữ (Tablespace) trong PostgreSQL

✅ 1. Tablespace là gì?

  • Tablespace trong PostgreSQL là một thư mục vật lý được quản lý bởi PostgreSQL, dùng để lưu table, index, hoặc toàn bộ database thay vì lưu trong pg_default (mặc định).

  • Mỗi tablespace là 1 symbolic link đến 1 thư mục trong hệ điều hành.

✅ Tablespace giúp:

  • Tách dữ liệu theo ổ cứng / phân vùng

  • Tối ưu I/O

  • Phân vùng dữ liệu theo ứng dụng / độ ưu tiên / người dùng

Sửa bài viết

6.Quản trị User, Role và Phân quyền trong PostgreSQL

✅ 1. Khái niệm Role và User

  • PostgreSQL không phân biệt “user” và “role” — tất cả đều là “roles”.

  • Một role có thể:

    • Có hoặc không có quyền LOGIN

    • superuser hoặc không

    • Được cấp quyền cho schema, bảng, hoặc role khác

Sửa bài viết

5.Cấu hình mạng để kết nối đến PostgreSQL Database

✅ 1. Tổng quan

PostgreSQL mặc định chỉ cho phép kết nối local (trên localhost).
Muốn client hoặc ứng dụng kết nối từ xa qua TCP/IP, bạn phải:

  1. Bật lắng nghe kết nối qua mạng (listen_addresses)

  2. Cho phép user/IP cụ thể truy cập qua pg_hba.conf

  3. Mở port trên firewall (nếu có)

Sửa bài viết

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master