Một trong những xu hướng lớn nhất trong phát triển phần mềm hiện nay là sự xuất hiện của PostgreSQL như một tiêu chuẩn cơ sở dữ liệu trên thực tế. Đã có một số bài đăng trên blog về cách sử dụng PostgreSQL cho Mọi thứ, nhưng chưa có bài viết nào về lý do điều này xảy ra (và quan trọng hơn là tại sao điều này lại quan trọng).
Cho đến bây giờ!
01 PostgreSQL đang trở thành tiêu chuẩn cơ sở dữ liệu trên thực tế
02 Mọi thứ đều trở thành một chiếc máy tính
03 Sự trở lại của PostgreSQL
04 Giải phóng bản thân, Xây dựng tương lai, Nắm bắt PostgreSQL
05 Thang thời gian bắt đầu là “PostgreSQL cho chuỗi thời gian”
06 Thang thời gian mở rộng ngoài chuỗi thời gian
07 Thang thời gian hiện là “PostgreSQL trở nên mạnh mẽ”
08 Coda: Yoda?
Trong vài tháng qua, “PostgreSQL for Everything” đã trở thành lời kêu gọi ngày càng tăng giữa các nhà phát triển:
“PostgreSQL không chỉ là một cơ sở dữ liệu quan hệ đơn giản; đó là một khung quản lý dữ liệu có khả năng nhấn chìm toàn bộ lĩnh vực cơ sở dữ liệu. Xu hướng “Sử dụng Postgres cho mọi thứ” không còn giới hạn ở một số nhóm ưu tú mà đang trở thành một phương pháp hay nhất phổ biến.”
(
“Một cách để đơn giản hóa ngăn xếp của bạn và giảm bớt các bộ phận chuyển động, tăng tốc độ phát triển, giảm rủi ro và cung cấp nhiều tính năng hơn trong quá trình khởi nghiệp của bạn là “Sử dụng Postgres cho mọi thứ”. Postgres có thể thay thế—lên tới hàng triệu người dùng—nhiều công nghệ phụ trợ, trong đó có Kafka, RabbitMQ, Mongo và Redis.”
(
(
“Lần đầu tiên tôi nghe nói về Postgres (vào thời điểm mà MySQL hoàn toàn thống trị), tôi được mô tả là “cơ sở dữ liệu được tạo ra bởi những người mê toán học đó”, và sau đó tôi chợt nghĩ: vâng, đó chính xác là những người mà bạn muốn tuyển dụng. cơ sở dữ liệu của bạn.”
(
Nguồn )
“Nó đã có một sự trở lại đáng chú ý. Bây giờ NoSQL đã chết và Oracle sở hữu MySQL, còn gì nữa?”
( Nguồn )
“Postgres không chỉ là một DB quan hệ. Đó là một cách sống."
( Nguồn )
Nhờ nền tảng vững chắc, cộng với tính linh hoạt thông qua các tính năng và tiện ích mở rộng gốc, các nhà phát triển giờ đây có thể sử dụng PostgreSQL cho Mọi thứ, thay thế các kiến trúc dữ liệu phức tạp, dễ vỡ bằng sự đơn giản dễ hiểu:
Điều này có thể giúp giải thích tại sao PostgreSQL năm ngoái chiếm vị trí hàng đầu từ MySQL trong bảng xếp hạng cơ sở dữ liệu phổ biến nhất trong số các nhà phát triển chuyên nghiệp (60.369 người trả lời):
Bạn đã thực hiện công việc phát triển sâu rộng trong môi trường cơ sở dữ liệu nào trong năm qua và bạn muốn làm việc trong môi trường cơ sở dữ liệu nào trong năm tới? Hơn 49% số người được hỏi đã trả lời PostgreSQL. (
Những kết quả đó là từ Khảo sát nhà phát triển Stack Overflow năm 2023. Nếu nhìn theo thời gian, bạn có thể thấy sự gia tăng ổn định trong việc áp dụng PostgreSQL trong vài năm qua:
Mặc dù PostgreSQL là cơ sở dữ liệu yêu thích thứ hai của những người trả lời Khảo sát nhà phát triển của Stack Overflow trong giai đoạn 2020-2022, nhưng mức độ sử dụng nó vẫn tăng lên liên tục. Nguồn:
Đây không chỉ là xu hướng của các công ty khởi nghiệp nhỏ và những người có sở thích. Trên thực tế, việc sử dụng PostgreSQL đang gia tăng ở các tổ chức thuộc mọi quy mô:
Tỷ lệ sử dụng PostgreSQL theo quy mô công ty. (
Tại Timescale, xu hướng này không phải là mới đối với chúng tôi. Chúng tôi đã là những người tin tưởng PostgreSQL trong gần một thập kỷ. Đó là lý do tại sao chúng tôi xây dựng hoạt động kinh doanh của mình trên PostgreSQL, tại sao chúng tôi là một trong những công ty
Đã có một số bài đăng trên blog về cách sử dụng PostgreSQL cho mọi thứ, nhưng chưa có bài viết nào về lý do điều này xảy ra (và quan trọng hơn là tại sao điều này lại quan trọng).
Cho đến bây giờ.
Nhưng để hiểu tại sao điều này lại xảy ra, chúng ta phải hiểu một xu hướng thậm chí còn cơ bản hơn và xu hướng đó đang thay đổi bản chất cơ bản của thực tại con người như thế nào.
Mọi thứ – ô tô, nhà cửa, thành phố, trang trại, nhà máy, tiền tệ, đồ vật của chúng ta – đang trở thành một chiếc máy tính. Chúng ta cũng đang trở nên kỹ thuật số. Mỗi năm, chúng ta số hóa nhiều hơn về danh tính và hành động của chính mình: cách chúng ta mua đồ, cách chúng ta giải trí, cách chúng ta sưu tầm tác phẩm nghệ thuật, cách chúng ta tìm câu trả lời cho những câu hỏi của mình, cách chúng ta giao tiếp và kết nối, cách chúng ta thể hiện mình là ai.
Hai mươi hai năm trước, ý tưởng “điện toán phổ biến” này có vẻ táo bạo. Hồi đó, tôi đang là nghiên cứu sinh tại Phòng thí nghiệm AI của MIT, đang nghiên cứu
Rất nhiều đã thay đổi kể từ đó. Máy tính hiện có ở khắp mọi nơi: trên bàn làm việc, trong túi quần, trong đồ đạc và trong “đám mây” của chúng ta. Đó là điều chúng tôi đã dự đoán.
Nhưng những tác động thứ hai của những thay đổi đó không phải là điều mà hầu hết chúng ta mong đợi:
Điện toán khắp nơi đã dẫn đến dữ liệu khắp nơi . Với mỗi thiết bị điện toán mới, chúng tôi thu thập thêm thông tin về thực tế của mình: dữ liệu con người, dữ liệu máy móc, dữ liệu kinh doanh, dữ liệu môi trường và dữ liệu tổng hợp. Dữ liệu này đang tràn ngập thế giới của chúng ta.
Cơn lũ dữ liệu đã dẫn đến sự bùng nổ cơ sở dữ liệu trong kỷ Cambri . Tất cả những nguồn dữ liệu mới này đều cần có những nơi mới để lưu trữ chúng. Hai mươi năm trước, có lẽ có năm lựa chọn cơ sở dữ liệu khả thi. Ngày nay có hàng trăm, hầu hết chúng đều chuyên dùng cho các trường hợp sử dụng hoặc dữ liệu cụ thể, với những cái mới xuất hiện mỗi tháng.
Nhiều dữ liệu hơn và nhiều cơ sở dữ liệu hơn đã dẫn đến sự phức tạp của phần mềm hơn . Việc chọn cơ sở dữ liệu phù hợp cho khối lượng công việc phần mềm của bạn không còn dễ dàng nữa. Thay vào đó, các nhà phát triển buộc phải tập hợp các kiến trúc phức tạp có thể bao gồm: cơ sở dữ liệu quan hệ (vì độ tin cậy của nó), cơ sở dữ liệu phi quan hệ (vì khả năng mở rộng), kho dữ liệu (vì khả năng phục vụ phân tích), kho lưu trữ đối tượng ( vì khả năng lưu trữ dữ liệu cũ với giá rẻ). Kiến trúc này thậm chí có thể có nhiều thành phần chuyên biệt hơn, như cơ sở dữ liệu chuỗi thời gian hoặc vectơ.
Phức tạp hơn có nghĩa là mất ít thời gian hơn để xây dựng. Các kiến trúc phức tạp dễ vỡ hơn, yêu cầu logic ứng dụng phức tạp hơn, cung cấp ít thời gian phát triển hơn và làm chậm quá trình phát triển. Sự phức tạp không phải là một lợi ích mà là một chi phí thực sự.
Khi điện toán trở nên phổ biến hơn, thực tế của chúng ta trở nên gắn bó hơn với điện toán. Chúng ta đã đưa máy tính vào thế giới của mình và đưa chính chúng ta vào thế giới của nó. Chúng tôi không còn chỉ là danh tính ngoại tuyến mà là sự kết hợp giữa những gì chúng tôi làm ngoại tuyến và trực tuyến.
Các nhà phát triển phần mềm là những người tiên phong của nhân loại trong thực tế mới này. Chúng tôi là những người xây dựng phần mềm định hình thực tế mới này.
Nhưng các nhà phát triển hiện đang tràn ngập dữ liệu và chìm đắm trong sự phức tạp của cơ sở dữ liệu.
Điều này có nghĩa là các nhà phát triển—thay vì định hình tương lai—đang dành ngày càng nhiều thời gian để quản lý hệ thống ống nước.
Chúng ta tới đây bằng cách nào nhỉ?
Điện toán phổ biến đã dẫn đến dữ liệu ở khắp mọi nơi. Điều này không xảy ra qua đêm mà xảy ra theo từng đợt trong nhiều thập kỷ:
Với mỗi làn sóng, máy tính lại trở nên nhỏ hơn, mạnh hơn và phổ biến hơn. Mỗi làn sóng cũng được xây dựng trên làn sóng trước: máy tính cá nhân là những máy tính lớn nhỏ hơn; Internet là mạng lưới các máy tính được kết nối; điện thoại thông minh thậm chí còn là những chiếc máy tính nhỏ hơn được kết nối Internet; điện toán đám mây dân chủ hóa quyền truy cập vào tài nguyên máy tính; Internet of Things là các thành phần điện thoại thông minh được tái cấu trúc như một phần của những thứ vật lý khác được kết nối với Đám mây.
Nhưng trong hai thập kỷ qua, những tiến bộ về điện toán không chỉ diễn ra trong thế giới vật chất mà còn trong thế giới kỹ thuật số, phản ánh thực tế lai của chúng ta:
Với mỗi làn sóng điện toán mới, chúng ta có được những nguồn thông tin mới về thực tế lai: dữ liệu kỹ thuật số của con người, dữ liệu máy móc, dữ liệu kinh doanh và dữ liệu tổng hợp. Các làn sóng trong tương lai sẽ tạo ra nhiều dữ liệu hơn nữa. Tất cả dữ liệu này thúc đẩy các làn sóng mới, trong đó mới nhất là Generative AI, từ đó định hình thêm thực tế của chúng ta.
Sóng điện toán không đứng yên mà xếp tầng như quân domino. Những gì bắt đầu như một dòng dữ liệu nhỏ giọt đã sớm trở thành một cơn lũ dữ liệu. Và rồi cơn lũ dữ liệu đã dẫn đến việc tạo ra ngày càng nhiều cơ sở dữ liệu.
Tất cả những nguồn dữ liệu mới này đều cần có những nơi mới để lưu trữ chúng—hoặc cơ sở dữ liệu.
Máy tính lớn bắt đầu bằng
Sức mạnh cộng tác của Internet đã cho phép sự phát triển của phần mềm nguồn mở, bao gồm các cơ sở dữ liệu nguồn mở đầu tiên:
Internet cũng tạo ra một lượng dữ liệu khổng lồ, dẫn đến cơ sở dữ liệu phi quan hệ hoặc NoSQL đầu tiên:
Khoảng năm 2010, chúng tôi bắt đầu đạt đến điểm đột phá. Cho đến thời điểm đó, các ứng dụng phần mềm chủ yếu dựa vào một cơ sở dữ liệu duy nhất—ví dụ: Oracle, MySQL, PostgreSQL—và việc lựa chọn tương đối dễ dàng.
Nhưng “Dữ liệu lớn” ngày càng lớn hơn: Internet vạn vật dẫn đến sự gia tăng dữ liệu máy móc; Việc sử dụng điện thoại thông minh bắt đầu tăng theo cấp số nhân nhờ iPhone và Android, dẫn đến con người ngày càng cạn kiệt kỹ thuật số hơn; điện toán đám mây đã dân chủ hóa quyền truy cập vào tính toán và lưu trữ, khuếch đại các xu hướng này. AI sáng tạo gần đây đã khiến vấn đề này trở nên tồi tệ hơn với việc tạo ra dữ liệu vectơ.
Khi khối lượng dữ liệu được thu thập tăng lên, chúng tôi nhận thấy sự gia tăng của các cơ sở dữ liệu chuyên biệt:
Hai mươi năm trước, có lẽ có năm lựa chọn cơ sở dữ liệu khả thi. Hôm nay có
Đối mặt với cơn lũ này và với các cơ sở dữ liệu chuyên biệt với nhiều sự đánh đổi khác nhau, các nhà phát triển không có lựa chọn nào khác ngoài việc ghép các kiến trúc phức tạp lại với nhau.
Các kiến trúc này thường bao gồm cơ sở dữ liệu quan hệ (để đảm bảo độ tin cậy), cơ sở dữ liệu phi quan hệ (để mở rộng), kho dữ liệu (để phân tích dữ liệu), kho lưu trữ đối tượng (để lưu trữ giá rẻ) và thậm chí các thành phần chuyên biệt hơn như chuỗi thời gian hoặc cơ sở dữ liệu vector cho những trường hợp sử dụng đó.
Nhưng phức tạp hơn có nghĩa là mất ít thời gian hơn để xây dựng. Các kiến trúc phức tạp dễ vỡ hơn, yêu cầu logic ứng dụng phức tạp hơn, cung cấp ít thời gian phát triển hơn và làm chậm quá trình phát triển.
Điều này có nghĩa là thay vì xây dựng tương lai, các nhà phát triển phần mềm nhận thấy mình dành quá nhiều thời gian để bảo trì hệ thống ống nước. Đây là nơi chúng ta đang ở ngày hôm nay.
Có một cách tốt hơn.
Đây là nơi câu chuyện của chúng tôi có một bước ngoặt. Người hùng của chúng ta, thay vì là một cơ sở dữ liệu mới sáng bóng, lại là một cơ sở dữ liệu lâu đời, với cái tên mà chỉ nhà phát triển cốt lõi mới có thể yêu thích: PostgreSQL.
Lúc đầu, PostgreSQL đứng thứ hai sau MySQL. MySQL dễ sử dụng hơn, có một công ty đứng sau nó và một cái tên mà bất cứ ai cũng có thể dễ dàng phát âm. Nhưng sau đó MySQL đã được Sun Microsystems mua lại (2008), sau đó được Oracle mua lại (2009). Và các nhà phát triển phần mềm, những người coi MySQL là vị cứu tinh miễn phí khỏi chế độ độc tài đắt giá của Oracle, bắt đầu xem xét lại nên sử dụng gì.
Đồng thời, một cộng đồng các nhà phát triển phân tán, được tài trợ bởi một số công ty nhỏ độc lập, đang dần làm cho PostgreSQL ngày càng tốt hơn. Họ âm thầm bổ sung các tính năng mạnh mẽ, như tìm kiếm toàn văn bản (2008), chức năng cửa sổ (2009) và hỗ trợ JSON (2012). Họ cũng làm cho cơ sở dữ liệu trở nên vững chắc hơn thông qua các khả năng như sao chép trực tuyến, chế độ chờ nóng, nâng cấp tại chỗ (2010), sao chép logic (2017) cũng như bằng cách siêng năng sửa lỗi và làm mịn các góc cạnh thô.
Một trong những khả năng có tác động mạnh mẽ nhất được thêm vào PostgreSQL trong thời gian này là khả năng hỗ trợ các tiện ích mở rộng: các mô-đun phần mềm bổ sung chức năng cho PostgreSQL (2011).
Nhờ các tiện ích mở rộng, PostgreSQL bắt đầu không chỉ là một cơ sở dữ liệu quan hệ tuyệt vời. Nhờ PostGIS, nó đã trở thành một cơ sở dữ liệu không gian địa lý tuyệt vời; nhờ TimescaleDB, nó đã trở thành một cơ sở dữ liệu chuỗi thời gian tuyệt vời; hstore, một kho lưu trữ khóa-giá trị; AGE, cơ sở dữ liệu đồ thị; pgvector, một cơ sở dữ liệu vector. PostgreSQL đã trở thành một nền tảng.
Giờ đây, các nhà phát triển có thể sử dụng PostgreSQL vì độ tin cậy, khả năng mở rộng (thay thế cơ sở dữ liệu không quan hệ), phân tích dữ liệu (thay thế kho dữ liệu), v.v.
Tại thời điểm này, người đọc thông minh nên hỏi, “Còn dữ liệu lớn thì sao?”. Đó là một câu hỏi công bằng. Về mặt lịch sử, “dữ liệu lớn” (ví dụ: hàng trăm terabyte hoặc thậm chí petabyte)—và các truy vấn phân tích liên quan—không phù hợp với cơ sở dữ liệu như PostgreSQL vốn không tự mở rộng quy mô theo chiều ngang.
Điều đó cũng đang thay đổi. Tháng 11 năm ngoái, chúng tôi đã ra mắt “
Vì vậy, mặc dù “Dữ liệu lớn” trước đây là một lĩnh vực yếu kém của PostgreSQL, nhưng sắp tới sẽ không có khối lượng công việc nào quá lớn.
PostgreSQL là câu trả lời. PostgreSQL là cách chúng ta giải phóng bản thân và xây dựng tương lai.
Thay vì phải loay hoay với một số hệ thống cơ sở dữ liệu khác nhau, mỗi hệ thống có đặc điểm riêng và ngôn ngữ truy vấn riêng, chúng ta có thể dựa vào cơ sở dữ liệu linh hoạt nhất và có thể là đáng tin cậy nhất thế giới: PostgreSQL. Chúng ta có thể dành ít thời gian hơn cho việc sửa ống nước và có nhiều thời gian hơn cho việc xây dựng tương lai.
Và PostgreSQL ngày càng tốt hơn. Cộng đồng PostgreSQL tiếp tục cải thiện phần lõi. Ngày nay có rất nhiều công ty đóng góp cho PostgreSQL, bao gồm cả các công ty siêu quy mô.
Hệ sinh thái PostgreSQL ngày nay (
Ngoài ra còn có nhiều công ty độc lập, sáng tạo hơn đang xây dựng xung quanh cốt lõi để cải thiện trải nghiệm PostgreSQL:
Và tất nhiên có chúng tôi,
Câu chuyện của Timescale có lẽ nghe hơi quen thuộc: chúng tôi đang giải quyết một số vấn đề khó về dữ liệu cảm biến cho khách hàng IoT và chúng tôi đang chìm đắm trong dữ liệu. Để theo kịp, chúng tôi đã xây dựng một ngăn xếp phức tạp bao gồm ít nhất hai hệ thống cơ sở dữ liệu khác nhau (một trong số đó là cơ sở dữ liệu chuỗi thời gian).
Một ngày nọ, chúng tôi đã đạt đến điểm đột phá. Trong giao diện người dùng của mình, chúng tôi muốn lọc các thiết bị theo cả device_type và thời gian hoạt động. Đây đáng lẽ phải là một phép nối SQL đơn giản. Nhưng vì chúng tôi đang sử dụng hai cơ sở dữ liệu khác nhau nên thay vào đó, chúng tôi yêu cầu phải viết mã kết nối giữa hai cơ sở dữ liệu trong ứng dụng của chúng tôi. Chúng tôi sẽ mất hàng tuần và toàn bộ quá trình chạy nước rút kỹ thuật để thực hiện thay đổi.
Sau đó, một trong những kỹ sư của chúng tôi đã nảy ra một ý tưởng điên rồ: Tại sao chúng ta không xây dựng cơ sở dữ liệu chuỗi thời gian ngay trong PostgreSQL? Bằng cách đó, chúng tôi sẽ chỉ có một cơ sở dữ liệu cho tất cả dữ liệu của mình và có thể miễn phí vận chuyển phần mềm nhanh hơn. Sau đó, chúng tôi xây dựng nó và nó khiến cuộc sống của chúng tôi dễ dàng hơn rất nhiều. Sau đó, chúng tôi kể với bạn bè về điều đó và họ muốn thử. Và chúng tôi nhận ra rằng đây là điều chúng tôi cần chia sẻ với thế giới.
Vì vậy, chúng tôi đã mở nguồn mở cho tiện ích mở rộng chuỗi thời gian của mình, TimescaleDB và
Trong bảy năm kể từ đó, chúng tôi đã đầu tư rất nhiều vào cả tiện ích mở rộng và dịch vụ đám mây PostgreSQL của mình, mang lại trải nghiệm ngày càng tốt hơn cho nhà phát triển PostgreSQL cho chuỗi thời gian và phân tích: truy vấn nhanh hơn 350 lần, số lần chèn cao hơn 44% thông qua siêu bảng (tự động- bảng phân vùng); thời gian phản hồi tính bằng mili giây cho các truy vấn phổ biến thông qua tổng hợp liên tục (chế độ xem cụ thể hóa theo thời gian thực); Tiết kiệm hơn 90% chi phí lưu trữ thông qua nén cột gốc; lưu trữ đối tượng vô hạn, chi phí thấp thông qua lưu trữ theo tầng; và hơn thế nữa.
Đó là nơi chúng tôi bắt đầu, về dữ liệu chuỗi thời gian và cũng là nơi chúng tôi được biết đến nhiều nhất.
Nhưng năm ngoái chúng tôi đã bắt đầu mở rộng.
Chúng tôi đã đưa ra
Gần đây,
PopSQL là trình soạn thảo SQL để cộng tác nhóm
Chúng tôi cũng đã ra mắt “
Ngày nay, Timescale được PostgreSQL làm cho trở nên mạnh mẽ—ở mọi quy mô. Giờ đây, chúng tôi giải quyết các vấn đề về dữ liệu cứng—mà không ai khác làm được—không chỉ trong chuỗi thời gian mà còn trong AI, năng lượng, trò chơi, dữ liệu máy, xe điện, không gian, tài chính, video, âm thanh, web3, v.v.
Chúng tôi tin rằng các nhà phát triển nên sử dụng PostgreSQL cho mọi thứ và chúng tôi đang cải thiện PostgreSQL để họ có thể làm được điều đó.
Khách hàng sử dụng Timescale không chỉ cho dữ liệu chuỗi thời gian mà còn cho dữ liệu vectơ và dữ liệu quan hệ chung. Họ sử dụng Timescale để có thể sử dụng PostgreSQL cho Mọi thứ. Bạn cũng có thể:
Thực tế con người của chúng ta, cả vật lý và ảo, ngoại tuyến và trực tuyến, chứa đầy dữ liệu. Như Yoda có thể nói, dữ liệu bao quanh chúng ta, ràng buộc chúng ta. Thực tế này ngày càng bị chi phối bởi phần mềm, do các nhà phát triển phần mềm, do chúng ta viết ra.
Thật đáng để đánh giá cao điều đó đáng chú ý như thế nào. Cách đây không lâu, vào năm 2002, khi tôi còn là sinh viên tốt nghiệp MIT, thế giới đã mất niềm tin vào phần mềm. Chúng tôi đang hồi phục sau vụ sụp đổ bong bóng dotcom. Các ấn phẩm kinh doanh hàng đầu đã tuyên bố rằng “
Nhưng ngày nay, đặc biệt là trong thế giới AI sáng tạo này, chúng ta là những người định hình tương lai. Chúng tôi là những người xây dựng tương lai Chúng ta nên tự nhéo mình.
Mọi thứ đang trở thành một chiếc máy tính. Đây phần lớn là một điều tốt: ô tô của chúng ta an toàn hơn, nhà cửa tiện nghi hơn, các nhà máy và trang trại của chúng ta hoạt động hiệu quả hơn. Chúng tôi có quyền truy cập ngay vào nhiều thông tin hơn bao giờ hết. Chúng tôi gắn kết với nhau hơn. Đôi khi, nó khiến chúng ta khỏe mạnh và hạnh phúc hơn.
Nhưng không phải lúc nào cũng vậy. Giống như lực, điện toán có cả mặt sáng và mặt tối. Ngày càng có nhiều bằng chứng cho thấy điện thoại di động và phương tiện truyền thông xã hội đang trực tiếp góp phần vào sự phát triển
Chúng ta đã trở thành người quản lý hai nguồn tài nguyên quý giá có ảnh hưởng đến cách xây dựng tương lai: thời gian và năng lượng của chúng ta.
Chúng ta có thể chọn dành những tài nguyên đó vào việc quản lý hệ thống ống nước hoặc sử dụng PostgreSQL cho Mọi thứ và xây dựng một tương lai phù hợp.
Tôi nghĩ bạn biết chúng tôi đang đứng ở đâu.
Cảm ơn vì đã đọc. #Postgres4Life
(
Bài này được viết bởi Ajay Kulkarni .