paint-brush
Tại sao PostgreSQL là nền tảng cho tương lai của dữ liệutừ tác giả@timescale
883 lượt đọc
883 lượt đọc

Tại sao PostgreSQL là nền tảng cho tương lai của dữ liệu

từ tác giả Timescale14m2024/04/26
Read on Terminal Reader

dài quá đọc không nổi

Sự nổi lên của PostgreSQL với tư cách là tiêu chuẩn cơ sở dữ liệu phổ biến bắt nguồn từ khả năng thích ứng, độ tin cậy và hệ sinh thái rộng lớn của nó. Bài viết này đi sâu vào các lý do đằng sau sự thống trị của nó, từ việc giải quyết sự phức tạp của cơ sở dữ liệu đến việc trao quyền cho các nhà phát triển để tự tin xây dựng tương lai. Khám phá cách PostgreSQL đang cách mạng hóa các hoạt động quản lý dữ liệu và phát triển phần mềm.
featured image - Tại sao PostgreSQL là nền tảng cho tương lai của dữ liệu
Timescale HackerNoon profile picture
0-item


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ờ!


Mục lục

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?




PostgreSQL đang trở thành tiêu chuẩn cơ sở dữ liệu trên thực tế

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.”

( nguồ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.”

( nguồn )


Gergely Orosz | Abhishek



( Nguồn )


“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. ( Nguồn )


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: 2020 , 2021 , 2022


Đâ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. ( Nguồn )


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 những người đóng góp hàng đầu cho PostgreSQL , tại sao chúng tôi tổ chức cuộc họp thường niên Khảo sát tình trạng PostgreSQL (được tham chiếu ở trên) và lý do chúng tôi hỗ trợ các cuộc gặp gỡ và hội nghị PostgreSQL. Cá nhân tôi đã sử dụng PostgreSQL được hơn 13 năm (khi tôi chuyển từ MySQL).


Đã 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ứ đang trở thành một chiếc máy tính

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 luận án về Môi trường thông minh. Nghiên cứu của tôi được hỗ trợ bởi Dự án MIT oxy , có một mục tiêu cao cả và táo bạo: làm cho máy tính có sức lan tỏa rộng rãi như không khí chúng ta hít thở. Để so sánh thời điểm đó: chúng tôi có giá máy chủ trong tủ.


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ỉ?

Phần 1: Sóng tính toán xếp tầng

Đ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ỷ:


  • Máy tính lớn (thập niên 1950+)
  • Máy tính cá nhân (thập niên 1970+)
  • Internet (thập niên 1990+)
  • Điện thoại di động (thập niên 2000+)
  • Điện toán đám mây (thập niên 2000+)
  • Internet vạn vật (thập niên 2010+)


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:


  • Mạng xã hội (2000+)
  • Chuỗi khối (thập niên 2010+)
  • AI sáng tạo (thập niên 2020+)


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.

Phần 2: Tăng trưởng cơ sở dữ liệu gia tăng

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 Lưu trữ dữ liệu tích hợp (1964) và sau đó Hệ thống R (1974), cơ sở dữ liệu SQL đầu tiên. Máy tính cá nhân thúc đẩy sự phát triển của cơ sở dữ liệu thương mại đầu tiên: Lời tiên tri (1977), lấy cảm hứng từ Hệ thống R; DB2 (1983); Và Máy chủ SQL (1989), phản hồi của Microsoft đối với Oracle.


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: MySQL (1995), PostgreSQL (1996). Điện thoại thông minh dẫn đến sự phát triển của SQLite (ban đầu được tạo ra vào năm 2000).


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: Hadoop (2006); Cassandra (2008); MongoDB (2009). Một số người gọi đây là kỷ nguyên của “Dữ liệu lớn”.

Phần 3: Tăng trưởng cơ sở dữ liệu bùng 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: Neo4j đối với dữ liệu đồ thị (2007), làm lại cho một cửa hàng khóa-giá trị cơ bản (2009), FluxDB đối với dữ liệu chuỗi thời gian (2013), ClickHouse dành cho phân tích quy mô cao (2016), Pinecone dành cho dữ liệu vectơ (2019) và nhiều hơn thế nữa.


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ó vài trăm , hầu hết chúng đều chuyên biệt cho các trường hợp sử dụng cụ thể, với những trường hợp mới xuất hiện mỗi tháng. Mặc dù các cơ sở dữ liệu trước đây hứa hẹn tính linh hoạt chung, nhưng những cơ sở dữ liệu chuyên biệt này đưa ra những đánh đổi cụ thể, điều này có thể có ý nghĩa hoặc không tùy thuộc vào trường hợp sử dụng của bạn.

Phần 4: Thêm cơ sở dữ liệu, thêm vấn đề

Đố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.


Sự trở lại của PostgreSQL

Đâ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ô.

PostgreSQL hiện là một nền tảng

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). Các tiện ích mở rộng thậm chí còn cho phép nhiều nhà phát triển hơn thêm chức năng vào PostgreSQL một cách độc lập, nhanh chóng và với sự phối hợp tối thiểu.


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.

