सेवा के बारे में
अनुवादितमैं एक Oracle PL/SQL डेवलपर हूं, और Oracle मेरे लिए कई DBMS में से एक नहीं है बल्कि वह वातावरण है जिसमें मैं हर दिन काम करता हूं। मैं स्टोर की गई प्रक्रियाएं, पैकेज, फ़ंक्शन और ट्रिगर्स लिखता हूं जो वास्तविक व्यावसायिक तर्क ले जाते हैं, और मैं उन्हें इस तरह से डिज़ाइन करता हूं कि कोड पढ़ने, परीक्षण करने और महीनों बाद सुरक्षित रूप से बदलने में आसान हो। जब एक रिपोर्ट को लाखों पंक्तियों का सामंजस्य बिठाना होता है, जब एक रात का बैच सुबह की विंडो से पहले पूरा होना चाहिए, और एक प्रक्रिया एक लेखा प्रक्रिया के दिल में बैठती है, तो मैं चाहता हूं कि वह कोड पहले सही हो, फिर तेज़—और मैं इसे तेज़ भी बनाता हूं। बाइंड वेरिएबल्स, BULK COLLECT और FORALL, कर्सर, संग्रह, और विश्लेषणात्मक फ़ंक्शंस के साथ, मैं एक बैकएंड इंजीनियर की तरह आत्मविश्वास से काम करता हूं, तर्क को डेटा के करीब रखते हुए बजाय इसके कि विशाल परिणाम सेट को नेटवर्क के पार खींचा जाए।
मेरे काम का अधिकांश हिस्सा प्रदर्शन है। मैं निष्पादन योजनाओं को पढ़ता हूं, देखता हूं कि ऑप्टिमाइज़र कहाँ गलत गया, और इसे इंडेक्स, फिर से लिखे गए जॉइन, विभाजन, या संकेतों के साथ ठीक करता हूं जब संकेत वास्तव में उचित होते हैं। AWR और ट्रेस से मैं उस सटीक क्वेरी को ढूंढता हूं जो वास्तव में सिस्टम को धीमा कर देती है, अनुमान नहीं लगाता, और मैं शांतिपूर्वक सरल शब्दों में समझाता हूं कि यह क्यों धीमा था और क्या बदला। ट्यूनिंग के अलावा, मैं Oracle पर सीधे ETL पाइपलाइनों और रिपोर्टिंग परतों का निर्माण करता हूं: स्रोत डेटा को लोड और साफ करना, व्यावसायिक नियम लागू करना, स्थिर तालिकाएं और दृश्य जो BI और अनुप्रयोगों पर भरोसा कर सकते हैं। मुझे लेनदेन, त्रुटि हैंडलिंग, और लॉगिंग की परवाह है, क्योंकि एक कार्य जो चुपचाप विफल होता है वह एक कार्य से बदतर है जो जोर से विफल होता है।
मैं एक सार्वभौमिक MySQL या Postgres DBA या एक बैकएंड सामान्यज्ञ नहीं हूँ—मैं वह व्यक्ति हूँ जिसके पास लोग आते हैं जब समस्या Oracle और PL/SQL में होती है। अपनी स्कीमा, अपनी समस्या, और अपनी समयसीमा का वर्णन करें—मैं आपको एक ईमानदार अनुमान दूंगा और ऐसा कोड दूंगा जिसे आप मेरे बिना बनाए रख सकें।
— Oracle PL/SQL में स्टोर्ड प्रक्रियाएँ, पैकेज, फ़ंक्शन, और ट्रिगर्स
— SQL क्वेरी लिखना और ऑप्टिमाइज़ करना (निष्पादन योजनाएँ, इंडेक्स, विभाजन)
— बैच प्रोसेसिंग: BULK COLLECT, FORALL, संग्रह, रेफ-कर्सर
— ETL पाइपलाइन्स और डेटा लोडिंग (SQL*Loader, बाहरी तालिकाएँ, स्टेजिंग)
— BI के लिए रिपोर्टिंग क्वेरी, दृश्य, और सामग्री दृश्य
— विरासती PL/SQL कोड का पुनर्गठन और दस्तावेज़ीकरण
मेरे काम का अधिकांश हिस्सा प्रदर्शन है। मैं निष्पादन योजनाओं को पढ़ता हूं, देखता हूं कि ऑप्टिमाइज़र कहाँ गलत गया, और इसे इंडेक्स, फिर से लिखे गए जॉइन, विभाजन, या संकेतों के साथ ठीक करता हूं जब संकेत वास्तव में उचित होते हैं। AWR और ट्रेस से मैं उस सटीक क्वेरी को ढूंढता हूं जो वास्तव में सिस्टम को धीमा कर देती है, अनुमान नहीं लगाता, और मैं शांतिपूर्वक सरल शब्दों में समझाता हूं कि यह क्यों धीमा था और क्या बदला। ट्यूनिंग के अलावा, मैं Oracle पर सीधे ETL पाइपलाइनों और रिपोर्टिंग परतों का निर्माण करता हूं: स्रोत डेटा को लोड और साफ करना, व्यावसायिक नियम लागू करना, स्थिर तालिकाएं और दृश्य जो BI और अनुप्रयोगों पर भरोसा कर सकते हैं। मुझे लेनदेन, त्रुटि हैंडलिंग, और लॉगिंग की परवाह है, क्योंकि एक कार्य जो चुपचाप विफल होता है वह एक कार्य से बदतर है जो जोर से विफल होता है।
मैं एक सार्वभौमिक MySQL या Postgres DBA या एक बैकएंड सामान्यज्ञ नहीं हूँ—मैं वह व्यक्ति हूँ जिसके पास लोग आते हैं जब समस्या Oracle और PL/SQL में होती है। अपनी स्कीमा, अपनी समस्या, और अपनी समयसीमा का वर्णन करें—मैं आपको एक ईमानदार अनुमान दूंगा और ऐसा कोड दूंगा जिसे आप मेरे बिना बनाए रख सकें।
— Oracle PL/SQL में स्टोर्ड प्रक्रियाएँ, पैकेज, फ़ंक्शन, और ट्रिगर्स
— SQL क्वेरी लिखना और ऑप्टिमाइज़ करना (निष्पादन योजनाएँ, इंडेक्स, विभाजन)
— बैच प्रोसेसिंग: BULK COLLECT, FORALL, संग्रह, रेफ-कर्सर
— ETL पाइपलाइन्स और डेटा लोडिंग (SQL*Loader, बाहरी तालिकाएँ, स्टेजिंग)
— BI के लिए रिपोर्टिंग क्वेरी, दृश्य, और सामग्री दृश्य
— विरासती PL/SQL कोड का पुनर्गठन और दस्तावेज़ीकरण