8 पॉइंट द्वारा GN⁺ 2024-12-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें

लक्ष्य और प्रेरणा

  • इस repository का लक्ष्य हर चीज़ के लिए Postgres का उपयोग कैसे करें यह दिखाना है.
  • Amazing CTO के लेख और @cpursley के GitHub gist से प्रेरित.

यह सूची क्यों बनाए रखें?

  • हर हफ्ते Postgres के ऊपर नए tools या उपयोग के तरीके सामने आते हैं, इसलिए इन्हें दर्ज करने के लिए एक जगह चाहिए.
  • अगर आपके पास अन्य उदाहरण हैं, तो आप PR submit कर सकते हैं.

विषय-सूची

  • ब्लॉग पोस्ट और लेख
  • cron jobs
  • message queue
  • analytics
  • GIS और mapping
  • audit log
  • access control और authorization
  • search
    • full text
    • vector
  • time-series
  • column-oriented
  • NoSQL
  • graph data
  • external data
  • alternative query languages
  • HTTP
  • API
  • events, replication, CDC
  • caching
  • unit testing
  • HTML और applications
  • graphics और visualization
  • migration
  • performance tuning
  • scaling और storage
  • dashboard और UI
  • data visualization
  • package management
  • language server
  • अन्य
  • बोनस: Supabase को शामिल करने वाली प्रविष्टियों की संख्या

ब्लॉग पोस्ट और लेख

  • code को database functions में ले जाकर सरल बनाना
  • हर चीज़ के लिए Postgres का उपयोग
  • PostgreSQL दुनिया का सबसे बेहतरीन database है
  • Postgres database की दुनिया पर कब्ज़ा कर रहा है
  • Hacker News discussion

cron jobs

  • citusdata/pg_cron
  • cybertec-postgresql/pg_timetable

message queue

  • Postgres queue technology चुनने पर लेख
  • tembo-io/pgmq
  • SKIP LOCKED
  • riverqueue/river
  • sequinstream/sequin: Postgres में CDC के लिए tool, जिससे Postgres rows और changes को Kafka और SQS जैसे streaming platforms और queues में आसानी से stream किया जा सकता है.
  • janbjorge/pgqueuer: PostgreSQL का उपयोग करके efficient job queueing के लिए Python library

analytics

  • pg_analytics: Postgres को एक तेज़ OLAP database में बदलता है
  • pg_duckdb: DuckDB के लिए आधिकारिक Postgres extension

GIS और mapping

  • postgis/postgis

audit log

  • arkhipov/temporal_tables
  • supabase/supa_audit
  • pgMemento/pgMemento
  • pgaudit/pgaudit

access control और authorization

  • arkhipov/acl
  • pgcrypto documentation
  • michelp/pgjwt
  • supabase.com पर database security guide

search

full text

  • Postgres full text search पर उपयोगी links का संग्रह
  • paradedb/paradedb
  • Postgres full text search और अन्य search technologies की तुलना

vector

  • pgvector/pgvector
  • tensorchord/VectorChord: scalable high-performance vector similarity search के लिए PostgreSQL extension
  • timescale/pgai: PostgreSQL extension जो Postgres के भीतर RAG, semantic search और अन्य AI applications के development की अनुमति देता है
  • timescale/pgvectorscale: pgvector को पूरक करने वाला DiskANN vector index implementation

time-series

  • timescale/timescaledb
  • tembo-io/pg_timeseries
  • pg_timeseries का परिचय: PostgreSQL के लिए open source time-series extension

column-oriented

  • hydradatabase/hydra
  • citusdata/cstore_fdw

NoSQL

  • JSON data store और indexing पर PostgreSQL documentation
  • robconery/dox
  • ferretdb.com
  • PostgreSQL में JSONB को प्रभावी ढंग से store और index कैसे करें

graph data

  • age.apache.org

external data

  • supabase/wrappers

alternative query languages

  • kaspermarstal/plprql
  • supabase.github.io/pg_graphql
  • dosco/graphjin

HTTP

  • pramsey/pgsql-http
  • supabase/pg_net

API

  • PostgREST/postgrest
  • hasura/graphql-engine
  • postgraphile.org
  • supabase.github.io/pg_graphql

events, replication, CDC

  • Postgres का उपयोग करने वाले applications के लिए Notifier pattern
  • SQL NOTIFY documentation
  • cpursley/walex
  • PeerDB-io/peerdb
  • debezium/debezium
  • 2ndQuadrant/pglogical

caching

  • martinheinz.dev ब्लॉग
  • readysettech/readyset