Còn dữ liệu lớn thì sao?

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 “ lưu trữ theo tầng ,” tự động xếp lớp dữ liệu của bạn giữa ổ đĩa và bộ lưu trữ đối tượng (S3), tạo ra khả năng có một bảng vô hạn một cách hiệu quả.


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.


Giải phóng bản thân, xây dựng tương lai, nắm bắt PostgreSQL

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 ( Nguồn )


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: Supabase (2020) đang biến PostgreSQL thành một giải pháp thay thế Firebase khả thi cho các nhà phát triển web và thiết bị di động; neon (2021) và Xata (2022) đều đang tạo ra quy mô PostgreSQL ở mức 0 cho các khối lượng công việc không có máy chủ không liên tục; Tembo (2022) đang cung cấp các ngăn xếp dùng ngay được cho nhiều trường hợp sử dụng khác nhau; sông Nile (2023) đang làm cho PostgreSQL trở nên dễ dàng hơn đối với các ứng dụng SaaS; và nhiều cái khác.


Và tất nhiên có chúng tôi, Thang thời gian (2017).


Thang thời gian bắt đầu là “PostgreSQL cho chuỗi thời gian”

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à đã công bố nó với thế giới vào ngày 4 tháng 4 năm 2017. Vào thời điểm đó, các công ty khởi nghiệp dựa trên PostgreSQL khá hiếm. Chúng tôi là một trong những người đầu tiên.


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.


Thang thời gian được mở rộng ngoài chuỗi thời gian

Đó 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.

Vectơ thang thời gian

Chúng tôi đã đưa ra Vectơ thang thời gian (“PostgreSQL++ cho các ứng dụng AI”), điều này làm cho PostgreSQL trở thành cơ sở dữ liệu vectơ thậm chí còn tốt hơn. Timescale Vector có quy mô lên tới hơn 100 triệu vectơ, xây dựng trên pgvector với hiệu suất thậm chí còn tốt hơn. Các công ty và nhóm đổi mới đã sử dụng Timescale Vector trong sản xuất ở quy mô lớn, bao gồm mởsauced , nền tảng hiểu biết về sự kiện GitHub, với hơn 100 triệu vectơ; VieRally , một nền tảng dự đoán mức độ lan truyền trên mạng xã hội, với hơn 100 triệu vectơ; Và MarketReader , một nền tảng hiểu biết về tài chính, với hơn 30 triệu vectơ.


Vector thời gian tăng cường pgvector. Có được hiệu suất của cơ sở dữ liệu vectơ chuyên dụng mà không gặp rắc rối khi tìm hiểu và duy trì cơ sở dữ liệu đó.

PopSQL

Gần đây, chúng tôi cũng đã mua lại PopSQL để xây dựng và cung cấp giao diện người dùng PostgreSQL tốt nhất. PopSQL là trình soạn thảo SQL để cộng tác nhóm, với tính năng tự động hoàn thành, khám phá lược đồ, tạo phiên bản và trực quan hóa. Hàng trăm nghìn nhà phát triển và nhà phân tích dữ liệu đã sử dụng PopSQL để làm việc với dữ liệu của họ, cho dù trên PostgreSQL, Timescale hay các nguồn dữ liệu khác như Redshift, Snowflake, BigQuery, MySQL, SQL Server, v.v.



PopSQL là trình soạn thảo SQL để cộng tác nhóm

Thông tin chi tiết

Chúng tôi cũng đã ra mắt “ Thông tin chi tiết”, nỗ lực dogfood lớn nhất mà chúng tôi từng thực hiện , theo dõi mọi truy vấn cơ sở dữ liệu để giúp nhà phát triển giám sát và tối ưu hóa hiệu suất cơ sở dữ liệu. Thông tin chi tiết khắc phục một số hạn chế của pg_stat_statements (tiện ích mở rộng chính thức để xem số liệu thống kê từ cơ sở dữ liệu của bạn). Quy mô rất lớn và là minh chứng cho khả năng của sản phẩm (và của nhóm): hơn một nghìn tỷ truy vấn được chuẩn hóa (tức là các truy vấn có giá trị tham số đã được thay thế bằng phần giữ chỗ) đã được thu thập, lưu trữ và phân tích, với hơn 10 tỷ truy vấn mới truy vấn được nhập mỗi ngày.


Thang thời gian bây giờ là “PostgreSQL trở nên mạnh mẽ”

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ể: bắt đầu ở đây miễn phí .


Coda: Yoda?

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 “ NÓ không quan trọng .” Hồi đó, một nhà phát triển phần mềm dễ kiếm được một công việc tốt trong lĩnh vực tài chính hơn là công nghệ - đó là điều mà nhiều bạn cùng lớp MIT của tôi đã làm, bao gồm cả tôi.


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 đại dịch bệnh tâm thần tuổi teen toàn cầu . Chúng ta vẫn đang vật lộn với những tác động của AI và sinh học tổng hợp . Khi nắm lấy sức mạnh to lớn hơn của mình, chúng ta nên nhận ra rằng nó đi kèm với trách nhiệm.


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


( Nguồn )


Bài này được viết bởi Ajay Kulkarni .