PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Xu hướng PostgreSQL:Nhà cung cấp đám mây phổ biến nhất, Ngôn ngữ, VACUUM, Chiến lược quản lý truy vấn &Loại triển khai trong Doanh nghiệp

Mức độ phổ biến của PostgreSQL đang tăng vọt trong không gian doanh nghiệp. Khi cơ sở dữ liệu nguồn mở này tiếp tục thu hút người dùng mới từ các hệ thống quản lý cơ sở dữ liệu thương mại đắt tiền như Oracle, DB2 và SQL Server, các tổ chức đang áp dụng các phương pháp tiếp cận mới và phát triển riêng của họ để duy trì hiệu suất vượt trội của các triển khai SQL của họ. Gần đây, chúng tôi đã tham dự sự kiện PostgresConf ở San Jose để nghe ý kiến ​​từ cơ sở người dùng PostgreSQL tích cực nhất về các chiến lược quản lý cơ sở dữ liệu của họ. Trong báo cáo xu hướng mới nhất này, chúng tôi phân tích các nhà cung cấp đám mây phổ biến nhất cho PostgreSQL, chiến lược VACUUM, chiến lược quản lý truy vấn và sử dụng đám mây tại chỗ so với công khai đang được các tổ chức doanh nghiệp tận dụng.

Nhà cung cấp đám mây phổ biến nhất cho PostgreSQL Hosting

Hãy bắt đầu với các nhà cung cấp đám mây phổ biến nhất cho dịch vụ lưu trữ PostgreSQL. Không có gì ngạc nhiên khi ba nhà cung cấp đám mây hàng đầu trên thế giới đã tạo ra 100% việc triển khai PostgreSQL trong đám đông trong báo cáo doanh nghiệp này. AWS, tuy nhiên, đã có một bước nhảy vọt đáng kể so với báo cáo cuối cùng của chúng tôi, nơi họ hiện trung bình 77,4% sử dụng đám mây PostgreSQL so với 55,0% vào tháng Tư. AWS cung cấp dịch vụ lưu trữ được quản lý cho PostgreSQL được gọi là Amazon RDS, nhưng có nhiều giải pháp DBaaS khác cung cấp dịch vụ lưu trữ PostgreSQL trên AWS, chẳng hạn như ScaleGrid, có thể cung cấp hỗ trợ đa đám mây để bạn không bị khóa với một nhà cung cấp đám mây duy nhất .

AWS không phải là nhà cung cấp đám mây duy nhất phát triển - chúng tôi nhận thấy rằng 19,4% triển khai đám mây PostgreSQL được lưu trữ thông qua Google Cloud Platform (GCP), đang tăng 11 % so với tháng 4, nơi họ chỉ đạt trung bình 17,5% lưu trữ PostgreSQL. Điều này khiến nhà cung cấp đám mây cuối cùng của chúng tôi - Microsoft Azure, người đại diện cho 3,2% triển khai đám mây PostgreSQL trong cuộc khảo sát này. Đây là một trong những khám phá gây sốc nhất, vì Azure được xếp thứ hai với GCP vào tháng 4 và thường là lựa chọn phổ biến cho các tổ chức doanh nghiệp tận dụng bộ dịch vụ của Microsoft.

77,4% triển khai đám mây #PostgreSQL được chạy trên AWSClick To Tweet

Ngôn ngữ được sử dụng nhiều nhất với PostgreSQL

Đây là một phân tích mới mà chúng tôi đã khảo sát để xem ngôn ngữ nào được sử dụng phổ biến nhất với PostgreSQL. Các ngôn ngữ lập trình được hỗ trợ cho PostgreSQL bao gồm .Net, C, C ++, Delphi, Java, JavaScript (Node.js), Perl, PHP, Python và Tcl, nhưng PostgreSQL có thể hỗ trợ nhiều ngôn ngữ thủ tục phía máy chủ thông qua các phần mở rộng có sẵn của nó.

Chúng tôi nhận thấy rằng Java là ngôn ngữ lập trình phổ biến nhất cho PostgreSQL, được 31,1% tổ chức doanh nghiệp sử dụng trung bình. PostgreSQL có thể dễ dàng kết nối với các chương trình Java thông qua Trình điều khiển kết nối cơ sở dữ liệu Java PostgreSQL (JBDC) nguồn mở phổ biến, còn được gọi là PgJDBC.

Python là ngôn ngữ lập trình phổ biến thứ hai được sử dụng với PostgreSQL, cận kề với tỷ lệ sử dụng trung bình 28,9% với PostgreSQL. Quay trở lại năm 2013, PostgreSQL đã khảo sát người dùng của họ để xem ngôn ngữ lập trình bên ngoài nào thường được sử dụng nhất với PostgreSQL và nhận thấy rằng Python chỉ chiếm 10,5% kết quả, cho thấy mức độ phổ biến gia tăng đáng kể trong sáu năm qua.