unit testing

  • theory/pgtap
  • peterldowns/pgtestdb

HTML और applications

  • SQLpage
  • Omnigres
  • pg_render
  • plmustache

graphics और visualization

  • pgSVG

migration

  • purcell/postgresql-migrations
  • bytebase.com
  • xataio/pgroll
  • stripe/pg-schema-diff

performance tuning

  • Supabase Index Advisor
  • Dexter
  • HypoPG
  • pg_hint_plan
  • PGHero

scaling और storage

  • Cloudflare ने 15 PostgreSQL clusters के साथ प्रति सेकंड 55 million requests कैसे संभाले
  • supabase/supavisor
  • pg-sharding/spqr
  • orioledb.com: PostgreSQL extension जो disk और memory engine के फ़ायदों को जोड़ता है

dashboard और UI

  • Baserow
  • NocoDB
  • AppSmith

data visualization

  • Evidence
  • Metabase

package management

  • pgxman/pgxman
  • supabase/dbdev

language server

  • supabase/postgres_lsp

अन्य

  • Postgres tools की बहुत व्यापक सूची
  • Aurora DSQL में unsupported PostgreSQL features की सूची

बोनस: Supabase को शामिल करने वाली प्रविष्टियों की संख्या

  • 11

1 टिप्पणियां

 
GN⁺ 2024-12-09
Hacker News राय
  • Postgres को हर चीज़ के लिए इस्तेमाल नहीं करना चाहिए, और जब 100 से अधिक इंजीनियरों तक स्केल करना हो, तो तकनीकी नेतृत्व की ज़रूरत होती है जो logical और physical boundaries तय करे ताकि हर यूनिट का अपना Postgres हो
    • कई CTO इस मुश्किल हिस्से को नहीं करते
  • Postgres indexes skip को support नहीं करते, और strings में null character (\u0000) शामिल नहीं किया जा सकता, यह असुविधाजनक है
    • Postgres शानदार है, लेकिन इसमें कुछ अजीब कमियाँ हैं
  • डेटाबेस से generated API को टीम के बाहर के लोगों के सामने expose नहीं करना चाहिए
    • इससे data storage का तरीका बदलने पर पाबंदियाँ लग जाती हैं
    • इस विषय पर पहले भी लिखा था, और राय में ज़्यादा बदलाव नहीं आया है
  • PGQueuer Python के लिए एक lightweight job queue है, जो PostgreSQL पर आधारित है और SKIP LOCKED का उपयोग करके efficient और safe job processing देता है
    • अगर आप पहले से Postgres इस्तेमाल कर रहे हैं और अतिरिक्त infrastructure के बिना Python-native तरीके से background jobs manage करना चाहते हैं, तो PGQueuer पर विचार किया जा सकता है
  • MariaDB/MySQL और PostgreSQL की तुलना में पता चला कि JSON, temporal tables, columns और vector storage जैसी कई extension capabilities मौजूद हैं
    • LISTEN/NOTIFY फीचर की कमी है, लेकिन कई legacy apps में यह इस्तेमाल भी नहीं होता, फिर भी हैरानी की बात है कि यह काफ़ी हद तक बराबरी पर पहुँच रहा है
  • open source BM25 search को PL/pgSQL में उपलब्ध कराया गया है, और यह उन मामलों में उपयोगी है जहाँ Rust extension इस्तेमाल नहीं किया जा सकता
    • pgvector और Reciprocal Rank Fusion का उपयोग करके hybrid search प्रदान करता है
  • यह देखकर खुशी हुई कि "Amazing CTO" के लेख से प्रेरणा मिलने का ज़िक्र किया गया
  • एक ही API के ज़रिए बहुत-सी सुविधाओं तक पहुँचने के कई फ़ायदे हैं
    • message queue के साथ integration करने के बजाय INSERT से इसे आसानी से संभाला जा सकता है
    • vector search भी स्वाभाविक रूप से एक ही database से किया जा सकता है
    • Postgres का उपयोग करके HTML generate करना सवालों के घेरे में है, और यह user interface बनाने के लिए उपयुक्त नहीं लगता
  • Postgres database को self-host करने के तरीकों पर अच्छा material ढूँढ रहा हूँ
    • backups, optimization आदि के लिए best practices जानना चाहता हूँ
  • graph data में Apache Age को integrate करने में 2 हफ़्ते लगाए, लेकिन समझ आया कि project पुराना और उलझा हुआ है
    • DGraph से बेहतर नतीजों की उम्मीद है, लेकिन graph databases अभी अस्थिर स्थिति में हैं