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 so sánh hai hệ quản trị cơ sở dữ liệu phổ biến: Oracle và SQL Server, tập trung vào những điểm khác biệt chính ảnh hưởng đến hiệu năng và sự lựa chọn trong các dự án, đặc biệt là trong lĩnh vực tài chính, ngân hàng, chứng khoán và viễn thông.
- Các điểm khác biệt chính bao gồm: cơ chế xử lý giao dịch đồng thời (MVCC), khả năng xử lý khóa (Locking), chiến lược tối ưu hóa truy vấn (Query Optimizer), kỹ thuật phân vùng (Partitioning), các loại chỉ mục (Index), xử lý song song (Parallel), công cụ phân tích hiệu năng (AVR), khả năng phục hồi dữ liệu (Flashback), và giá thành bản quyền.
- Video cung cấp kiến thức và kinh nghiệm thực tế giúp người xem hiểu rõ hơn về ưu nhược điểm của mỗi hệ quản trị cơ sở dữ liệu, từ đó đưa ra lựa chọn phù hợp cho dự án của mình.
- Video cũng giới thiệu chương trình "Từ điển tối ưu 100x hiệu năng" của tác giả, giúp người xem nâng cao kỹ năng tối ưu hóa cơ sở dữ liệu.
Tóm tắt chi tiết:
1. Giới thiệu vấn đề:
- Video đặ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ẻ kinh nghiệm 11 năm làm dự án và nhận định rằng đa số người dùng không thể giải thích rõ ràng lý do lựa chọn Oracle.
- Video sẽ giải thích từ nguyên lý và tư duy, giúp người xem hiểu rõ hơn về ưu điểm của Oracle trong các hệ thống tài chính, ngân hàng, chứng khoán và viễn thông.
2. So sánh cơ chế xử lý giao dịch đồng thời (MVCC):
- Tác giả đưa ra ví dụ về hai người cùng truy cập tài khoản ngân hàng và thực hiện giao dịch đồng thời.
- Oracle xử lý truy vấn select một cách bình thường, trả về giá trị trước khi cập nhật, trong khi SQL Server sẽ chờ cho đến khi giao dịch cập nhật hoàn tất.
- Tác giả giải thích rằng cơ chế mặc định của SQL Server có thể gây chậm hệ thống khi có nhiều giao dịch đồng thời.
- SQL Server có thể bật chế độ tương tự Oracle, nhưng phải cấu hình thủ công và chỉ khả dụng từ phiên bản 2005 trở đi.
3. So sánh cơ chế xử lý khóa (Locking):
- Tác giả giải thích về cơ chế khóa (Locking) trong cơ sở dữ liệu, khi nhiều người cùng muốn cập nhật dữ liệu.
- Oracle không bị leo thang khóa (Escalation Locking), tức là chỉ khóa bản ghi cần cập nhật, không khóa toàn bộ bảng.
- SQL Server có thể bị leo thang khóa, gây ảnh hưởng đến hiệu năng khi có nhiều giao dịch cập nhật.
- Tác giả minh họa bằng ví dụ thực tế về việc cập nhật dữ liệu trong bảng, cho thấy sự khác biệt rõ ràng giữa Oracle và SQL Server.
4. So sánh chiến lược tối ưu hóa truy vấn (Query Optimizer):
- Tác giả nhấn mạnh tầm quan trọng của chiến lược tối ưu hóa truy vấn (Query Optimizer) trong việc nâng cao hiệu năng.
- Oracle hỗ trợ kỹ thuật phân vùng (Partitioning) và phân vùng con (Subpartitioning), giúp tối ưu hóa truy vấn trên các bảng lớn.
- SQL Server cũng hỗ trợ phân vùng, nhưng không có phân vùng con.
- Oracle hỗ trợ nhiều loại chỉ mục (Index), bao gồm bitmap index, có hiệu quả cao trong các trường hợp dữ liệu có mật độ thấp.
- Oracle hỗ trợ xử lý song song (Parallel) cho cả câu lệnh select và DML (update, insert, delete), trong khi SQL Server chỉ hỗ trợ parallel cho câu lệnh select.
5. So sánh công cụ phân tích hiệu năng (AVR):
- Oracle cung cấp công cụ phân tích hiệu năng AVR (Automatic Workload Repository), giúp người dùng dễ dàng theo dõi và phân tích hiệu năng hệ thống.
- AVR cung cấp thông tin chi tiết về hoạt động của database, bao gồm bộ nhớ, CPU, IO, các câu lệnh SQL, các đối tượng (object) đang sử dụng, v.v.
- SQL Server có tính năng Query Store, nhưng không cung cấp thông tin tổng thể về database như AVR.
6. So sánh khả năng phục hồi dữ liệu (Flashback):
- Oracle hỗ trợ công nghệ Flashback, giúp người dùng dễ dàng khôi phục dữ liệu bị xóa hoặc cập nhật nhầm.
- Flashback cho phép truy xuất dữ liệu từ vùng undo, không cần sử dụng bản sao lưu.
- SQL Server không có tính năng tương tự, phải sử dụng bản sao lưu để khôi phục dữ liệu.
7. So sánh giá thành bản quyền:
- Oracle có giá bản quyền cao hơn SQL Server, đặc biệt là bản Enterprise.
- Oracle tính phí theo số lượng bộ xử lý (Processor), trong khi SQL Server tính phí theo số lượng lõi xử lý (Core).
- Oracle yêu cầu mua thêm phí bảo trì hàng năm.
- Tác giả đưa ra bảng so sánh giá chi tiết giữa Oracle Enterprise và SQL Server Enterprise, cho thấy sự chênh lệch rõ ràng.
8. So sánh nền tảng hệ điều hành:
- Oracle hỗ trợ nhiều nền tảng hệ điều hành, bao gồm Unix và Linux, trong khi SQL Server trước phiên bản 2017 chỉ hỗ trợ Windows.
- Oracle chạy ổn định hơn trên các nền tảng Unix và Linux, ít gặp lỗi hơn so với SQL Server trên Windows.
- Oracle có định dạng lưu trữ dữ liệu ASM (Automatic Storage Management), giúp tăng cường bảo mật và hạn chế rủi ro bị mã hóa bởi ransomware.
9. So sánh lịch sử phát triển:
- Oracle được phát triển sớm hơn SQL Server, có lịch sử phát triển lâu dài và tích lũy nhiều kinh nghiệm.
- Oracle đã ra mắt nhiều tính năng tiên tiến trước SQL Server, bao gồm MVCC, Flashback, AVR, v.v.
- Sự khác biệt về lịch sử phát triển góp phần tạo nên sự khác biệt về tính năng và hiệu năng giữa hai hệ quản trị cơ sở dữ liệu.
10. Kết luận:
- Video khẳng định rằng Oracle có nhiều ưu điểm vượt trội so với SQL Server, đặc biệt trong các dự án đòi hỏi hiệu năng cao, tính bảo mật và khả năng phục hồi dữ liệu tốt.
- 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" để nâng cao kỹ năng tối ưu hóa cơ sở dữ liệu.
- Video kết thúc bằng lời khẳng định về sự khác biệt vượt trội của Oracle và lời hẹn gặp lại người xem ở những video tiếp theo.