Ngôn ngữ lập trình C đứng ở vị trí thứ ba, trung bình 20,0% sử dụng với PostgreSQL, tiếp theo là thứ tư với 13,3%, PL / pgSQL ở vị trí thứ năm 11,1%, Ruby đứng thứ sáu với 8,9% và cả PHP và Perl ở vị trí thứ bảy với 4,4%. PHP thực sự là ngôn ngữ phổ biến nhất được sử dụng với PostgreSQL vào năm 2013, chiếm gần một nửa số phản hồi từ cuộc khảo sát của họ với tỷ lệ sử dụng 47,1%. Cột cuối cùng, Other, được biểu thị bằng C ++, Node.js, Javascript, Spark, Swift, Kotlin, Typescript, C #, Scala, R, .NET, Rust và Haskell.

Ngôn ngữ lập trình nào phổ biến nhất cho PostgreSQL? #Java #Python #Click To Tweet

Chiến lược VACUUM PostgreSQL Phổ biến nhất

PostgreSQL VACUUM là một kỹ thuật để loại bỏ các bộ giá trị đã bị xóa hoặc hiện đã lỗi thời khỏi bảng của chúng để lấy lại dung lượng bị chiếm dụng bởi các bộ giá trị đã chết đó, còn được gọi là Bloat. VACUUM là một quá trình quan trọng cần duy trì, đặc biệt là đối với các bảng được cập nhật thường xuyên trước khi nó bắt đầu ảnh hưởng đến hiệu suất PostgreSQL của bạn. Trong cuộc khảo sát của mình, chúng tôi đã hỏi người dùng PostgreSQL doanh nghiệp cách họ xử lý VACUUM để xem các phương pháp tiếp cận phổ biến nhất là gì.

Quy trình phổ biến nhất cho PostgreSQL VACUUM là autovacuum tích hợp sẵn, được trung bình 37,5% tổ chức doanh nghiệp sử dụng. Daemon autovacuum là tùy chọn, nhưng rất được khuyến khích trong cộng đồng PostgreSQL, nó tự động hóa cả lệnh VACUUM và ANALYZE, liên tục kiểm tra các bảng để tìm bộ giá trị thỏa thuận. Mặc dù rất được khuyến khích, 33,3% người dùng PostgreSQL thích thực hiện thủ công VACUUM trong không gian doanh nghiệp. Fibrevillage có một bài viết tuyệt vời nêu ra những vấn đề phổ biến này với autovacuum có thể khiến tổ chức áp dụng chiến lược thủ công:

  • autovacuum có thể chạy ngay cả khi bị tắt để giải quyết vấn đề bao trùm ID giao dịch.
  • autovacuum liên tục chạy, điều này làm cho nó bắt đầu lại mỗi khi hết dung lượng và bắt đầu một worker mới cho từng cơ sở dữ liệu trong cụm của bạn.
  • autovacuum có thể gây ra lỗi hết bộ nhớ.
  • autovacuum có thể gặp sự cố khi cập nhật máy chủ bận.
  • autovacuum có thể dễ dàng tiêu tốn quá nhiều công suất I / O.

Một khám phá đáng ngạc nhiên khác là 18,8% tổ chức không sử dụng VACUUM vì nó chưa cần thiết. Điều này có thể là do họ đang tận dụng PostgreSQL trong các ứng dụng nhỏ hoặc các ứng dụng không được cập nhật thường xuyên. 6,6% tổ chức đã phát triển một giải pháp tùy chỉnh cho PostgreSQL VACUUM và 4,2% đang trong quá trình hoạch định chiến lược VACUUM của họ.

Chiến lược VACUUM phổ biến nhất cho PostgreSQL là gì? #autovacuum #manualNhấp vào Tweet

Chiến lược quản lý truy vấn chậm PostgreSQL phổ biến nhất

Nếu đang làm việc với PostgreSQL, bạn có thể biết rằng quản lý truy vấn là công việc tốn thời gian nhất. Đó là một quá trình quan trọng với nhiều khía cạnh cần xem xét, bắt đầu từ việc phát triển kế hoạch truy vấn để khớp cấu trúc truy vấn với thuộc tính dữ liệu của bạn, sau đó phân tích các truy vấn chạy chậm, cuối cùng là tối ưu hóa các truy vấn đó thông qua điều chỉnh hiệu suất.

Chúng tôi nhận thấy rằng 54,3% người dùng PostgreSQL đang quản lý thủ công các truy vấn chậm trong các tổ chức doanh nghiệp. Điều này có thể được thực hiện thông qua mô-đun auto_explain và pg_stat_statements của chúng, kiểm tra pg_stat_activity để tìm hoạt động của bảng và chỉ mục trên máy chủ của bạn, phân tích nhật ký truy vấn chậm hoặc xem lại mã của bạn.

Trung bình, 21,7% tổ chức doanh nghiệp đang sử dụng công cụ giám sát để phân tích và quản lý các truy vấn chậm PostgreSQL của họ. Điều này giúp họ giảm đáng kể thời gian cần thiết để xác định truy vấn nào đang chạy chậm nhất, thường xuyên nhất, gây ra tải nhiều nhất khi đọc hoặc ghi trên hệ thống của bạn hoặc các truy vấn thiếu chỉ mục bằng cách kiểm tra các hàng.

