- Trong 25 năm, nó tiến hóa chậm rãi mà không có vốn đầu tư VC hay đội DevRel
- Ingres (UC Berkeley, 1970~1985) —> Postgres95 —> PostgreSQL
- Ngôn ngữ đầu tiên thậm chí không phải SQL mà là QUEL. Hỗ trợ SQL được thêm vào khi Postgres95 ra mắt năm 1995
- Năm 1996, khi PostgreSQL 6.0 phát hành, đội ngũ phát triển được hình thành và dự án rời khỏi giới học thuật
- Từ năm 2000, Postgres bắt đầu tăng trưởng khi đưa vào nhiều tính năng đa dạng
- Write-Ahead-Log (WAL), Outer JOIN, TOAST, Drop column, IPv6,..
- Đến năm 2005, nó đã trưởng thành hơn và bắt đầu được nhìn nhận là một DB khá ổn định
- Hỗ trợ giao dịch phong phú, hỗ trợ SQL rộng rãi, cùng với các cải tiến cho Write-Ahead-Log (WAL) và VACUUM
- Tạo chỉ mục đồng thời, máy chủ standby nóng, các kiểu dữ liệu Arrays/UUID/ENUM/XML, two-phase commit, v.v.
- Từ Postgres 8.4 năm 2009, các hàm Window và CTE được hỗ trợ
- Từ khoảng thời gian này, Postgres bắt đầu ảnh hưởng đến hệ sinh thái dữ liệu rộng lớn hơn
- Nhờ nền tảng mã nguồn vững chắc và giấy phép của mình, nhiều công ty đã chọn Postgres rồi bắt đầu fork nó
- Hiện nay hầu như không còn các bản fork này: Aster Data được Teradata mua lại, Truviso được Cisco mua lại, Netezza được IBM mua lại..
- Dù nhiều phiên bản fork xuất hiện, Postgres vẫn tiếp tục tiến lên
- Postgres thực sự bắt đầu trở nên ngầu từ khi phát hành Postgres 9.0 và 9.1 vào năm 2010
- Hỗ trợ listen/notify (pub-sub cho DB)
- hstore (kiểu dữ liệu key/value)
- Nâng cấp dễ dàng thông qua pg_upgrade
- Với sự xuất hiện của chỉ mục GIN/GiST, nó vượt ra ngoài chỉ mục B-Tree tiêu chuẩn
- Khả năng mở rộng luôn là một phần của Postgres, nhưng sau tái cấu trúc thì việc sử dụng trở nên dễ dàng hơn
- Foreign data wrapper được phát triển để có thể kết nối các DB Postgres khác nhau
- Năm 2012, JSON được đưa vào
- Sự trỗi dậy của các DB NoSQL (Mongo & Couchbase)
- Các nhà phát triển bắt đầu muốn có những cách khác để sử dụng dữ liệu của mình
- Ban đầu chỉ được hỗ trợ theo kiểu chắp vá, và phải 2 năm sau mới được hỗ trợ đúng nghĩa. Nhưng như vậy cũng đủ để thu hút sự chú ý của mọi người
- Khi Heroku nổi lên, họ chọn Postgres làm DB mặc định
- Từ Postgres 9.4 năm 2014, hỗ trợ JSON thực thụ bắt đầu với kiểu dữ liệu JSONB
- Là biểu diễn nhị phân của JSON nên có thể dễ dàng lập chỉ mục bằng GIN
- JSONB đến giờ vẫn là kiểu dữ liệu khiến nhiều người ngạc nhiên nhất khi nghe tới
- Với logical decoding, nó đặt nền móng để trong vài năm tiếp theo việc làm CDC (change data capture) trở nên dễ dàng hơn
- Khoảng bản 9.3, Amazon đã công bố hỗ trợ PostgreSQL trên RDS tại Re:Invent
- Tác giả đã tham gia Re:Invent nhiều lần, và đây là lần công bố duy nhất mà khán giả đứng dậy vỗ tay
- Các phiên bản 9.5, 9.6, 10 trong năm 2016
- Row Level Security, Logical Replication, Table Partitioning, v.v. được đưa vào
- Những tính năng này là đóng góp từ các contributor cá nhân
- Vậy chính xác là khi nào?
- Theo tôi, nếu không có sự kết hợp giữa Heroku và JSON thì các hyperscaler đã không bổ sung hỗ trợ
- Nhưng nếu không có chu kỳ phát hành đều đặn cùng các cải tiến liên tục về hiệu năng và tính năng, với trọng tâm là chất lượng, thì cũng đã không có cơ hội đó
11 bình luận
Ồ, Pub/Sub cho DB khá thú vị đấy
Binggrae Janggrae Postgrae!
Nhưng supabase còn ngầu hơn
Làm ơn cho phép thay đổi vị trí cột
Báo lỗi chính tả:
라이선스 벅분에->라이선스 덕분에Ngầu~ quá! Đúng vậy!!!
Thậm chí còn mang cảm giác như một giáo trình mẫu mực về OSS tạo ra vòng tuần hoàn tích cực.
Sự lãng mạn được bồi đắp qua nhiều thập kỷ, giống như LK-99...
Đỗ trong lãng mạn....
Postgres cố lên!
Ngầu quá, Postgres ơi