2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
साक्षात्कारयात्रायां सर्वेषां सहायतार्थं ये छात्राः अद्यापि रेडिस् विषये अनिश्चिताः सन्ति, तेषां कृते वयं ४० सामान्याः रेडिससाक्षात्कारप्रश्नान् संकलितवन्तः येन भवान् साक्षात्कारस्य समये आतङ्कितः न भवेत् तथा च प्रस्तावं प्राप्तुं प्रयतते!
1. रेडिसः किम् ?
रेडिस् पूर्णतया मुक्तस्रोतः मुक्तः च अस्ति, BSD प्रोटोकॉलस्य अनुपालनं करोति, उच्च-प्रदर्शन-कुंजी-मूल्यकदत्तांशकोशः च अस्ति ।
अन्येषां कील-मूल्यक-सञ्चय-उत्पादानाम् तुलने रेडिस् इत्यस्य निम्नलिखित-त्रीणि लक्षणानि सन्ति ।
Redis दत्तांशस्थायित्वं समर्थयति स्मृतौ दत्तांशं डिस्क मध्ये रक्षितुं पुनः आरम्भे उपयोगाय पुनः लोड् कर्तुं शक्नोति ।
Redis न केवलं सरलं कील-मूल्यप्रकारस्य आँकडानां समर्थनं करोति, अपितु list, set, zset, hash इत्यादीनां दत्तांशसंरचनानां भण्डारणं अपि प्रदाति ।
Redis इत्यनेन data backup इत्यस्य समर्थनं भवति, अर्थात् master-slave mode इत्यत्र data backup इत्यस्य समर्थनं भवति ।
रेडिस् लाभाः : १.
अत्यन्तं उच्चप्रदर्शनम् : रेडिस् ११०,००० गुणा/सेकण्ड् वेगेन पठितुं ८१,००० गुणा/सेकण्ड् वेगेन च लिखितुं शक्नोति ।
समृद्धदत्तांशप्रकाराः: Redis द्विचक्रीयप्रकरणेषु Strings, Lists, Hashes, Sets तथा Ordered Sets आँकडाप्रकारस्य संचालनस्य समर्थनं करोति ।
परमाणुः : रेडिस् मध्ये सर्वाणि क्रियाणि परमाणुरूपेण भवन्ति, अर्थात् ते सफलतया निष्पादिताः वा सर्वथा न निष्पादिताः वा । व्यक्तिगतक्रियाः परमाणुः भवन्ति । बहुविधाः क्रियाः व्यवहारान् अपि समर्थयन्ति अर्थात् MULTI तथा EXEC निर्देशैः वेष्टितं परमाणुत्वं ।
समृद्धविशेषताः : Redis प्रकाशन/सदस्यतां, सूचनाः, कुञ्जीसमाप्तिः इत्यादीनि विशेषतानि अपि समर्थयति ।
अन्येभ्यः कील-मूल्यक-भण्डारेभ्यः रेडिस् कथं भिन्नः अस्ति ?
रेडिस् अधिकजटिलदत्तांशसंरचना अस्ति तथा च तेषु परमाणुक्रियाः प्रदाति अन्येभ्यः दत्तांशकोशेभ्यः भिन्नः एषः विकासमार्गः अस्ति । रेडिस् इत्यस्य दत्तांशप्रकाराः मूलभूतदत्तांशसंरचनानां आधारेण भवन्ति तथा च प्रोग्रामर-कृते पारदर्शकाः सन्ति, अतिरिक्त-अमूर्ततायाः आवश्यकतां विना ।
रेडिस् स्मृतौ चाल्यते परन्तु डिस्कपर्यन्तं स्थापयितुं शक्यते, अतः भिन्नदत्तांशसमूहानां उच्चगतिपठनं लेखनं च कुर्वन् स्मृतिव्यापारः भवति, यतः दत्तांशस्य परिमाणं हार्डवेयरस्मृत्याः अपेक्षया अधिकं न भवितुम् अर्हति स्मृति-अन्तर्गत-दत्तांशकोशानां अन्यः लाभः अस्ति यत् डिस्क-उपरि समानजटिलदत्तांश-संरचनानां तुलने स्मृतौ कार्यं कर्तुं अतीव सरलं भवति, अतः रेडिस्-इत्यनेन प्रबल-आन्तरिक-जटिलतायाः सह बहु कार्यं कर्तुं शक्यते अपि च, डिस्कस्वरूपस्य दृष्ट्या ते संकुचिताः, एपेण्ड्-जनरिताः च सन्ति यतः तेषां यादृच्छिकप्रवेशस्य आवश्यकता नास्ति ।
2. रेडिस् इत्यस्य दत्तांशप्रकाराः के सन्ति ?
Redis पञ्च आँकडाप्रकारं समर्थयति: स्ट्रिंग् (स्ट्रिंग्), हैश (हैश), सूची (सूची), सेट् (सेट्) तथा zsetsorted सेट् (क्रमितसेट्) ।
अस्माकं वास्तविकपरियोजनासु अधिकतया प्रयुक्ताः सन्ति स्ट्रिंग् तथा हैश यदि भवान् मध्यवर्ती उन्नतः च Redis उपयोक्ता अस्ति तर्हि निम्नलिखितदत्तांशसंरचना HyperLogLog, Geo, Pub/Sub च योजयितुं आवश्यकम् ।
यदि भवान् वदति यत् भवान् Redis Module इत्यनेन सह अपि क्रीडितः, यथा BloomFilter, RedisSearch, Redis-ML च तर्हि साक्षात्कारकर्तायाः नेत्राणि प्रकाशितुं आरभन्ते ।
3. रेडिस् इत्यस्य उपयोगेन के लाभाः सन्ति ?
इदं द्रुतं भवति यतोहि दत्तांशः स्मृतौ संगृह्यते, HashMap इत्यस्य सदृशः अस्ति यत् अन्वेषणस्य संचालनस्य च समयजटिलता O1) भवति ।
समृद्धदत्तांशप्रकारस्य समर्थनं करोति, यत्र स्ट्रिंग्, सूची, सेट्, Zset, हैश इत्यादयः सन्ति ।
व्यवहारान् समर्थयति, तथा च कार्याणि सर्वाणि परमाणुतानि सन्ति तथाकथितस्य परमाणुत्वस्य अर्थः अस्ति यत् दत्तांशस्य सर्वे परिवर्तनानि निष्पादितानि वा सर्वथा निष्पादितानि वा ।
समृद्धविशेषताः, संग्रहणार्थं, सन्देशप्रसारणार्थं, कुञ्जीद्वारा अवधिसमयं सेट् कर्तुं च उपयोक्तुं शक्यते, अवधिसमाप्तेः अनन्तरं स्वयमेव विलोप्यते
4. Memcached इत्यस्य तुलने Redis इत्यस्य किं किं लाभाः सन्ति?
Memcached इत्यस्मिन् सर्वाणि मूल्यानि सरलाः ताराः सन्ति, तस्य प्रतिस्थापनरूपेण Redis इत्ययं समृद्धतरदत्तांशवर्गान् समर्थयति ।
Redis Memcached इत्यस्मात् बहु द्रुततरम् अस्ति
रेडिस् स्वस्य दत्तांशं स्थापयितुं शक्नोति
5. Memcache तथा Redis इत्येतयोः मध्ये के भेदाः सन्ति ?
भण्डारणविधिः Memecache सर्वान् दत्तांशान् स्मृतिविफलतायाः अनन्तरं लम्बयिष्यति । रेडिस् आंशिकरूपेण हार्डडिस्कमध्ये संगृहीतं भवति, यत् दत्तांशस्य स्थायित्वं सुनिश्चितं करोति ।
दत्तांशसमर्थनप्रकाराः दत्तांशप्रकारस्य कृते Memcache इत्यस्य समर्थनं तुल्यकालिकरूपेण सरलम् अस्ति । रेडिस् इत्यस्य जटिलदत्तांशप्रकाराः सन्ति ।
प्रयुक्ताः अन्तर्निहितप्रतिमानाः ग्राहकैः सह संचारार्थं तेषां अन्तर्निहितकार्यन्वयनविधिषु अनुप्रयोगप्रोटोकॉलयोः च भिन्नाः सन्ति । रेडिस् प्रत्यक्षतया स्वस्य VM तन्त्रं निर्माति, यतः यदि सामान्यप्रणाली प्रणालीकार्यं आह्वयति तर्हि तत् स्थानान्तरणं अनुरोधं च कर्तुं निश्चितं समयं व्यययिष्यति ।
6. रेडिस् एकप्रक्रिया अस्ति, एकसूत्रा च अस्ति वा ?
रेडिस् एकः प्रक्रिया अस्ति तथा च एकः सूत्रः अस्ति यत् रेडिस् समवर्ती अभिगमनं क्रमिकप्रवेशरूपेण परिणतुं कतारप्रौद्योगिक्याः उपयोगं करोति, येन पारम्परिकदत्तांशकोशक्रमाङ्कनियन्त्रणस्य उपरिभारः समाप्तः भवति ।
7. स्ट्रिंग् प्रकारस्य स्मार्ट स्टोरेजस्य अधिकतमक्षमता का भवति?
५१२M。
8. रेडिसस्य स्थायित्वतन्त्रं किम् ? प्रत्येकस्य किं किं लाभाः हानिः च सन्ति ?
रेडिस् द्वौ स्थायित्वतन्त्रौ प्रदाति, RDB तथा AOF तन्त्रम् :
RDB (Redis DataBase) स्थायित्वविधिः: दत्तांशसमूहस्य स्नैपशॉट् इत्यस्य उपयोगेन अर्ध-निरन्तर-मोड्-मध्ये Redis-दत्तांशकोशस्य सर्वान् कील-मूल्य-युग्मान् अभिलेखयितुं, स्थायित्वस्य अनन्तरं एकस्मिन् निश्चिते समये अस्थायी-सञ्चिकायां दत्तांशं लिखितुं च निर्दिशति is completed, use this अस्थायी सञ्चिका दत्तांशपुनर्प्राप्त्यर्थं अन्तिमस्य निरन्तरसञ्चिकायाः स्थाने भवति ।
लाभ:
केवलं एकः एव सञ्चिका dump.rdb अस्ति, या स्थायित्वस्य कृते सुलभा अस्ति ।
आपदासहिष्णुता उत्तमम् अस्ति, सञ्चिका सुरक्षिते डिस्क मध्ये रक्षितुं शक्यते ।
कार्यक्षमतां अधिकतमं कर्तुं, लेखनक्रियां पूर्णं कर्तुं बालप्रक्रियायाः फोर्कं कुर्वन्तु तथा च मुख्यप्रक्रियायाः आदेशानां संसाधनं निरन्तरं कर्तुं अनुमतिं ददतु, अतः IO अधिकतमं भवति । स्थायित्वार्थं पृथक् उपप्रक्रियायाः उपयोगं कुर्वन्तु, मुख्यप्रक्रिया च किमपि IO कार्यं न करिष्यति, येन Redis इत्यस्य उच्चप्रदर्शनं सुनिश्चितं भवति ।
यदा दत्तांशसमूहः बृहत् भवति तदा स्टार्टअप-दक्षता AOF इत्यस्मात् अधिका भवति ।
दोषाः : न्यूनदत्तांशसुरक्षा। RDB अन्तरालेषु स्थास्यति यदि Redis स्थायित्वस्य समये विफलं भवति तर्हि दत्तांशहानिः भविष्यति ।अतः यदा दत्तांशस्य आवश्यकताः कठोरता न भवन्ति तदा एषा पद्धतिः अधिका उपयुक्ता भवति ।
AOF (Append-only file) persistence method: इत्यस्य अर्थः अस्ति यत् सर्वे आदेशपङ्क्ति-अभिलेखाः पूर्णतया स्थायिरूपेण संगृहीताः भवन्ति तथा च Redis आदेश-अनुरोध-प्रोटोकॉलस्य प्रारूपेण aof सञ्चिकारूपेण संगृह्यन्ते
लाभ:
दत्तांशसुरक्षायै, AOF स्थायित्वं appendfsync विशेषतायाः सह विन्यस्तुं शक्यते यदि सर्वदा अस्ति तर्हि प्रत्येकं आदेशक्रिया AOF सञ्चिकायां अभिलेखिता भविष्यति ।
append मोड् मध्ये सञ्चिकाः लिखित्वा, सर्वरः मध्ये अधः गच्छति चेदपि, redis-check-aof tool इत्यस्य माध्यमेन data consistency समस्यायाः समाधानं कर्तुं शक्यते ।
एओएफ तन्त्रस्य पुनर्लेखनविधिः । AOF सञ्चिकायाः पुनर्लेखनात् पूर्वं (सञ्चिकायाः अत्यधिकविशालत्वे आदेशाः विलीनाः भूत्वा पुनर्लेखिताः भविष्यन्ति), भवान् केचन आदेशाः (यथा flushall यत् आकस्मिकतया संचालितम् आसीत्) विलोपयितुं शक्नोति
अभावः : १.
AOF सञ्चिकाः RDB सञ्चिकाभ्यः बृहत्तराः सन्ति, पुनर्स्थापनं च मन्दतराः सन्ति ।
यदा दत्तांशसमूहः बृहत् भवति तदा आरम्भस्य कार्यक्षमता RDB इत्यस्मात् न्यूना भवति ।
9. सामान्यप्रदर्शनसमस्याः समाधानं च पुनः करोति
मास्टरः स्मृतिस्नैपशॉट् न लिखति तर्हि save आदेशः rdbSave कार्यस्य समयनिर्धारणं करोति, यत् यदा स्नैपशॉट् तुल्यकालिकरूपेण बृहत् भवति तदा कार्यप्रदर्शने प्रभावः अतीव विशालः भविष्यति, तथा च सेवा व्यत्ययेन स्थगिता भविष्यति।
यदि दत्तांशः महत्त्वपूर्णः अस्ति तर्हि एकः Slave AOF बैकअप दत्तांशं सक्षमं करोति, नीतिः च प्रति सेकण्ड् एकं दत्तांशं समन्वययितुं सेट् भवति ।
master-slave replication इत्यस्य वेगस्य कृते, संयोजनस्य स्थिरतायै च Master and Slave इत्येतयोः कृते एकस्मिन् LAN मध्ये भवितुं सर्वोत्तमम् ।
तनावग्रस्तस्य मुख्यदत्तांशकोशे दासाः योजयितुं परिहरितुं प्रयतध्वम् ।
मास्टर-स्लेव् प्रतिकृतिकृते आलेखसंरचनायाः उपयोगं न कुर्वन्तु एकदिशा लिङ्क्ड् सूचीसंरचनायाः उपयोगः अधिकं स्थिरः भवति, अर्थात्: मास्टर