8 पॉइंट द्वारा GN⁺ 2024-07-08 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Pongo, JSONB support का उपयोग करके PostgreSQL को एक document database की तरह इस्तेमाल करता है
    • JSONB, JSON data को binary format में store करता है, जिससे performance और storage efficiency बेहतर होती है
  • PostgreSQL JSONB का binary format data को पहले से parsed रूप में रखता है, जिससे read और write operations तेज़ हो जाते हैं
    • JSONB, GIN और GiST indexes जैसे advanced indexing options को support करता है, जिससे search speed बेहतर होती है
    • JSONB, semi-structured data को store करते हुए PostgreSQL की मजबूत query capabilities का उपयोग करने देता है
  • क्या Pongo एक ORM है?
    • नहीं। इसका फोकस document data की विशेषताओं को प्रभावी ढंग से संभालने पर है
    • Node.js ORM JSONB को handle कर सकते हैं, लेकिन advanced queries में JSONPath या JSONB functions का उपयोग करना पड़ता है
    • Pongo यह काम अपने आप कर देता है
  • क्या यह production-ready है?
    • अभी उपयोग करने के लिए सुरक्षित है, लेकिन MongoDB के साथ 100% compatible नहीं है
    • Pongo एक नया project है, इसलिए कुछ features अभी missing हो सकते हैं
    • यह एक community project है; अगर कोई issue मिले, तो GH issue या Pull Request के ज़रिए support expand करने या test coverage जोड़ने की सिफारिश की जाती है

GN⁺ का सारांश

  • Pongo एक tool है जो PostgreSQL को document database की तरह उपयोग करता है और MongoDB API को PostgreSQL queries में translate करता है
  • यह JSONB के फायदों का उपयोग करके performance और storage efficiency बेहतर करता है
  • यह advanced queries और indexing को support करके flexibility और consistency देता है
  • Pongo एक ORM नहीं है, और इसका फोकस document data की विशेषताओं को प्रभावी ढंग से संभालने पर है
  • यह एक नया project है, इसलिए कुछ features missing हो सकते हैं, लेकिन community contributions के ज़रिए इसे बढ़ाया जा सकता है

1 टिप्पणियां

 
GN⁺ 2024-07-08
Hacker News राय
  • Pongo को NoSQL सेक्शन में जोड़ा गया
  • हाइब्रिड मॉडल सबसे अच्छा विकल्प है। मुख्य फ़ील्ड्स को सामान्य columns के रूप में रखा जाता है, और dynamic data structure को JSONB में बनाए रखा जाता है
  • तकनीकी रूप से यह शानदार है, लेकिन README में एक "क्यों" सेक्शन होना चाहिए। जानना चाहूंगा कि क्या यह Mongo API का इस्तेमाल करना चाहने की वजह से है, या मौजूदा प्रोजेक्ट का कोड कॉपी करना चाहने की वजह से
    • अगर बात दूसरे प्रोजेक्ट की queries को फिर से इस्तेमाल करने की है, तो AI यह काफ़ी अच्छी तरह कर लेता है
  • Mongo से Postgres में प्रोजेक्ट migrate करते समय मैंने इसी तरह का approach इस्तेमाल किया था। performance काफ़ी बेहतर हो गई थी
    • भविष्य के प्रोजेक्ट्स में Mongo के साथ सारी समानता हटाने की योजना है
  • जानना चाहूंगा कि क्या Pongo, Mongoose के साथ compatible है। ज़्यादातर Mongo users, Mongoose का इस्तेमाल करते हैं, इसलिए अगर यह support करे तो ज़्यादा users मिल सकते हैं
  • नवंबर 2023 में मैंने Pongo के बारे में एक मज़ाकिया tweet किया था। यह एक दिलचस्प संयोग है, लेकिन इससे लगेगा कि मैं भविष्य की भविष्यवाणी कर सकता हूँ
  • मैं JSONB columns का काफ़ी इस्तेमाल करता हूँ। यह कुछ खास applications के लिए उपयुक्त है, लेकिन query complexity बढ़ा देता है और relational approach से मिलने वाले query performance improvements के तरीक़े खो देता है
    • JSONB उपयोगी है, लेकिन relational database के फ़ायदों को छोड़ना नहीं चाहिए
  • जानना चाहूंगा कि इसकी तुलना FerretDB से कैसे होती है
  • MongoDB कई सालों से Postgres के serializable isolation के बराबर functionality support करता आया है। समझ नहीं आया कि "मजबूत consistency के फ़ायदे" से क्या मतलब है
  • Oracle database कई सालों से MongoDB-compatible API प्रदान करता आया है