thắc mắc Hỏi về tương lai của PostgreSQL ở VN.

Ruaconlonton123

Senior Member
Chào các bác,
Em đã dùng MySQL khi học ở trên trường và đang dùng PostgreSQL khi đi làm, cá nhân em thấy PostgreSQL nhỉnh hơn (cá nhân em ạ, bác nào bên MySQL đừng blame em) nhưng mà khi tìm kiếm thử trên ITViec với từ khóa PostgreSQL ra được 21 jobs và MySQl ra 122 jobs, chênh lệch khá lớn. Em biết một phần lý do là vì các dự án từ ngày xưa được viết bằng MySQL cần maintain và do team mạnh về MySQL hơn nên chọn MySQL.
Các bác cho em hỏi trong tương lai (5-10 năm) PostgreSQL có phát triển mạnh ở VN không ạ? Em còn 1 năm nữa là ra trường nên muốn chuẩn bị tốt về stechstack để khi ra trường kiếm việc cho tiện ạ :D
 
Chào các bác,
Em đã dùng MySQL khi học ở trên trường và đang dùng PostgreSQL khi đi làm, cá nhân em thấy PostgreSQL nhỉnh hơn (cá nhân em ạ, bác nào bên MySQL đừng blame em) nhưng mà khi tìm kiếm thử trên ITViec với từ khóa PostgreSQL ra được 21 jobs và MySQl ra 122 jobs, chênh lệch khá lớn. Em biết một phần lý do là vì các dự án từ ngày xưa được viết bằng MySQL cần maintain và do team mạnh về MySQL hơn nên chọn MySQL.
Các bác cho em hỏi trong tương lai (5-10 năm) PostgreSQL có phát triển mạnh ở VN không ạ? Em còn 1 năm nữa là ra trường nên muốn chuẩn bị tốt về stechstack để khi ra trường kiếm việc cho tiện ạ :D
Mình biết mỗi Mysql thôi. Nó có nhiều hàm tích hợp sẵn. Postgresql thì hay hơn hả bạn.
 
Đang migrate một đống microservices từ oracle sang aurora postgre, từ server lên cloud trên Kubernetes đây, méo có config ngồi mò vs deploy muốn khùng luôn.
Bác migrate như nào v ạ, có phải kiểu viết 1 con job để đọc data từ oracle sang postgre k ạ
 
Bác migrate như nào v ạ, có phải kiểu viết 1 con job để đọc data từ oracle sang postgre k ạ
Ko, tập hợp của một big business (h*b*), nên sẽ xài một con api chứa đường dẫn cấu hình spring.clound cho từng môi trường, xong một con chứa toàn bộ config cho từng môi trường.
Rồi DB team xử các procedures, data ko đc xem.
 
Ko, tập hợp của một big business (h*b*), nên sẽ xài một con api chứa đường dẫn cấu hình spring.clound cho từng môi trường, xong một con chứa toàn bộ config cho từng môi trường.
Rồi DB team xử các procedures, data ko đc xem.
"môi trường" ở đây cụ thể là gì v ạ
 
Mysql 5.7 thì như shit compare to Postgres 9. May mắn, MySQL 8 đã thêm nhiều tính năng. Được cái tôi vẫn đánh giá MySQL có performance nhỉnh hơn Postgres, hoặc ít ra là out of the box không cần chỉnh gì hết.

Giờ này ai còn xài MySQl 5.7 là khổ dâm, là tội ác với project nhá :D
 
PostgreSQL nhìn chung thì ngon hơn MySQL:
  • Nhiều data type hơn.
  • SQL strict hơn và theo chuẩn hơn.
  • Có "real" schema.
  • Nhiều hàm built-in ngon hơn.
...

PostgreSQL bản cũ (< 10) thì thọt hơn MySQL ở một số chỗ:
  • Replication, mấy version từ 9.x đổ về trước khá là phức tạp và gian nan.
  • Không có logical replication.
  • Thiếu nhiều tool để sharding, monitoring, proxy...
  • Thiếu built-in job scheduler như MySQL/MariaDB
...

PostgreSQL hiện tại (12, 13, 14) thì rất ngon rồi:
  • Setup replication (physical, logical) siêu dễ, dễ hơn MySQL rất nhiều.
  • Full support logical replication.

