8 điểm bởi GN⁺ 2024-12-09 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Kho lưu trữ này tập hợp và giới thiệu các công cụ cũng như ví dụ sử dụng Postgres cho nhiều mục đích khác nhau, theo định hướng “Keep It Simple Stupid, just use postgres
  • Danh sách được lấy cảm hứng từ bài viết Postgres for Everything của Amazing CTO và GitHub gist của @cpursley, và được duy trì vì các công cụ mới hoặc cách tận dụng mới trên nền Postgres liên tục xuất hiện
  • Phạm vi rất rộng, bao gồm tác vụ cron, Postgres nhúng, hàng đợi thông điệp, phân tích, GIS, nhật ký kiểm toán, kiểm soát truy cập, tìm kiếm, chuỗi thời gian, NoSQL, đồ thị, HTTP, API, CDC, caching, kiểm thử, migration, tinh chỉnh hiệu năng, giám sát, mở rộng, UI, CLI, trực quan hóa, quản lý gói, bảo mật, cho đến sổ cái tài chính
  • Mỗi mục sắp xếp các phần mở rộng Postgres, thư viện, nền tảng API, bài viết và công cụ chủ yếu dưới dạng liên kết; một số mục được liên hệ với các công nghệ cụ thể như DuckDB, pgvector, PostGIS, PgBouncer, GraphQL, CDC
  • Người dùng muốn bổ sung ví dụ về đoạn mã, công cụ hoặc dự án cụ thể cần mở PR kèm liên kết và sử dụng pull request template mới

Mục đích và cách duy trì kho lưu trữ

  • Mục tiêu của kho lưu trữ Postgres for Everything là cho thấy các cách dùng Postgres cho nhiều mục đích khác nhau
  • Kho lưu trữ được lấy cảm hứng từ các tài liệu sau
  • Vì các công cụ mới xuất hiện trên nền Postgres hoặc các cách tận dụng mới liên tục được tạo ra, kho này được duy trì như một nơi để theo dõi chúng
  • Nếu có ví dụ khác, có thể gửi PR
  • Để giới thiệu đoạn mã, công cụ hoặc dự án, cần mở PR kèm liên kết và sử dụng pull request template

Bài đọc và bài viết ví dụ

Chạy tác vụ, nhúng, hàng đợi

  • Cron Jobs

  • Embeddable Postgres

    • PGLite: đóng gói bản build WASM Postgres dưới 10MB có thể chạy trong trình duyệt, Node.js, Bun và Deno dưới dạng thư viện TypeScript
    • pgmicro: bản tái triển khai PostgreSQL in-process dựa trên engine lưu trữ tương thích SQLite
  • Message Queues

    • tembo-io/pgmq
    • SKIP LOCKED
    • sequinstream/sequin: công cụ CDC gửi các hàng và thay đổi của Postgres tới các nền tảng streaming và hàng đợi như Kafka, SQS
    • janbjorge/pgqueuer: thư viện hàng đợi tác vụ Python tận dụng PostgreSQL
    • smartpricing/queen: hàng đợi thông điệp dựa trên PostgreSQL, cung cấp phân vùng FIFO độc lập, consumer group kiểu Kafka và exactly-once delivery

Phân tích, bản đồ, kiểm toán, quyền hạn

Tìm kiếm, chuỗi thời gian, dạng cột, NoSQL, đồ thị

  • Full Text Search

  • Vector Search

    • pgvector/pgvector
    • tensorchord/VectorChord: phần mở rộng tìm kiếm độ tương đồng vector cho PostgreSQL, hướng tới khả năng mở rộng, hiệu năng cao và hiệu quả về đĩa
    • timescale/pgai: phần mở rộng dựa trên pgvector hỗ trợ phát triển RAG, tìm kiếm ngữ nghĩa và ứng dụng AI ngay trong Postgres
    • timescale/pgvectorscale: triển khai chỉ mục vector DiskANN bổ sung cho pgvector
  • Hybrid Search

    • plpgsql_bm25rrf.sql: tìm kiếm lai kết hợp BM25 và pgvector bằng Reciprocal Rank Fusion
  • Time Series

  • Column Oriented

  • NoSQL

  • Graph Data

    • Apache Age: cơ sở dữ liệu đồ thị cho PostgreSQL, cung cấp khả năng xử lý và phân tích dữ liệu đồ thị trong cơ sở dữ liệu quan hệ

Dữ liệu bên ngoài, HTTP, API, GraphQL, CDC

Bộ nhớ đệm, kiểm thử, ứng dụng, migration

Hiệu năng, giám sát, mở rộng, UI

  • Performance Tuning

  • Monitoring

    • StatsMgr: hỗ trợ quản lý thống kê như WAL, SLRU, checkpointing, v.v.
    • pgMonitor: giải pháp giám sát trực quan hóa metric bằng Prometheus, Grafana, SQL Exporter và phần mở rộng pgMonitor
  • Testing

    • regresql: công cụ kiểm thử hồi quy truy vấn SQL hỗ trợ PostgreSQL
  • Scaling & Storage

    • Snowflake-Labs/pg_lake: tận dụng Postgres như một hệ thống lakehouse độc lập, hỗ trợ giao dịch và truy vấn trên các bảng Iceberg trong object storage như S3
    • pgdogdev/pgdog: transaction pooler và trình quản lý logical replication có khả năng sharding PostgreSQL
    • pgbouncer/pgbouncer: connection pooler gọn nhẹ cho PostgreSQL
    • orioledb.com: phần mở rộng PostgreSQL kết hợp ưu điểm của engine on-disk và in-memory
  • User Interfaces & Dashboards

Công cụ cho nhà phát triển, trực quan hóa, gói, bảo mật, tài chính

Chưa có bình luận nào.

Chưa có bình luận nào.