Link to original video by Learning Database with Tran Quoc Huy
Khác biệt chính ORACLE và SQL SERVER - từ 11 năm làm dự án của tôi | Trần Quốc Huy - Wecommit

Tóm tắt video "Khác biệt chính ORACLE và SQL SERVER - từ 11 năm làm dự án của tôi | Trần Quốc Huy - Wecommit"
Tóm tắt ngắn:
- Video này phân tích sự khác biệt chính giữa hai hệ quản trị cơ sở dữ liệu phổ biến là Oracle và SQL Server, dựa trên kinh nghiệm 11 năm làm dự án của tác giả.
- Tác giả tập trung vào các khía cạnh như hiệu năng, khả năng xử lý đồng thời, cơ chế khóa, chiến lược tối ưu hóa câu lệnh, tính năng bảo mật, và giá thành.
- Video cung cấp những kiến thức hữu ích cho lập trình viên, quản trị viên cơ sở dữ liệu, và những người muốn tìm hiểu về hai hệ quản trị này.
- Tác giả giới thiệu phương pháp MVCC, kỹ thuật Partition, Sub-partition, Bitmap Index, Parallel, công nghệ Flashback, và các công cụ phân tích hiệu năng như AWR.
Tóm tắt chi tiết:
Phần 1: Giới thiệu và vấn đề đặt ra
- Tác giả giới thiệu về kinh nghiệm của mình trong lĩnh vực cơ sở dữ liệu và đặt ra câu hỏi: Tại sao các đơn vị tài chính, ngân hàng ở Việt Nam thường chọn Oracle thay vì SQL Server?
- Tác giả chia sẻ rằng nhiều người cho rằng Oracle "ngon hơn" nhưng không thể giải thích rõ lý do.
Phần 2: Hiệu năng và xử lý đồng thời
- Tác giả sử dụng ví dụ về một cặp vợ chồng rút tiền cùng lúc để minh họa cho vấn đề xử lý đồng thời trong cơ sở dữ liệu.
- Oracle xử lý các lệnh SELECT một cách bình thường, trong khi SQL Server mặc định sẽ chờ lệnh UPDATE hoàn thành trước khi trả kết quả.
- Tác giả giải thích rằng SQL Server có thể được cấu hình để hoạt động tương tự Oracle bằng cách bật chế độ "Read Committed Snapshot Isolation".
- Tác giả nhấn mạnh rằng cơ chế mặc định của SQL Server có thể gây ảnh hưởng đến hiệu năng khi có nhiều giao dịch đồng thời.
Phần 3: Cơ chế khóa và leo thang khóa
- Tác giả giải thích về cơ chế khóa (lock) trong cơ sở dữ liệu, đặc biệt là khi nhiều người cùng muốn chỉnh sửa cùng một bản ghi.
- Oracle không bị "leo thang khóa", tức là việc khóa một bản ghi không ảnh hưởng đến các bản ghi khác, trong khi SQL Server có thể khóa cả bảng nếu có quá nhiều khóa trên các bản ghi.
- Tác giả cho rằng khả năng "leo thang khóa" của SQL Server có thể gây ảnh hưởng đến hiệu năng và tính ổn định của hệ thống, đặc biệt trong các hệ thống tài chính, ngân hàng.
Phần 4: Chiến lược tối ưu hóa câu lệnh
- Tác giả đề cập đến tầm quan trọng của "Query Optimizer" trong việc tối ưu hóa hiệu năng câu lệnh SQL.
- Tác giả giới thiệu kỹ thuật Partition và Sub-partition trong Oracle, cho phép chia nhỏ bảng dữ liệu thành nhiều phần để tăng tốc độ truy vấn.
- Tác giả nhấn mạnh rằng Oracle hỗ trợ Sub-partition, cho phép chia nhỏ dữ liệu theo nhiều tiêu chí, trong khi SQL Server chỉ hỗ trợ Partition.
- Tác giả cũng đề cập đến Bitmap Index, một kỹ thuật tối ưu hóa hiệu quả cho dữ liệu có độ mật độ thấp, và Parallel, một kỹ thuật tận dụng tối đa CPU để xử lý dữ liệu lớn.
- Tác giả lưu ý rằng Oracle hỗ trợ Parallel cho cả lệnh SELECT và DML (UPDATE, INSERT, DELETE), trong khi SQL Server chỉ hỗ trợ Parallel cho lệnh SELECT.
Phần 5: Phân tích hiệu năng và xử lý lỗi
- Tác giả giới thiệu công cụ AWR (Automatic Workload Repository) của Oracle, một công cụ mạnh mẽ để phân tích hiệu năng của hệ thống.
- Tác giả chia sẻ kinh nghiệm sử dụng AWR để tìm ra nguyên nhân gây chậm hệ thống và tối ưu hóa hiệu năng.
- Tác giả nhấn mạnh rằng AWR cung cấp thông tin chi tiết về các câu lệnh SQL, bộ nhớ, CPU, và các thành phần khác của hệ thống.
- Tác giả cũng đề cập đến công nghệ Flashback của Oracle, cho phép khôi phục dữ liệu bị xóa hoặc thay đổi một cách dễ dàng.
- Tác giả so sánh với SQL Server, nơi việc khôi phục dữ liệu thường yêu cầu khôi phục từ bản sao lưu, một quá trình phức tạp hơn.
Phần 6: Hệ điều hành và bảo mật
- Tác giả đề cập đến sự khác biệt về hệ điều hành hỗ trợ giữa Oracle và SQL Server.
- Oracle hỗ trợ các nền tảng Unix và Linux từ đầu, trong khi SQL Server chỉ hỗ trợ Windows trước phiên bản 2017.
- Tác giả cho rằng các nền tảng Unix và Linux thường ổn định hơn Windows và ít bị ảnh hưởng bởi các cuộc tấn công ransomware.
- Tác giả cũng đề cập đến định dạng dữ liệu ASM (Automatic Storage Management) của Oracle, một định dạng chỉ có thể đọc được bởi Oracle, giúp tăng cường bảo mật cho dữ liệu.
Phần 7: Lịch sử phát triển và giá thành
- Tác giả so sánh lịch sử phát triển của Oracle và SQL Server, cho thấy Oracle ra đời sớm hơn và có nhiều thời gian để phát triển và cải thiện.
- Tác giả cũng so sánh giá thành của hai hệ quản trị, cho thấy Oracle thường có giá cao hơn SQL Server.
- Tác giả lưu ý rằng Oracle tính phí theo processor, trong khi SQL Server tính phí theo core.
- Tác giả cũng đề cập đến việc Oracle yêu cầu phí bảo trì hàng năm, trong khi SQL Server không yêu cầu phí bảo trì năm đầu tiên.
Phần 8: Kết luận
- Tác giả khẳng định rằng Oracle có nhiều ưu điểm hơn SQL Server về hiệu năng, khả năng xử lý đồng thời, tính năng bảo mật, và công cụ phân tích.
- Tác giả khuyến khích người xem tham gia chương trình "Từ điển tối ưu 100x hiệu năng" để học hỏi thêm về tối ưu hóa cơ sở dữ liệu.
- Tác giả kết thúc video bằng lời cảm ơn và hẹn gặp lại người xem ở những video tiếp theo.