Thứ Năm, 27 tháng 7, 2023

Một số tính năng mới trong postgresql 13

Văn hóa chúng ta thường rất ngại số 13 và trong cuộc sống bạn có thường hay thấy người ta làm các việc tốt, tổ chức các tiệc khai trương, đặt tên thang máy tòa nhà cao tầng…v..v… là 13 chưa? Chắc cũng có nhưng rất là hiếm. Tại sao vậy? Thật sự tôi cũng không biết nữa.

Tôi không phải là người ủng hộ theo triết lý này. Bạn có biết ở Việt Nam chúng ta có tập đoàn công nghệ thông tin hàng đầu nào toàn chọn ngày 13 để làm khai trương các chi nhánh từ Bắc chí Nam không? Và cuối cùng họ đã rất thành công.Câu trả lời chắc bạn cũng đã biết.

Có thể cũng không phải vì tập đoàn ấy do chọn số 13 mà thành công mà có lẻ bởi vì người ta dám nghĩ khác để thay đổi. Và số 13 vô tình trở thành con số may mắn. Vì vậy bạn có muốn suy nghĩ khác, có muốn hệ thống database của công ty mình cải thiện khác hơn không?

Hãy cùng tôi khám phá postgresql 13 nhé

1.Tối ưu B-Tree index

Nếu bạn có một chỉ mục B-tree chứa các giá trị lặp lại, bạn có thể tận dụng tính năng này trong Postgres 13 để chỉ mục của bạn chiếm ít dung lượng hơn trên đĩa! Tôi sẽ chứng minh điều này cho bạn thấy nhé.

CREATE TABLE abc (x int PRIMARY KEY, y int);

CREATE INDEX ON abc (y);

INSERT INTO abc

SELECT x, x % 16378

FROM generate_series(1,1000000) x;

SELECT pg_size_pretty(pg_relation_size('abc_y_idx'));

Thực hiện trên PG 12:

Thực hiện trên PG 13:

Kết quả là:

Postgres 12: 28MB

Postgres 13: 9.5MB

Với PG13 , dung lượng ổ đĩa đã được giảm gần 3 lần. Khi hệ thống database của bạn lớn thì điều này cực kỳ có ý nghĩa. Đó là về mặt dung lượng lưu trữ còn về hiệu suất thì thế nào?

Chúng ta hãy cùng thử nghiệm:

EXPLAIN ANALYZE SELECT count(*) FROM abc WHERE y = 50;

Thực hiện trên PG12:

Thực hiện trên PG13:

Wow, kết quả là PG13 nhanh hơn nhiều lần so với PG12 về hiệu suất xử lý trong trường hợp ví dụ này.

Vì vậy nếu bạn nâng cấp hệ thống của bạn lên PG 13 thì chắc chắn cải thiện được rất nhiều.

2.Tối ưu sort giúp truy vấn nhanh hơn, làm tăng performance cho database

Tính năng sắp xếp gia tăng mới trong Postgres 13 cho phép bạn tận dụng chỉ mục cho phần đầu tiên của thứ tự, giúp tăng hiệu suất đáng kể.

Hãy xem điều này bằng ví dụ dưới đây.

(Chú ý: chúng ta nhớ xóa index ở mục 1 DROP INDEX abc_y_idx; để thấy được tính năng mới này nhé)

EXPLAIN ANALYZE SELECT * FROM abc WHERE x % 13 = 0 ORDER BY x, y DESC LIMIT 13;

Thực hiện trên PG12:

Thực hiện trên PG13:

Wow..bạn nhìn thấy kết quả là PG13 hiệu suất gấp nhiều lần PG12. Thật đáng ngưỡng mộ.

Nó tối ưu performance rất tốt cho hệ thống database của bạn.

3.Tối ưu vacuum

Nhờ tính năng “vacuum indexes in parallel” giúp rút ngắn thời gian vacuum rất nhiều. Điều này giúp bạn rút ngắn thời gian maintain hệ thống. Database càng lớn thì việc này càng có ý nghĩa rất lớn trong bảo trì sức khỏe của hệ thống data.

Trên đây chỉ một vài demo nhỏ nhưng bạn cũng thấy giá trí của version 13 (con số mà ai cũng ngại) mang lại cho hiệu suất hệ thống database thế nào nếu được nâng cấp . Ngoài ra, bạn có thể tìm hiểu thêm nhiều tính năng mới và rất hay của PG13 tại link https://www.postgresql.org/docs/13/release-13.html.

Cảm ơn bạn đã đọc bài viết này.

=============================
* 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/Zalo: 0902912888
👨 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: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Đị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

=============================
Một số tính năng mới trong postgresql 13, oracle tutorial, 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,sql tutorial, khóa học pl/sql tutorial, 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 RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

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