Nhưng mà vẫn thiếu một số tool so với MySQL.

Nhìn chung thì PostgreSQL giờ dùng nhiều lắm, hầu hết thì mình thấy người ra chuyển từ MySQL/MariaDB sang PostgreSQL chứ hiếm thấy chiều ngược lại.
 
PostgreSQL nhìn chung thì ngon hơn MySQL:
  • Nhiều data type hơn.
  • SQL strict hơn và theo chuẩn hơn.
  • Có "real" schema.
  • Nhiều hàm built-in ngon hơn.
...

PostgreSQL bản cũ (< 10) thì thọt hơn MySQL ở một số chỗ:
  • Replication, mấy version từ 9.x đổ về trước khá là phức tạp và gian nan.
  • Không có logical replication.
  • Thiếu nhiều tool để sharding, monitoring, proxy...
  • Thiếu built-in job scheduler như MySQL/MariaDB
...

PostgreSQL hiện tại (12, 13, 14) thì rất ngon rồi:
  • Setup replication (physical, logical) siêu dễ, dễ hơn MySQL rất nhiều.
  • Full support logical replication.

Nhưng mà vẫn thiếu một số tool so với MySQL.

Nhìn chung thì PostgreSQL giờ dùng nhiều lắm, hầu hết thì mình thấy người ra chuyển từ MySQL/MariaDB sang PostgreSQL chứ hiếm thấy chiều ngược lại.
Em đọc ở đâu đó có case của Uber chuyển từ posrgresql sang mysql, nhưng lí do thì đúng là do cái logical replication của postgres thời điểm đó (tầm 2015) gì đó :byebye:

via theNEXTvoz for iPhone
 
:) Muốn hỏi tương lai của nó như nào, thì trước hết hãy trả lời câu hỏi: Nó dc sinh ra để giải quyết bài toán gì? Nó có những điểm nào khác với những thằng DB khác, SQL lẫn NoSQL.

Nếu có 1 thằng nào thay thế nó thì thằng đấy phải đáp ứng những yêu cầu gì?

Về cơ bản, trong tương lai gần 10-20 năm, thì PostgreSQL hay MySQL vẫn sẽ dc sử dụng phổ biến thôi.

Cứ học những cái cơ bản đi, các DB thì cũng xoay quanh các cấu trúc dữ liệu/giải thuật cơ bản thôi.

Chứ đừng có lo xa lo gần là sau này ra trường thì postgresql đi xuống, hay mysql lên ngôi.
Giả sử có vậy thì với kiến thức chắc thì cũng hoàn toàn nhanh chóng tiếp thu dc những cái mới. CÒn nếu ko có kiến thức cơ bản thì thằng nào cũng vậy thôi :)
 
Em đọc ở đâu đó có case của Uber chuyển từ posrgresql sang mysql, nhưng lí do thì đúng là do cái logical replication của postgres thời điểm đó (tầm 2015) gì đó :byebye:

via theNEXTvoz for iPhone
Thực ra vấn đề của Uber nó rất đặc thù và vấn đề này vẫn gây tranh cãi :big_smile:

Ngoài vấn đề replication của Postgres cũ thì Uber có vấn đề với cách mà Postgres handle write operation.

Bản chất các câu lệnh write (update/delete) thì Postgres nó sẽ tạo ra một vùng chứa data mới, còn vùng chứa data cũ nó đánh dấu là bị xóa chứ không thực sự xóa ngay.

Vì cách xử lý như vậy nên Postgres nó có một background process gọi là vacuum để dọn dẹp thu hồi mấy vùng bị đánh dấu xóa.

Theo như Uber thì họ cho rằng process vacuum này gây ảnh hưởng performance...

Mình chưa đào sâu đến mức thế nên ko dám bàn thêm nhưng mà trong cộng đồng có nhiều phản bác :big_smile:
 
Database mà xài mấy cái riêng biệt của từng DBMS thì lúc cần migrate sang thằng khác nhọc lắm :shame:
Thì tùy nhu cầu mà, thực tế thì chưa thấy ai switch DBMS liên tục. DBMS có lẽ là thành phần ít thay đổi nhất trong hệ thống :shame:
 
Back
Top