समय-समय पर आंकड़ों से जुड़ी सेवाओं के रखरखाव के टास्क

Apigee Analytics Services के कई टास्क, स्टैंडर्ड Postgres सुविधाओं का इस्तेमाल करके पूरे किए जा सकते हैं. Analytics डेटाबेस पर, रखरखाव के लिए किए जाने वाले सामान्य काम, PostgreSQL डेटाबेस पर किए जाने वाले कामों जैसे ही होते हैं. जैसे, VACUUM का इस्तेमाल करके डेटाबेस को फिर से व्यवस्थित करना, फिर से इंडेक्स करना, और लॉग फ़ाइल को मैनेज करना. Postgres के सामान्य रखरखाव के बारे में जानकारी, http://www.postgresql.org/docs/9.1/static/maintenance.html पर देखी जा सकती है.

PostgreSQL डेटाबेस को मैनेज करने के बारे में ज़्यादा जानने के लिए, http://www.postgresql.org/docs/9.1/static/maintenance.html पर जाएं.

Analytics डेटा को छोटा करना

Apigee रिपॉज़िटरी में उपलब्ध आंकड़ों के डेटा की संख्या बढ़ने के साथ, आपको अपने डेटा को "छोटा करना" पड़ सकता है. ऐसा तब करना पड़ता है, जब डेटा को ज़रूरत से ज़्यादा समय तक सेव नहीं रखना हो. किसी खास संगठन और एनवायरमेंट के लिए डेटा हटाने के लिए, यह कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge org_name env_name number_of_days_to_retain

स्क्रिप्ट चलाने के लिए, यह कमांड डालें:

/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge org_name env_name number_of_days_to_retain [Delete-from-parent-fact - N/Y] [Confirm-delete-from-parent-fact - N/Y]

स्क्रिप्ट में ये विकल्प होते हैं:

  • Delete-from-parent-fact डिफ़ॉल्ट : नहीं. इससे पैरंट फ़ैक्ट टेबल से, सेव रखने की अवधि से ज़्यादा पुराना डेटा भी मिट जाएगा.
  • Skip-confirmation-prompt. डिफ़ॉल्ट: नहीं. अगर नहीं, तो पैरंट फ़ैक्ट से डेटा मिटाने से पहले, स्क्रिप्ट पुष्टि करने के लिए कहेगी. अगर डेटा मिटाने की स्क्रिप्ट अपने-आप चलती है, तो 'हां' पर सेट करें.

यह कमांड, "analytics" स्कीमा में "childfactables" टेबल से पूछताछ करता है, ताकि यह पता लगाया जा सके कि किन रॉ डेटा पार्टिशन में वे तारीखें शामिल हैं जिनके लिए डेटा को छोटा करना है. इसके बाद, वह उन टेबल को हटा देता है. टेबल हटाने के बाद, उन सेगमेंट से जुड़ी "चाइल्डफ़ैक्टेबल" में मौजूद एंट्री मिट जाती हैं.

चाइल्डफ़ैक्टेबल, हर दिन के फ़ैक्ट डेटा को अलग-अलग हिस्सों में बांटते हैं. हर दिन नए पार्टीशन बनाए जाते हैं और डेटा, हर दिन के हिसाब से बंटे हुए पार्टीशन वाली टेबल में डाला जाता है. इसलिए, बाद में जब पुराने फ़ैक्ट का डेटा ज़रूरी नहीं होगा, तो उससे जुड़े चाइल्ड फ़ैक्टेबल को मिटाया जा सकता है.

स्क्रिप्ट के 4.51.00.00 वर्शन से, ये विकल्प उपलब्ध हैं:

  • Delete-from-parent-fact डिफ़ॉल्ट : नहीं. इससे पैरंट फ़ैक्ट टेबल से, सेव रखने की तय अवधि से पुराना डेटा भी मिट जाएगा.
  • Confirm-delete-from-parent-fact. डिफ़ॉल्ट: नहीं. अगर नहीं, तो पैरंट फ़ैक्ट से डेटा मिटाने से पहले, स्क्रिप्ट पुष्टि करने के लिए कहेगी. अगर डेटा मिटाने की स्क्रिप्ट अपने-आप चलती है, तो 'हां' पर सेट करें.

एग्रीगेट टेबल का डेटा मिटाना

आम तौर पर, एग्रीगेट टेबल उतना स्टोरेज नहीं लेतीं जितना फ़ैक्ट टेबल लेती हैं. हालांकि, अगर आपको एग्रीगेट टेबल से पुराना डेटा मिटाना है, तो यह कमांड चलाएं:

/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql agg-data-purge org_name env_name days_to_retain [confirm_data_deletion-Y/N]

यहां confirm_data_deletion एक वैकल्पिक पैरामीटर है, जो पुष्टि करने के लिए प्रॉम्प्ट करता है. डिफ़ॉल्ट वैल्यू N है.