2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
SQL क्रमेण निष्पादयितुं Server लेयरस्य कृते पदानि सन्ति :
क्लायन्ट् अनुरोध -> कनेक्टर् (उपयोक्तृपरिचयं सत्यापयन्तु तथा अनुमतिः अनुदानं कुर्वन्तु) क्वेरी कैश (यदि कैशः अस्ति तर्हि प्रत्यक्षतया प्रत्यागच्छतु, यदि नास्ति तर्हि तदनन्तरं कार्यं कुर्वन्तु) विश्लेषकः (SQL इत्यस्य शाब्दिकविश्लेषणं वाक्यविन्यासविश्लेषणं च कुर्वन्तु) अनुकूलकः (मुख्यतया निष्पादनं SQL अनुकूलनविधिं कुर्वन्तु चयनार्थं optimal execution plan) Executor (निष्पादनकाले प्रथमं परीक्षते यत् उपयोक्तुः निष्पादनस्य अनुमतिः अस्ति वा, ततः अस्मिन् इञ्जिनेण प्रदत्तस्य अन्तरफलकस्य उपयोगं करिष्यति) -> data return प्राप्तुं इञ्जिनस्तरं प्रति गच्छन्तु (यदि query cache चालू अस्ति, it will Caching प्रश्नपरिणामम्)
Buffer Pool MySQL दत्तांशकोशे InnoDB भण्डारणइञ्जिनस्य महत्त्वपूर्णः भागः अस्ति यस्य उपयोगः मुख्यतया डिस्क I/O संचालनं न्यूनीकर्तुं तथा च आँकडाधारसंसाधनदक्षतां सुधारयितुम् तालिकादत्तांशं अनुक्रमणिकादत्तांशं च संग्रहीतुं भवति Buffer Pool इत्यस्य विस्तृतं विश्लेषणं निम्नलिखितम् अस्ति ।
परिभाषा: Buffer Pool InnoDB भण्डारणइञ्जिन् मध्ये एकः स्मृतिक्षेत्रः अस्ति, यस्य उपयोगः डिस्कस्य प्रत्यक्षप्रवेशं न्यूनीकर्तुं डिस्कमध्ये आँकडापृष्ठानि अनुक्रमणिकापृष्ठानि च संग्रहणार्थं भवति ।
परिणाम: दत्तांशप्रवेशवेगं सुधारयन्तु तथा च कैशिंग् तन्त्रेण डिस्क I/O व्ययस्य न्यूनीकरणं कुर्वन्तु।
रचना : Buffer Pool इत्यस्मिन् संग्रहीतदत्तांशपृष्ठानि (Page) तत्सम्बद्धानि नियन्त्रणखण्डानि च सन्ति । नियन्त्रणखण्डः सञ्चयपृष्ठस्य मेटाडाटासूचनाः संगृह्णाति, यथा यस्य सारणीस्थानस्य सः अन्तर्भवति, दत्तांशपृष्ठसङ्ख्या, बफरपूले संग्रहपृष्ठस्य पता इत्यादयः
पूर्वनिर्धारित आकारः: MySQL मध्ये Buffer Pool इत्यस्य पूर्वनिर्धारित आकारः प्रायः 128MB भवति (किन्तु कृपया ध्यानं कुर्वन्तु यत् MySQL इत्यस्य भिन्नाः संस्करणाः अथवा भिन्नाः विन्यासाः पूर्वनिर्धारित आकारस्य भिन्नतां जनयितुं शक्नुवन्ति) ।
विन्यासमापदण्डाः:उत्तीर्णःinnodb_buffer_pool_size
पैरामीटर्स् Buffer Pool इत्यस्य आकारं विन्यस्तुं शक्नुवन्ति सामान्यतया सिस्टम् मेमोरी इत्यस्य 60%-80% इति सेट् कर्तुं अनुशंसितम् ।
स्मृतिविनियोगः: Buffer Pool इति निरन्तरस्मृतिस्थानं यदा MySQL किञ्चित्कालं यावत् चाल्यते तदा अस्मिन् स्मृतिस्थाने मुक्तसञ्चयपृष्ठानि प्रयुक्तानि च संग्रहणपृष्ठानि च भविष्यन्ति ।
प्रकारः
: बफर पूल् मध्ये आँकडा पृष्ठानि तेषां स्थितिनुसारं त्रयः प्रकाराः विभक्तुं शक्यन्ते : Free Page, Clean Page तथा Dirty Page इति ।
मुक्तपृष्ठानि : सञ्चयपृष्ठानि येषां उपयोगः न भवति ।
पृष्ठं स्वच्छं कुर्वन्तु : एकं संग्रहपृष्ठं यस्य उपयोगः कृतः परन्तु दत्तांशः परिवर्तितः नास्ति ।
मलिनपृष्ठम् : एकं संग्रहपृष्ठं यस्य उपयोगः कृतः अस्ति तथा च दत्तांशः परिवर्तितः अस्ति, तस्य दत्तांशः च डिस्कस्थदत्तांशैः सह असङ्गतः अस्ति ।
प्रबंधनं
: InnoDB एतानि कैशे पृष्ठानि त्रयाणां लिङ्क्ड् सूचीसंरचनानां माध्यमेन प्रबन्धयति:
मुक्तलिङ्क् कृतसूची: मुक्तपृष्ठानां प्रबन्धनं करोति तथा च मुक्तसञ्चयपृष्ठानां नियन्त्रणखण्डसूचना अभिलेखयति ।
LRU लिङ्क्ड् सूची: स्वच्छपृष्ठानि गन्दानि च पृष्ठानि प्रबन्धयति, उन्नतं LRU एल्गोरिदम् उपयुज्यते, तथा च कैश हिट् दरं अनुकूलितुं युवाक्षेत्रेषु पुरातनक्षेत्रेषु च विभक्तं भवति
Flush linked list: मलिनपृष्ठानि प्रबन्धयति येषां डिस्कं प्रति फ्लश करणीयम् अस्ति, परिवर्तनसमयेन क्रमबद्धम् ।
दत्तांशप्रवेशः : यदा दत्तांशपृष्ठं अभिगन्तुं आवश्यकं भवति तदा InnoDB प्रथमं पृष्ठं Buffer Pool मध्ये पूर्वमेव अस्ति वा इति परीक्षयिष्यति । यदि पूर्वमेव अस्ति तर्हि पृष्ठस्य प्रत्यक्षं उपयोगः भवति यदि नास्ति तर्हि पृष्ठं डिस्कतः Buffer Pool मध्ये पठ्यते तथा च तत्सम्बद्धा लिङ्क् कृतसूची अद्यतनं भवति ।
Data Update: यदा दत्तांशपृष्ठं परिवर्तितं भवति तदा पृष्ठं मलिनपृष्ठरूपेण चिह्नितं भविष्यति तथा च पृष्ठभूमिसूत्रेण डिस्कं प्रति प्रवाहयितुं प्रतीक्षितुं Flush लिङ्क्ड् सूचीयां योजितुं शक्यते
cache निष्कासनम्: यदा Buffer Pool स्थानं अपर्याप्तं भवति तदा LRU एल्गोरिदम् अनुसारं न्यूनतमं सद्यः प्रयुक्तं cache पृष्ठं समाप्तं भविष्यति ।
आकारं समुचितरूपेण सेट् कुर्वन्तु: सिस्टम् मेमोरी तथा डाटाबेस् लोड कंडीशन्स् इत्येतयोः आधारेण उचितसेटिंग्स्innodb_buffer_pool_size
पैरामीटर्।
निरीक्षणं समायोजनं च कुर्वन्तु: बफर पूलस्य उपयोगस्य कार्यप्रदर्शनसूचकानां च नियमितरूपेण निरीक्षणं कुर्वन्तु तथा आवश्यकतानुसारं समायोजनं कुर्वन्तु।
पूर्ण टेबल स्कैन् परिहरन्तु: पूर्णसारणीस्कैन् इत्यस्य कारणेन Buffer Pool इत्यस्मिन् बृहत्संख्यायां आँकडापृष्ठानि लोड् भवन्ति, येन cache hit rate न्यूनीकरोति ।
सारांशतः, Buffer Pool MySQL दत्तांशकोशे InnoDB भण्डारणइञ्जिनस्य प्रमुखघटकेषु अन्यतमः अस्ति उचितविन्यासस्य प्रबन्धनस्य च माध्यमेन दत्तांशकोशस्य कार्यक्षमतायां कार्यक्षमतायां च महत्त्वपूर्णतया सुधारः कर्तुं शक्यते
MySQL प्रक्रियायां क्लायन्ट् तथा MySQL सर्वरयोः मध्ये संयोजनात् आरभ्य SQL कथनानां निष्पादनं, अनुकूलनं, आँकडा पठनं, परिणामानां प्रत्यागमनं च यावत् बहुविधाः लिङ्काः सन्ति MySQL प्रक्रियायाः विस्तृतं अवलोकनं निम्नलिखितम् अस्ति ।
संयोजकः (संयोजनप्रबन्धकः): १.
यदा क्लायन्ट् (यथा अनुप्रयोगः अथवा आदेशपङ्क्तिसाधनम्) MySQL सर्वरेण सह संयोजनस्य अनुरोधं करोति तदा MySQL इत्यस्य संयोजकः एतेषां संयोजनानुरोधानाम् निबन्धनस्य उत्तरदायी भवति ।
संयोजकः क्लायन्ट्-परिचयं अनुमतिं च सत्यापयति, यस्मिन् सामान्यतया उपयोक्तृनाम गुप्तशब्दश्च मेलनं करोति इति जाँचः अन्तर्भवति ।
यदि सत्यापनम् सफलं भवति तर्हि संयोजकः अनन्तरं SQL-सञ्चालनानां कृते क्लायन्ट्-कृते एकं थ्रेड् (अथवा सत्रं) आवंटयिष्यति ।
Query Cache (Query Cache, नोट्: MySQL 8.0 इत्यस्मिन् एतत् मॉड्यूल् निष्कासितम् अस्ति):
SELECT प्रश्नानां कृते MySQL प्रथमं परीक्षते यत् प्रश्नसङ्ग्रहे समानः प्रश्नः तस्य परिणामाः च सन्ति वा इति ।
यदि वर्तते तर्हि MySQL प्रत्यक्षतया कैशे मध्ये परिणामान् प्रत्यागमिष्यति, अतः वास्तविकं प्रश्नक्रियां कर्तुं परिहरति ।
परन्तु यतः क्वेरी कैशिंग् इत्यनेन दत्तांशस्य असङ्गतिः भवितुम् अर्हति (उदाहरणार्थं, कैश कृता दत्तांशः अन्यैः व्यवहारैः परिवर्तितः भवितुम् अर्हति), MySQL 8.0 इत्यस्मिन् क्वेरी कैशिंग् कार्यं निष्कासितम् अस्ति
पार्सरः : १.
क्लायन्ट् द्वारा प्रेषितं SQL स्टेट्मेण्ट् प्रथमं पार्सर् प्रति प्रेष्यते ।
पार्सरस्य कार्यं SQL कथनस्य विश्लेषणं, तस्य वाक्यविन्यासः सम्यक् अस्ति वा इति जाँचः, आन्तरिकदत्तांशसंरचनायां (यथा पार्सवृक्षः अथवा वाक्यविन्यासवृक्षः) परिवर्तयितुं च भवति
यदि SQL कथने वाक्यविन्यासदोषः अस्ति तर्हि पार्सरः क्लायन्ट् प्रति त्रुटिसूचनाः प्रत्यागमिष्यति ।
पूर्वसंसाधकः : १.
केषुचित् MySQL संस्करणेषु अथवा केषुचित् विशिष्टेषु परिदृश्येषु पूर्वसंसाधकपदं भवितुम् अर्हति ।
पूर्वसंसाधकः मुख्यतया SQL कथनानां अग्रे संसाधनस्य उत्तरदायी भवति, यथा सारणी वा क्षेत्रं वा अस्ति वा इति जाँचः, SELECT कथने * विस्तारः सारणीयां सर्वेषु स्तम्भेषु इत्यादयः
अनुकूलकः : १.
अनुकूलकः SQL कथनानां कृते भिन्नानां निष्पादनयोजनानां मूल्याङ्कनं कृत्वा इष्टतमनिष्पादनयोजनायाः चयनस्य उत्तरदायी भवति ।
अनुकूलकः विविधकारकाणां विचारं करोति, यथा उपलब्धसूचकाङ्काः, जॉन् पद्धतेः कार्यक्षमता, प्रश्नस्य व्ययः इत्यादयः ।
अनुकूलकः अनुक्रमणिकानां उपयोगः, प्रश्नानां पुनर्क्रमणं, अथवा प्रश्नानां विलयनम् इत्यादीनां कार्याणां माध्यमेन प्रश्नप्रदर्शने महत्त्वपूर्णतया सुधारं कर्तुं शक्नोति ।
निष्पादकः : १.
निष्पादकः अनुकूलकेन उत्पन्नस्य निष्पादनयोजनायाः आधारेण वास्तविकप्रश्नक्रियाः करोति ।
निष्पादकः दत्तांशसारणीयां दत्तांशं पठितुं भण्डारणइञ्जिनस्य (यथा InnoDB) अन्तरफलकं आह्वयति तथा च क्रमणं, समुच्चयः, छाननं च इत्यादीनि कार्याणि करिष्यति
अन्ते निष्पादकः प्रश्नपरिणामान् क्लायन्ट् प्रति प्रत्यागच्छति ।
भण्डारण इञ्जिन : १.
MySQL बहुविधभण्डारणइञ्जिनं समर्थयति, तथा च प्रत्येकस्य भण्डारणयन्त्रस्य स्वकीयाः विशिष्टाः आँकडाभण्डारण-पुनर्प्राप्तिविधयः सन्ति ।
InnoDB MySQL इत्यस्य पूर्वनिर्धारितभण्डारणइञ्जिनेषु अन्यतमम् अस्ति तथा च लेनदेनप्रक्रियाकरणं, पङ्क्तिस्तरस्य तालाबन्दी, विदेशीयकुञ्जी इत्यादीनां उन्नतदत्तांशकोशविशेषतानां समर्थनं करोति ।
यदा निष्पादकः भण्डारणयन्त्रस्य अन्तरफलकं आह्वयति तदा भण्डारणयन्त्रस्य दायित्वं भवति यत् सः डिस्कतः दत्तांशं पठति अथवा डिस्कं प्रति दत्तांशं लिखति ।
बफर पूलः .
InnoDB भण्डारण इञ्जिन् सारणीदत्तांशं संग्रहणार्थं Buffer Pool इत्यस्य उपयोगं करोति तथा च डिस्कं प्रति प्रत्यक्षप्रवेशं न्यूनीकर्तुं अनुक्रमणिकादत्तांशस्य उपयोगं करोति ।
बफर पूल् मध्ये आँकडा पृष्ठानि अभिगम आवृत्तिः परिवर्तनस्य स्थितिः च आधारीकृत्य प्रबन्ध्यन्ते येन कैश हिट् दरं प्रश्नप्रदर्शनं च सुदृढं भवति ।
व्यवहारः : १.
MySQL लेनदेनप्रक्रियाकरणस्य समर्थनं करोति, यत् समग्ररूपेण बहुविधं कार्यं प्रतिबद्धं वा पुनः रोल कर्तुं वा अनुमतिं ददाति ।
लेनदेननिष्पादनस्य समये MySQL आवश्यकं लॉग् सूचनां (यथा redo log and undo log) अभिलेखयिष्यति यत् आँकडा अखण्डतां स्थिरतां च सुनिश्चितं करोति ।
यदि लेनदेननिष्पादनं सफलं भवति तर्हि सर्वाणि परिवर्तनानि स्थायिरूपेण दत्तांशकोशे रक्षिताः भविष्यन्ति यदि व्यवहारनिष्पादनं विफलं भवति तर्हि भवन्तः रोल्बैक् क्रियां कर्तुं पूर्ववतवृत्तलेखस्य उपयोगं कर्तुं शक्नुवन्ति तथा च लेनदेनस्य आरम्भात् पूर्वं दत्तांशं राज्ये पुनःस्थापयितुं शक्नुवन्ति
MySQL इत्यस्य प्रक्रियायां संयोजनं प्रमाणीकरणं च, प्रश्नसंसाधनं, आँकडाभण्डारणं पुनर्प्राप्तिः च, लेनदेनप्रक्रिया च भवति । एतेषु लिङ्केषु प्रत्येकं चरणं अनुकूलितं कृत्वा MySQL-दत्तांशकोशस्य कार्यक्षमतायां विश्वसनीयतायां च महत्त्वपूर्णं सुधारं कर्तुं शक्यते । तत्सह, MySQL इत्यस्य निष्पादनप्रक्रियायाः अवगमनेन तस्य आन्तरिककार्यतन्त्रं अधिकतया अवगन्तुं अपि सहायकं भविष्यति, तस्मात् दत्तांशकोशस्य उत्तमं डिजाइनं अनुकूलनं च भविष्यति
MySQL इत्यस्य संयोजनपूलः एकः प्रौद्योगिकी अस्ति यस्य उपयोगः आँकडाधारसंयोजनानां प्रबन्धनाय पुनः उपयोगाय च भवति एतत् आँकडाधारसञ्चालनस्य कार्यक्षमतां कार्यक्षमतां च सुधारयितुम्, विशेषतः उच्च-समवर्तीवातावरणेषु MySQL connection pool इत्यस्य विषये विस्तृतं व्याख्यानं निम्नलिखितम् अस्ति ।
MySQL संयोजनपूलः कार्यक्रमस्य आरम्भे पर्याप्तसङ्ख्यां दत्तांशकोशसंयोजनानि स्थापयति, तथा च एतानि संयोजनानि एकरूपेण प्रबन्धयति यत् संयोजनपूलं निर्माति । यदा कार्यक्रमस्य दत्तांशकोशं अभिगन्तुं आवश्यकं भवति तदा सः गतिशीलरूपेण संयोजनकुण्डात् संयोजनाय आवेदनं करिष्यति, तथा च उपयोगानन्तरं संयोजनपुलं प्रति संयोजनं प्रत्यागमिष्यति, प्रत्येकस्य कार्यस्य कृते संयोजनं पुनः निर्माय बन्दं कर्तुं न प्रवृत्तः
संसाधनस्य उपभोगं न्यूनीकरोतु : दत्तांशकोशसंयोजनस्य निर्माणं बन्दीकरणं च तुल्यकालिकरूपेण समयग्राही प्रक्रिया भवति, यत्र TCP संयोजनस्य त्रिपक्षीयहस्तप्रहारः चतुर्मार्गीयतरङ्गः च, तथैव दत्तांशकोशप्रमाणीकरणप्रक्रिया च भवति संयोजनसङ्ग्रहस्य माध्यमेन एतेषां ओवरहेड्स् न्यूनीकर्तुं विद्यमानसंयोजनानां पुनः उपयोगः कर्तुं शक्यते ।
कार्यप्रदर्शने सुधारं कुर्वन्तु : उच्च-समवर्ती परिदृश्ये यदि प्रत्येकस्य अनुरोधस्य कृते नूतनं दत्तांशकोशसंयोजनं निर्मितं भवति तर्हि सर्वरस्य कार्यक्षमता महत्त्वपूर्णतया पतति । संयोजनपूलस्य उपयोगेन दत्तांशकोशस्य प्रतिक्रियावेगः, थ्रूपुट् च महत्त्वपूर्णतया सुधारः कर्तुं शक्यते ।
संयोजनस्य लीकं परिहरन्तु : संयोजनपूलस्य उपयोगं विना यदि कार्यक्रमः संयोजनं बन्दं करोति तदा अपवादः भवति तर्हि संयोजनस्य लीकेजं जनयितुं शक्नोति अर्थात् संयोजनं सम्यक् न बन्दं न भवति तथा च प्रणालीसंसाधनं गृह्णाति संयोजनकुण्डः समयसमाप्तिपुनःप्रयोगतन्त्रस्य माध्यमेन एतां स्थितिं परिहरितुं शक्नोति ।
आरम्भीकरणम्: यदा कार्यक्रमः आरभ्यते तदा संयोजनपूलः विन्यासानुसारं निश्चितसङ्ख्यायां दत्तांशकोशसंयोजनानि निर्मास्यति, एतानि संयोजनानि च बैकअपार्थं संयोजनपूले स्थापयति
संयोजनार्थं आवेदनं कुर्वन्तु : यदा कार्यक्रमस्य दत्तांशकोशं प्राप्तुं आवश्यकता भवति तदा सः संयोजनकुण्डात् संयोजनाय आवेदनं करिष्यति । यदि संयोजनकुले निष्क्रियसंयोजनं भवति तर्हि तत् प्रत्यक्षतया कार्यक्रमाय उपयोगाय प्रत्यागमिष्यति यदि निष्क्रियसंयोजनं नास्ति तर्हि विन्यासानुसारं निश्चितकालं प्रतीक्षते अथवा त्रुटिं प्रत्यागमिष्यति
संयोजनस्य उपयोगं कुर्वन्तु: कार्यक्रमः दत्तांशकोशक्रियाः कर्तुं अनुरोधितसंयोजनस्य उपयोगं करोति ।
return connection : ऑपरेशनस्य समाप्तेः अनन्तरं प्रोग्राम् कनेक्शन् पूल् प्रति संयोजनं प्रत्यागच्छति । संयोजनपुलः संयोजने कतिपयानि जाँचानि करिष्यति यदि संयोजनं अद्यापि वैधं भवति तर्हि यदि संयोजनस्य अवधिः समाप्तः अस्ति तर्हि तत् बन्दं कृत्वा संयोजनकुण्डात् निष्कासितम् भविष्यति
संयोजनकुण्डं बन्दं कुर्वन्तु: यदा कार्यक्रमः समाप्तः भवति तदा संयोजनपूले सर्वे संयोजनाः बन्दाः भविष्यन्ति तथा च कब्जाकृताः प्रणालीसंसाधनाः मुक्ताः भविष्यन्ति ।
मार्केट् मध्ये बहवः MySQL संयोजनपूलप्रदातारः सन्ति, येषु अधिकलोकप्रियाः सन्ति:
DBCP : एतत् अपाचे परियोजनायाः अन्तर्गतं मुक्तस्रोतसंयोजनपूलस्य कार्यान्वयनम् अस्ति, तथा च एषः संयोजनपूलः अस्ति यः Tomcat इत्यनेन सह आगच्छति । अन्येभ्यः संयोजनकुण्डेभ्यः द्रुततरं भवति, परन्तु पर्याप्तं स्थिरं न भवेत् ।
C3P0 : इदं मुक्तस्रोतस्य JDBC संयोजनपूलः अस्ति, यः आँकडास्रोतः JNDI बन्धनं च कार्यान्वयति, तथा च JDBC3 मानकं JDBC2 मानकविस्तारं च समर्थयति । C3P0 इत्यस्य गतिः तुल्यकालिकरूपेण मन्दः परन्तु अतीव स्थिरः अस्ति ।
द्रुइड् (Druid): इदं अलीबाबा द्वारा प्रदत्तं मुक्तस्रोतसंयोजनपूलम् अस्ति यत् एतत् DBCP तथा C3P0 इत्येतयोः लाभयोः संयोजनं करोति तथा च शक्तिशाली निगरानीयताविस्तारकार्यं च प्रदाति । Druid सम्प्रति सर्वाधिकं प्रयुक्तेषु MySQL संयोजनपूलेषु अन्यतमम् अस्ति ।
संयोजनपूलस्य विन्यासे प्रायः निम्नलिखितपक्षाः समाविष्टाः सन्ति ।
अधिकतमं संयोजनानां संख्या: अधिकतमसंयोजनसङ्ख्या या संयोजनकुण्डः प्रबन्धयितुं शक्नोति।
न्यूनतमसंयोजनानां संख्या: संयोजनपूलस्य आरम्भे निर्मितानाम् आरम्भिकसङ्ख्या ।
संयोजनसमयसमाप्तिम् प्राप्नुवन्तु: संयोजनकुण्डात् संयोजनं प्राप्य प्रतीक्षायाः अधिकतमः समयः ।
संयोजनसत्यापनम्: संयोजनं प्राप्तुं पूर्वं वा संयोजनं प्रत्यागत्य वा संयोजनस्य वैधतां सत्यापयन्तु।
संयोजनपुनःप्रयोगस्य रणनीतिः: तेषां निष्क्रियसमयस्य उपयोगसमयस्य च आधारेण संयोजनानि पुनः प्रयोजयन्तु।
कनेक्शन् पूलिंग्, थ्रेड् पूलिंग् च द्वौ भिन्नौ संसाधनपूलिंग् प्रौद्योगिकीद्वयम् अस्ति, परन्तु तयोः मध्ये एकः निश्चितः सम्बन्धः अस्ति । थ्रेड् पूल् मुख्यतया थ्रेड् संसाधनानाम् प्रबन्धनार्थं उपयुज्यते, यदा तु संयोजनपुलस्य उपयोगः दत्तांशकोशसंयोजनसम्पदां प्रबन्धनार्थं भवति । यदा थ्रेड् पूल् मध्ये कस्यचित् थ्रेड् इत्यस्य दत्तांशकोशक्रियायाः आवश्यकता भवति तदा सः संयोजनपूलतः संयोजनाय आवेदनं करिष्यति तदा संयोजनं संयोजनपूले प्रत्यागमिष्यति; एषः सम्बन्धः कुशलं संसाधन-उपयोगं सरल-प्रबन्धनं च प्राप्तुं साहाय्यं करोति ।
सारांशतः, MySQL संयोजनपूलः एकः महत्त्वपूर्णः आँकडाधारसंयोजनप्रबन्धनप्रौद्योगिकी अस्ति, एतत् संयोजनानां पुनः उपयोगं कृत्वा, संसाधनानाम् उपभोगं न्यूनीकरोति, कार्यक्षमतां च सुधारयित्वा आँकडाधारसञ्चालनानां कृते सशक्तं समर्थनं प्रदाति वास्तविक-अनुप्रयोगेषु परियोजनायाः विशिष्ट-आवश्यकतानां परिदृश्यानां च अनुसारं समुचितं संयोजन-पूल-प्रदाता विन्यास-मापदण्डं च चयनं कर्तुं शक्यते ।
MySQL लॉग्स् इत्यनेन सह सम्बद्धाः साक्षात्कारप्रश्नाः अनेके पक्षाः कवरं कर्तुं शक्नुवन्ति, यत्र प्रकारः, भूमिका, विन्यासः, लॉग्स् इत्यस्य अनुकूलनं, तथा च आँकडापुनर्प्राप्ति, आँकडाप्रतिकृतिः इत्यादिषु लॉग्स् इत्यस्य अनुप्रयोगः च सन्ति निम्नलिखितम् केचन सामान्याः MySQL log-सम्बद्धाः साक्षात्कारप्रश्नाः तेषां विस्तृतानि उत्तराणि च सन्ति:
MySQL मध्ये सामान्यलॉग्स् निम्नलिखितम् अन्तर्भवन्ति ।
त्रुटिलेखः : MySQL सर्वरस्य आरम्भे, चालने वा स्थगिते वा त्रुटिसूचनाः अभिलेखयन्तु, तथैव कस्यापि महत्त्वपूर्णायाः त्रुटिसूचनाः अपि अभिलेखयन्तु । एतेन समस्यायाः निदानं भवति ।
प्रश्नवृत्तान्तः (सामान्यवृत्तलेखः) २. : MySQL सर्वरेण प्राप्तं प्रत्येकं क्लायन्ट् अनुरोधं प्रतिक्रियां च अभिलेखयन्तु, यत्र उपयोक्तृप्रवेशक्रियाकलापाः, निष्पादिताः SQL कथनानि इत्यादयः सन्ति । सामान्यतया लेखापरीक्षायै अथवा त्रुटिनिवारणाय उपयुज्यते ।
मन्द प्रश्न लॉग : येषां SQL कथनानां निष्पादनसमयः सीमां अतिक्रमति, तथा च एतेषां कथनानां निष्पादनसमयः, अभिगताः सारणीः, प्रयुक्ताः अनुक्रमणिकाः अन्यसूचनाः च अभिलेखयन्तु कार्यप्रदर्शनस्य ट्यूनिङ्गस्य तथा प्रश्नानुकूलनस्य कृते उपयुज्यते ।
द्विचक्रिका लॉग (संक्षेपेण द्विलेखः) २.: सर्वाणि कथनानि अभिलेखयति ये आँकडाधारदत्तांशं परिवर्तयन्ति (SELECT तथा SHOW इत्यादीनि कथनानि विहाय), मुख्यतया प्रतिकृतिं आँकडापुनर्प्राप्त्यर्थं च उपयुज्यन्ते ।
Redo Log: InnoDB भण्डारण इञ्जिन् मध्ये लेनदेनस्य स्थायित्वं सुनिश्चित्य तस्य उपयोगः भवति यद्यपि सिस्टम् क्रैश भवति तथापि redo logs इत्यस्य माध्यमेन data पुनः प्राप्तुं शक्यते ।
Undo Log: InnoDB भण्डारण इञ्जिन् मध्ये, लेनदेनस्य आरम्भात् पूर्वं दत्तांशस्थितिं अभिलेखयितुं तस्य उपयोगः भवति, येन यदा लेनदेनं विफलं भवति अथवा पुनः रोल भवति तदा लेनदेनस्य आरम्भात् पूर्वं दत्तांशं पुनः स्थापयितुं शक्यते
रिले लॉग: MySQL प्रतिकृति आर्किटेक्चर मध्ये, स्लेव सर्वरे रिले लॉग् इत्यस्य उपयोगः मुख्यसर्वरतः प्राप्तां द्विचक्रीय लॉग् सामग्रीं संग्रहीतुं भवति ।
मन्दप्रश्नवृत्तलेखं MySQL विन्याससञ्चिकायाः माध्यमेन (यथा my.cnf अथवा my.ini) उद्घाट्य विन्यस्तं कर्तुं शक्यते, अथवा SQL आदेशानां माध्यमेन गतिशीलरूपेण सेट् कर्तुं शक्यते ।
विन्याससञ्चिकाविधिः : १.
MySQL विन्याससञ्चिकायां निम्नलिखितमापदण्डान् योजयन्तु अथवा परिवर्तयन्तु:
[mysqld] slow_query_log = 1 slow_query_log_file = /path/to/your/slow-query.log long_query_time = 2
इत्यस्मिन्,
slow_query_log
मन्दप्रश्नवृत्तान्तान् सक्षमीकरणाय उपयुज्यते,
slow_query_log_file
मन्दप्रश्नवृत्तसञ्चिकायाः मार्गं निर्दिशन्तु,
long_query_time
मन्दप्रश्नवृत्ते अभिलेखयितुम् सेकण्ड्सङ्ख्यां अतिक्रम्य SQL कथनानां निष्पादनसमयं सेट् कुर्वन्तु ।
विन्याससञ्चिकां परिवर्तयित्वा, भवद्भिः MySQL सेवा पुनः आरभ्यत इति आवश्यकम् ।
SQL आदेशविधिः : १.
मन्दप्रश्नवृत्तलेखं SQL आदेशानां माध्यमेन गतिशीलरूपेण सक्षमं कर्तुं शक्यते, परन्तु...slow_query_log_file
तथाlong_query_time
विन्याससञ्चिकाद्वारा मापदण्डाः सेट् कर्तव्याः भवेयुः, यतः गतिशीलसेटिंग्स् समर्थिताः न भवेयुः अथवा कार्यं न कर्तुं शक्नुवन्ति ।
मन्दप्रश्नवृत्तलेखं सक्षमं कुर्वन्तु:
sql复制代码 SET GLOBAL slow_query_log = 'ON';
ध्यानं कुर्वन्तु यत् SQL आदेशानां उपयोगेन गतिशीलरूपेण उद्घाटितः मन्दप्रश्नवृत्तलेखः प्रणालीयाः पुनः आरम्भस्य अनन्तरं अमान्यः भवितुम् अर्हति, अतः विन्याससञ्चिकायाः माध्यमेन सेट् कर्तुं अनुशंसितम् ।
द्विचक्रीय-लॉग्स् (Binlog) इत्यस्य त्रयः प्रारूपाः सन्ति ।
वक्तव्यम् : SQL कथन-आधारित प्रतिकृति (कथन-आधारित प्रतिकृति, SBR)। अस्मिन् प्रारूपे MySQL निष्पादितानि SQL कथनानि binlog मध्ये अभिलेखयिष्यति । अस्य लाभः अस्ति यत् लॉग्-आयतनं लघु भवति, परन्तु तस्य काश्चन प्रतिकृति-समस्याः सन्ति, यथा कार्याणि, ट्रिगर्स्, संगृहीत-प्रक्रियाः इत्यादयः ये मास्टर-स्लेव्-दत्तांशेषु असङ्गतिं जनयितुं शक्नुवन्ति
पंक्ति : पङ्क्ति-आधारितप्रतिकृतिः (RBR)। अस्मिन् प्रारूपे MySQL परिवर्तितानां पङ्क्तीनां दत्तांशपरिवर्तनानि अभिलेखयिष्यति । अस्य लाभः अस्ति यत् केचन प्रतिकृतिसमस्याः परिहरन्ति, परन्तु लॉग् आयतनं बृहत् भवितुम् अर्हति ।
MIXED इति : मिश्रित-आधारित प्रतिकृति (MBR)। MySQL स्वयमेव परिस्थित्यानुसारं STATEMENT अथवा ROW प्रारूपस्य उपयोगं कर्तुं चयनं करिष्यति । मिश्रितविधिः पूर्वनिर्धारितः मोडः अस्ति, उभयलोकस्य उत्तमस्य संयोजनाय च निर्मितः अस्ति ।
Redo Log InnoDB भण्डारणइञ्जिन् मध्ये लेनदेनस्य स्थायित्वं निम्नलिखितरीत्या सुनिश्चितं करोति ।
यदा व्यवहारः प्रस्तौति तदा InnoDB इञ्जिन् प्रथमं व्यवहारस्य redo log इत्येतत् स्मृतौ redo log buffer मध्ये cache करिष्यति, तथा च तत्सहकालं स्मृतौ तत्सम्बद्धं data page अद्यतनं करिष्यति
ततः समुचितसमये redo log buffer मध्ये redo log इत्येतत् डिस्क मध्ये redo log file इत्यत्र लिखन्तु । इयं प्रक्रिया अतुल्यकालिका अस्ति, परन्तु डिस्कब्रशिंग् इत्यस्य समयः आवृत्तिः च मापदण्डान् विन्यस्य नियन्त्रयितुं शक्यते ।
यदि प्रणाली-दुर्घटना भवति तर्हि InnoDB-इञ्जिनं प्रारम्भे redo log सञ्चिकां जाँचयिष्यति तथा च तत्रत्यानां अभिलेखानां आधारेण अद्यतनतया प्रस्तुतेन लेनदेनेन कृतानि परिवर्तनानि पुनः स्थापयति, तस्मात् आँकडानां स्थायित्वं सुनिश्चितं भविष्यति
लॉग् सञ्चिकाः पश्यन्तु:
त्रुटिलेखः: सामान्यतया MySQL विन्याससञ्चिकां दृष्ट्वा एतत् कर्तुं शक्यतेlog_error
parameter त्रुटिवृत्तसञ्चिकां ज्ञातुं सञ्चिकामार्गं निर्दिष्टुं तथा च पाठसम्पादकस्य अथवा आदेशपङ्क्तिसाधनस्य उपयोगं कर्तुं यथाtail
、cat
इत्यादि) तस्य सामग्रीं द्रष्टुं ।