नमस्ते, हदा न्यूज़ के पाठकों, हमें Neosync लॉन्च करते हुए खुशी हो रही है!

Neosync एक open source प्लेटफ़ॉर्म है जो डेवलपर्स को privacy या security जोखिम के बिना local testing, debugging, और developer experience को बेहतर बनाने के लिए production data के anonymized और synthetic versions बनाने में मदद करता है.

ज़्यादातर डेवलपर्स और टीमों के पास local और staging databases के लिए कुछ mock data बनाने वाली database seed scripts होती हैं. डेवलपर्स से हमें जो समस्या सुनने को मिली, वह यह थी कि local में features ठीक से काम करते दिखते हैं, लेकिन seed data production data का प्रतिनिधित्व नहीं करता, इसलिए production में bugs और edge cases सामने आते हैं. दूसरी समस्या यह थी कि production में errors को debug करते समय production-जैसा data पाने का कोई अच्छा तरीका नहीं था.

production data को सीधे इस्तेमाल करने से ये समस्याएँ हल हो सकती हैं, लेकिन ज़्यादातर टीमें 1. privacy/security concerns और 2. scale की वजह से ऐसा नहीं कर सकतीं.

इसीलिए हमने Neosync के साथ इन दोनों समस्याओं को हल करने का लक्ष्य रखा.

हम anonymization और synthetic data का उपयोग करके privacy और security की समस्याएँ हल करते हैं. 40 से अधिक prebuilt transformers (या आप इन्हें code में खुद भी लिख सकते हैं) का उपयोग करके आप PII या sensitive data को anonymize कर सकते हैं ताकि उसे local में सुरक्षित रूप से इस्तेमाल किया जा सके. इसके अलावा, data को anonymize करने के बजाय आप शुरुआत से ऐसा synthetic data भी बना सकते हैं जो production data जैसा दिखे, और यह आपके database की मौजूदा schema के अनुसार ढल जाता है.

दूसरी समस्या scale की है. कुछ production databases इतने बड़े होते हैं कि वे local में फिट नहीं होते, या उनमें ज़रूरत से ज़्यादा data होता है. इसके अलावा, कभी-कभी आप किसी खास customer के data को debug करना चाहते हैं और उसके data को ही filter करने का तरीका चाहिए होता है. हम इसे subsetting के जरिए हल करते हैं. tables को filter करने के लिए SQL query दें, और Neosync बाकी सारा जटिल काम संभाल लेता है.

Neosync की मुख्य ताकत referential integrity को संभालने की क्षमता है. जब relational databases के साथ काम किया जाता है, तो primary keys, foreign keys, unique constraints, table के भीतर और tables के बीच circular dependencies, sequences आदि जैसी चीज़ें होती हैं.

इसलिए चाहे आप data को anonymize कर रहे हों या synthetic data बना रहे हों, उन constraints और relationships को सुरक्षित रखने का तरीका होना ज़रूरी है, वरना schema टूट जाएगी.

Neosync इसे पारदर्शी तरीके से संभालता है. अगर constraints से जुड़ी कोई समस्या आती है, जैसे foreign key टूटना, mapping की ज़रूरत वाले नए columns, non-null foreign keys आदि, तो यह आपको बताता है ताकि आप कार्रवाई कर सकें और उसे ठीक कर सकें.

यह इस तरह काम करता है:

  1. source और target databases को connect करें.

  2. job type को define करें और तय करें कि उसे schedule के अनुसार चलाना है या नहीं. sync jobs source से target तक data को sync करती हैं, और data generation jobs शुरुआत से synthetic data बनाकर उसे target तक stream करती हैं.

  3. उन schemas और tables को define करें जिन्हें sync और transform करना है. column level पर data को anonymize करने या synthetic data बनाने का तरीका तय करने के लिए transformers चुनें, या AI-generated synthetic data का उपयोग करके target database के लिए data तैयार करें.

  4. अंत में, आप subset define कर सकते हैं. यह target को भेजे जाने वाले data को filter करने का तरीका है. इसके लिए आप custom SQL queries या filters दे सकते हैं.

बस इतना ही! jobs आपके सेट किए गए schedule के अनुसार चलेंगी. हम पूरे database में retries, backoff, और referential integrity को संभालते हैं. साथ ही हम API, CLI, और Github actions भी देते हैं, ताकि आप CI pipeline में CI database को भरने के लिए Neosync का उपयोग कर सकें.

Neosync एक open source project है जो Go और Typescript में लिखा गया है, और इसे Helm या Docker compose के साथ चलाया जा सकता है. हम एक hosted platform भी प्रदान करते हैं, और आप एक उदार free tier का उपयोग कर सकते हैं.

हम आपके feedback का इंतज़ार कर रहे हैं, और योगदान हमेशा स्वागतयोग्य है.

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.