हम परियोजना पर काम जारी रखने के लिए आवश्यक दूसरी प्रति के निर्माण पर विचार करेंगे। लेख डेवलपर्स के उद्देश्य से है जो सिर्फ गुणवत्ता प्रबंधन के कांटेदार पथ में प्रवेश कर रहे हैं। और यह उन लोगों के लिए बेकार है जो पहले से ही जानते हैं कि "दूसरी प्रति" वास्तव में काफी दूसरी नहीं है, और काफी प्रतिलिपि नहीं है।
फूट डालो और जीतो
सूचना प्रणाली के लिए उद्योग 3-4 स्वतंत्र वातावरण की सिफारिश करता है। उपर्युक्त कार्यकर्ता के अलावा, ये वातावरण हैं: विकास (विकास), परीक्षण (परीक्षण) और सिमुलेशन (मंचन)।
चूंकि प्रत्येक पर्यावरण की तैनाती और रखरखाव प्रत्यक्ष लागत हैं, इसलिए उनका आवेदन परियोजना की बारीकियों द्वारा निर्धारित किया जाता है। काम के माहौल में त्रुटि की लागत जितनी अधिक होती है, विकास प्रक्रिया में अधिक वातावरण शामिल होते हैं। और इसके विपरीत। अंतिम दो को एक परीक्षण वातावरण द्वारा प्रतिस्थापित किया जा सकता है, यदि प्रक्रिया अलग-अलग स्वीकृति परीक्षणों या प्रदर्शनों के लिए प्रदान नहीं करती है। इसी तरह, तीनों एक ही विकास के वातावरण हो सकते हैं यदि प्रक्रिया में प्रतिगमन परीक्षण या निरंतर एकीकरण शामिल नहीं है। सीमा में, तीनों का अस्तित्व बिल्कुल नहीं हो सकता है। उदाहरण के लिए, किसी अज्ञात कंपनी के स्थिर व्यवसाय कार्ड साइट के लिए, जिसे ftp द्वारा अपडेट किया गया है।
कार्यक्षमता और त्रुटि सुधार के साथ खेल के अलावा, स्वतंत्र वातावरण की उपस्थिति आपको प्रोजेक्ट टीम को स्केल करने की अनुमति देती है। जब एक प्रोग्रामर प्रोग्राम करता है और एक एडमिनिस्ट्रेटर प्रशासन करता है, तो यह अच्छा है। इसे कर्तव्यों का पृथक्करण कहा जाता है। यह डेवलपर को विकास परिवेश, और परीक्षक को परीक्षण वातावरण में लॉक करने की सिफारिश की जाती है। यह माना जाता है कि इस तरह के एक संगठनात्मक और तकनीकी दृष्टिकोण परिचालन जोखिम (परिचालन जोखिम) को कम करता है, इसलिए, सूचना प्रणालियों के बहुत खुश मालिक हैं।
तो दूसरी प्रति के साथ क्या हो रहा है? इसे प्राप्त करने का सबसे आसान और स्पष्ट तरीका बैकअप कॉपी करना है। और इससे पहले से ही कोई भी अतिरिक्त वातावरण जहां आवश्यक हो उठाएं।
आप इसे नहीं ले सकते
और कार्यशील वातावरण से विकास या परीक्षण वातावरण तक डेटाबेस की प्रतिलिपि बनाएँ।
तथ्य यह है कि वर्तमान में, सूचना प्रणालियों का महत्वपूर्ण जोखिम गैर-सार्वजनिक डेटा का रिसाव है। उदाहरण के लिए, वेरिज़ोन की 2013 की डेटा ब्रीच जांच रिपोर्ट के अनुसार, 47,000 घटनाओं में से, 69% डेटा लीक का पता तीसरे पक्ष ने लगाया। अर्थात्, हमारे ग्राहकों सहित तृतीय पक्षों द्वारा एक डेटा लीक का कहीं न कहीं पता लगाया जाता है। और अंदरूनी कर्मचारियों के आधे से अधिक मामले पूर्व कर्मचारियों में होते हैं जो अपने भूल गए सक्रिय खातों या बैकडोर का उपयोग करते थे।
नतीजतन, काम के माहौल तक सीधी पहुंच केवल उन लोगों के लिए होनी चाहिए जो इसके साथ सीधे काम करते हैं। उदाहरण के लिए, एक डेटाबेस व्यवस्थापक। लेकिन कंपनी के सभी प्रोग्रामर "क्योंकि यह किसी भी तरह से शुरू करना आसान नहीं है"। हां, अनुबंध में गैर-प्रकटीकरण समझौता (एनडीए) एक अच्छा निवारक उपाय है। लेकिन केवल संगठनात्मक, और इसलिए अपर्याप्त। संगठनात्मक उपायों को तकनीकी नियंत्रण द्वारा समर्थित किया जाना चाहिए।
डेटा बनाए रखना अधिक महंगा हो जाता है।
उन पर अधिक से अधिक सुरक्षा आवश्यकताओं को लगाया जाता है। स्वैच्छिक अनुपालन से (उदाहरण के लिए, ISO27K मानकों) एक स्थानीय नियामक द्वारा प्रमाणीकरण के लिए (यूरोपीय संघ में यह डेटा संरक्षण का कार्यालय है)। हां, अंत में, यह सब गैर-सार्वजनिक डेटा रिसाव से कंपनी को नुकसान को कम करने के लिए आता है। इसके अलावा, लोगों के बारे में डेटा की सुरक्षा ने पहले ही व्यापार रहस्यों की सुरक्षा का निरीक्षण कर लिया है। और क्लाउड स्टोरेज के उपयोग का पता नहीं है कि उनका रखरखाव कहां और किसी के द्वारा अज्ञात है, यह केवल तीक्ष्णता की समस्या को जोड़ता है।
काम के माहौल के बाहर डेटा की सुरक्षा का मानक अभ्यास इसे (सैनिटाइजेशन) नाम देना है। संरक्षित किए जाने वाले डेटा को प्रकार द्वारा समूहीकृत किया जाता है। उदाहरण के लिए, बैंक खाता संख्या, जन्म तिथि, अंतिम नाम, कूटशब्द। फिर उनमें से एक अज्ञात तकनीक उन पर लागू होती है - पूर्ण या आंशिक मास्किंग, सफाई, फेरबदल, स्पूफिंग, एन्क्रिप्शन या रोहिंग। हम उन्हें यहां नहीं मानेंगे, यह एक अलग लेख का विषय है। एक बोनस के रूप में, यदि आप एक बार खातों के गुमनामी को लिखते हैं, तो नमूना खाता डेटा पर ध्यान दें। देश द्वारा मान्य और अमान्य दोनों बैंक डेटा हैं।
डेटा बड़ा होता है
मैनुअल परीक्षण आधार परिनियोजन विधि है:
- परीक्षण सर्वर पर काम करने वाले आधार के डंप की नकल करना;
- एक डेटाबेस को बहाल करने से;
- गुमनामी स्क्रिप्ट का निष्पादन।
"स्वच्छ" डेटाबेस को आगे, विकास के माहौल में या बाहर स्थानांतरित करने के लिए, एक बैकअप प्रतिलिपि बनाई जाती है।
इस दृष्टिकोण के फायदे स्पष्ट हैं: कम मात्रा में उच्च गति और संबंधपरक आउटपुट डेटा की स्थिरता। लेकिन ऐसे नुकसान भी हैं, जो दसियों गीगाबाइट से आयतन पर पूर्ण रूप से प्रकट होते हैं:
- एक मध्यवर्ती डंप फ़ाइल का उपयोग किया जाता है जो नेटवर्क पर प्रसारित होता है।
- एक पूर्ण प्रति आमतौर पर विकास या परीक्षण प्रयोजनों के लिए बेमानी है;
- गुमनामी से पहले, डेटा डंप फ़ाइल और डेटाबेस से दोनों के रिसाव के अधीन है;
- गुमनामी स्क्रिप्ट एक अलग तत्व है, एक त्रुटि के मामले में, डेटा समान रहता है।
निर्णय
जावा परीक्षा की तैयारी में, MySQL के लिए org.crystalcopy उपयोगिता को लिखा गया था, इन कमियों और लाभों से रहित।
उपयोगिता तालिका, रिकॉर्ड, ट्रिगर, संग्रहीत कार्यविधियाँ, अनुक्रमित और विदेशी कुंजी का समर्थन करती है। के लिए उपयुक्त:
- किसी अन्य डेटाबेस या फ़ाइल के लिए डेटाबेस की आंशिक प्रतिलिपि;
- किसी अन्य डेटाबेस या फ़ाइल के लिए डेटाबेस की पूरी प्रतिलिपि;
- केवल डेटाबेस स्कीमा को दूसरे डेटाबेस या फ़ाइल में कॉपी करना;
- नेटवर्क पर डेटा स्थानांतरित किए बिना एसक्यूएल का उपयोग करके एनोनाइजेशन।
आंशिक नकल के साथ, खेतों के बीच संबंध संबंध संरक्षित हैं, लेकिन सभी रिकॉर्ड की स्थिरता की गारंटी नहीं है। मेरी मशीन पर एक डेटाबेस से दूसरे में पूर्ण प्रतिलिपि बनाने की गति लगभग 2GB प्रति घंटा है। उपयोगिता को कमांड लाइन से लॉन्च किया गया है, इसे निरंतर एकीकरण बिल्ड में एकीकृत किया जा सकता है। एक गैर-व्यावसायिक लाइसेंस के तहत इंटरनेट पर उपलब्ध है।
स्थिति बीटा है। इसलिए मुझे आपकी प्रतिक्रिया प्राप्त करने में खुशी होगी!