Tuy nhiên,

17,4% người dùng không chủ động quản lý các truy vấn chậm trong triển khai PostgreSQL. Chúng tôi thực sự khuyên bạn nên áp dụng chiến lược quản lý truy vấn để đảm bảo các truy vấn chậm không ảnh hưởng đến hiệu suất triển khai PostgreSQL của bạn. 4,3% người dùng hiện đang trong quá trình lập kế hoạch chiến lược quản lý truy vấn và 2,2% đã phát triển một giải pháp tùy chỉnh để quản lý các truy vấn chậm của họ.

Chiến lược quản lý truy vấn chậm phổ biến nhất cho PostgreSQL là gì? #monitoring #tool #manualNhấp vào Tweet

PostgreSQL Cloud so với Triển khai tại chỗ

Chúng ta hãy kết thúc với một trong những chủ đề nóng nhất trong không gian doanh nghiệp PostgreSQL - cho dù triển khai PostgreSQL trên đám mây hay tại chỗ. Chúng tôi đã tích cực theo dõi xu hướng này cả năm và nhận thấy rằng 59,6% các triển khai PostgreSQL nghiêm túc tại chỗ vào tháng 4 từ Báo cáo Xu hướng PostgreSQL 2019 của chúng tôi và 55,8% tại chỗ trong Báo cáo Cơ sở dữ liệu Nguồn Mở 2019 của chúng tôi chỉ vài tháng trước đây vào tháng 6.

Bây giờ, trong báo cáo gần đây nhất này, chúng tôi nhận thấy rằng việc triển khai PostgreSQL tại chỗ đã giảm 40% kể từ tháng 4 năm 2019. Trung bình, chỉ 35,6% tổ chức doanh nghiệp PostgreSQL là triển khai độc quyền tại chỗ. Nhưng các tổ chức không di chuyển hoàn toàn các triển khai tại chỗ của họ - 24,4% các triển khai PostgreSQL được phát hiện là đang tận dụng môi trường đám mây lai. Các đám mây lai là sự kết hợp của điện toán đám mây tại chỗ, đám mây riêng và / hoặc điện toán đám mây công cộng để hỗ trợ các ứng dụng và dữ liệu của chúng. Đây là một sự gia tăng đáng kể so với những gì chúng ta đã thấy vào tháng 4, nhảy từ 5,6% triển khai PostgreSQL lên đến 24,4% vào tháng 9.

Việc triển khai đám mây kết hợp đang trở nên phổ biến hơn - báo cáo gần đây này cho thấy 57% doanh nghiệp chọn môi trường đám mây kết hợp sử dụng cả đám mây riêng và công cộng làm nơi lưu trữ dữ liệu. Mặc dù chúng tôi nhận thấy một bước nhảy vọt lớn đối với đám mây, các tổ chức doanh nghiệp vẫn đang tận dụng môi trường tại chỗ ở một số khả năng 60% thời gian, so với 65,2% vào tháng Tư. Cuối cùng, chúng tôi nhận thấy rằng việc triển khai PostgreSQL trên đám mây công cộng đã tăng 15% kể từ tháng 4, hiện đã được các tổ chức doanh nghiệp sử dụng trung bình 34,8%.

Cũng cần lưu ý rằng cuộc khảo sát này được thực hiện tại sự kiện PostgresConf Silicon Valley, trong khi cuộc khảo sát vào tháng 4 của chúng tôi được thực hiện ở Thành phố New York. Khu vực vịnh được biết đến rộng rãi vì áp dụng các công nghệ mới, điều này cho phép chúng tôi đưa ra giả thuyết rằng thị trường này có tỷ lệ chấp nhận đám mây cao hơn so với bờ biển phía đông.

Các kiểu triển khai PostgreSQL Tháng 4 Tháng 6 Tháng 9 Tăng trưởng từ tháng 4 đến tháng 9
Tại Cơ sở 59,6% 55,8% 35,6% - 40,0%
Đám mây lai 5,6% 16,3% 24,4% 336%
Public Cloud 34,8% 27,9% 40,0% 15,0%


Loại triển khai phổ biến nhất cho #PostgreSQL? Tại chỗ so với Đám mây công cộng và Đám mây hỗn hợpNhấp để Tweet

Vì vậy, làm cách nào để các kết quả này xếp chồng lên nhau đối với các chiến lược và triển khai PostgreSQL của bạn? Chúng tôi muốn biết suy nghĩ của bạn, hãy để lại nhận xét tại đây hoặc gửi cho chúng tôi một tweet tại @scalegridio.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ẩn danh PostgreSQL theo yêu cầu

  2. Cách thêm chỉ mục duy nhất có điều kiện trên PostgreSQL

  3. Tôi tiếp tục nhận được quan hệ lỗi [TABLE] không tồn tại

  4. Làm cách nào để bạn tìm thấy kích thước đĩa của bảng Postgres / PostgreSQL và các chỉ mục của nó

  5. jsonb so với jsonb [] cho nhiều địa chỉ cho một khách hàng