Thứ Tư, 16 tháng 11, 2022

So sánh MySQL và PostgreSQL

MySQL là gì?

MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, hoàn toàn miễn phí và phổ biến nhất hiện nay. MySQL được phát triển bởi tập đoàn Oracle Corporation. Phần mềm được đặt tên theo tên con gái của người đồng sáng lập Monty Widenius: My

MySQL có thể chạy trên nhiều nền tảng hệ điều hành khác nhau như Windows, Linux và Mac OS X.

postgresql-la-gi

Bảng so sánh MySQL và PostgreSQL

Việc chọn hệ quản trị cơ sở dữ liệu cho dự án là điều vô cùng quan trọng mà các nhà phát triển phần mềm phải cân nhắc. Bởi nếu chọn không phù hợp với dự án, máy chủ có thể gây ra những phát sinh không đáng có trong quá trình phát triển, vận hành sau này.

Đặc điểm

MySQL

PostgreSQL

Non-blocking trong DDL

  • Cho phép thao tác DDL với Non – Blocking.
  • Đối với Alter table, MySQL sẽ tích hợp thêm tiện ích thay đổi hàng và cột trong bảng.
  • Tùy chỉnh theo câu lệnh DDL.
  • Với thao tác viết, PostgreSQL có thể tự động bổ sung block.
  • Trên PostgreSQL, nhóm thao tác DDL là Alter table.
  • Nếu càn sử dụng Non – Blocking, bạn phải có tool hỗ trợ.

Performance của DML (thao tác dữ liệu)

  • Sử dụng thuật toán sort không tối ưu bằng PostgreSQL.
  • Tập trung tối đa vào use case.
  • Có khả năng update tốt và khả năng ghi đè.
  • Tốc độ sở dữ liệu chậm hơn, nhưng từ phiên bản 5.5 tốc độ đã được cải thiện
  • Câu lệnh chọn cần một lượng lớn dữ liệu.
  • Tốc độ xóa dữ liệu nhanh.
  • Trình cập nhật giống như insert.

Thuật toán JOIN

MySQL chủ yếu ứng dụng thuật toán Support Nested Loop Join vì hệ cơ sở dữ liệu này hướng đến tiêu chí đơn giản.

PostgreSQL hỗ trợ cả 3 loại thuật toán là Hash Join, Nested Loop Join và Sort Merge Join.

Trong đó:

  • Sử dụng dữ liệu cần join nhiều sẽ dùng Hash Join và Sort Merge join.
  • Dữ liệu đã được sort sẽ sử dụng Sort Merge Join.
  • Dữ liệu của các bảng được Join ít hoặc bảng ít bảng nhiều sẽ Nested Loop Join.

Xử lý transaction

  • Mặc định xử lý theo phương thức repeatable-read để giữ nguyên dữ liệu đọc.
  • Ứng dụng Next Key Locking để hoàn thiện tính năng thêm dữ liệu bởi transaction.
  • PostgreSQL tích hợp tính năng Read – committed.
  • Nếu không thể chuyển đổi thành Repeatable – read sẽ không xuất hiện Next Key Locking.

Store procedure, Trigger

MySQL chỉ sử dụng được SQL và trên mỗi SQL không thể thực thi các bước của stored procedure.

Ngoài SQL, PostgreSQL còn sử dụng được Procedure bên ngoài như Python.

Dạng logic và vật lý của replication

MySQL sở hữu replication cả dạng vật lý lẫn dạng logic. Cụ thể, dạng logic được cài đặt mặc định, kể từ bản 5.7 dạng vật lý cũng cài đặt theo hướng mặc định.

PostgreSQL chỉ có dạng vật lý. Nhưng từ phiên bản release beta version 10, PostgreSQL có thể sử dụng được cả dạng logic.

Chức năng tiện lợi

Chưa hỗ trợ nhiều chức năng tiện lợi nhưng có tích hợp chức năng sao lưu trực tuyến, điều khiển từ xa.

  • Hỗ trợ hệ điều hành Windows để apply hàm tổng.
  • Chức năng Query được cải thiện tốc độ xử lý thông qua việc chạy Query trên nhiều CPU.
  • Hỗ trợ tính năng Pg_basebackup cho phép sử dụng trực tuyến.

Trong quá trình sử dụng MySQL và PostgreSQL, bạn sẽ thấy được thêm nhiều ưu và nhược điểm khác nhau của chúng tùy vào từng hoàn cảnh cũng như dự án khác nhau.

Với nhiều chức năng độc đáo, PostgreSQL hứa hẹn sẽ là hệ quản trị cơ sở dữ liệu phổ biến nhất trong tương lai không xa. Hy vọng qua bài viết trên, bạn sẽ có cái nhìn tổng quan về PostgreSQL để ứng dụng phù hợp với dự án của mình. Chúc bạn thành công!

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

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