2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
सम्बन्धात्मकदत्तांशकोशः संरचितः दत्तांशकोशः भवति, यः सम्बन्धात्मकप्रतिरूपदत्तांशकोशे निर्मितः, अभिलेख-उन्मुखः च निर्मितः ।
सामान्यसम्बन्धीदत्तांशकोशाः : Oracle, MySQL, SQL Server, Microsoft Access, DB2 ।
NOSQL=न केवलं SQL असम्बद्धदत्तांशकोशानां सामान्यपदम् अस्ति । भण्डारणविधिना, भण्डारणसंरचनायाः, उपयोगपरिदृश्यानां च आधारेण असम्बद्धदत्तांशकोशः इति कथ्यते । मुख्यधारासम्बन्धीदत्तांशकोशान् विहाय अन्ये दत्तांशकोशाः असम्बन्धदत्तांशकोशाः इति वक्तुं शक्यन्ते ।
सामान्य असम्बद्धदत्तांशकोशः : Redis, MongoDB, Hbase, CouhDB ।
Redis इति एकः मुक्तस्रोतः Nosql आँकडाधारः अस्ति यः C भाषायां लिखितः अस्ति । अस्य बन्दरगाहसङ्ख्या ६३७९ अस्ति ।
1. Redis संस्थापयन्तु
[root@localhost ~]# systemctl अग्निप्रावरणं स्थगयतु
[मूल @ स्थानीयमेजबान ~] # setenforce 0
[root@localhost ~]# yum -y gcc * zlib-devel संस्थापनं कुर्वन्तु
[मूल @स्थानीयमेजबान ~]#तर xvzf रेडिस्-4.0.9.tar.gz
[मूल @स्थानीयमेजबान ~]#cd रेडिस-४.०.९/ २.
[मूल@स्थानीयहोस्ट redis-4.0.9]# कर
सूचना:
make, 2019 इत्यस्य अनन्तरं त्रुटिसन्देशः उत्पद्यते ।
समाधानं:
समाधानम् १: libc कृते संकलनार्थं स्मृतिविनियोगकं निर्दिष्टुं make MALLOC=libc इत्यस्य उपयोगं कुर्वन्तु
समाधान 2: स्वच्छं कुर्वन्तु && distclean कुर्वन्तु
[root@localhost redis-4.0.9]# PREFIX=/usr/local/redis संस्थापनं कुर्वन्तु
[मूल @ स्थानीय मेजबान utils] # ln -s / usr / स्थानीय / redis / बिन / * / usr / स्थानीय / बिन /
[मूल@स्थानीयहोस्ट रेडिस-4.0.9]# cd utils/
तेषु : install_server.sh इति आरम्भस्क्रिप्ट् अस्ति
[मूल@स्थानीयहोस्ट utils]# ./install_server.sh
कृपया redis कार्यान्वयनीयमार्गं चिनोतु [] /usr/local/redis/bin/redis-server(निष्पादनीयमार्गं ददाति)
प्रक्रियां सेवानियन्त्रणं च पश्यन्तु
[मूल@स्थानीयहोस्ट utils]# netstat -anpt | ग्रेप् रेडिस्
tcp 0 0 127.0.0.1:6379 0.0.0.0:* शृणुत 5360/पुनः-सर्वर 1
[मूल @ स्थानीयहोस्ट utils] # / इत्यादि / init.d / redis_6379 बंद(रेडिस् निमीलितः अस्ति)
[मूल @ स्थानीयहोस्ट utils] # / इत्यादि / init.d / redis_6379 आरंभ(इत्युपरि)
[root@localhost utils] # /etc/init.d/redis_6379 स्थितिः (राज्यम्)
विन्यासमापदण्डानां परिवर्तनम्
[मूल @ स्थानीयमेजबान ~] # विम / इत्यादि / redis / 6379.conf
बन्धन 127.0.0.1 192.168.10.101//होस्ट् पता शृणोति
पोर्ट् ६३७९ //पोताश्रय
daemonize हाँ //डेमन प्रक्रिया सक्षम करो
pidfile / var / चाल / redis_6379.pid //PID सञ्चिकां निर्दिशन्तु
loglevel सूचना//लॉग स्तर
लॉगफाइल /var/log/redis_6379.log//लॉग सञ्चिकां निर्दिशन्तु
[मूल @ स्थानीयमेजबान ~ ] # / इत्यादि / init.d / redis_6379 पुनः आरंभ
2.redis आदेशसाधनम्
[मूल@स्थानीयहोस्ट utils] # redis-cli(स्थानीयप्रवेशः) २.
[मूल@स्थानीयहोस्ट utils]# redis-cli -h 192.168.10.101 -पृष्ठ 6379(दूरस्थप्रवेशः) २.
192.168.10.101:6379> पिंग(परिचयसेवा सामान्यतया प्रचलति)
पोङ्ग इति
3: redis-benchmark परीक्षणसाधनम्
redis-benchmark इति आधिकारिकं Redis कार्यप्रदर्शनपरीक्षणसाधनं यत् Redis सेवानां कार्यक्षमतायाः प्रभावीरूपेण परीक्षणं कर्तुं शक्नोति ।
(1) परीक्षणानुरोधप्रदर्शनम्
[मूल@स्थानीयहोस्ट ~] # रेडिस-बेंचमार्क -ज 192.168.10.101 -पृष्ठ 6379 -ग 100 -n 100000
टिप्पणी : १.
-h: सर्वर होस्ट् नाम निर्दिशन्तु;
-p: सर्वर पोर्ट् निर्दिशन्तु;
-c: समवर्तीसंयोजनानां संख्यां निर्दिशन्तु;
-n: अनुरोधानाम् संख्यां निर्दिशन्तु;
(2) अभिगमनप्रदर्शनस्य परीक्षणं कुर्वन्तु
[मूल@स्थानीयहोस्ट ~] # रेडिस-बेंचमार्क -ज 192.168.10.101 -पृष्ठ 6379 -क्यू -घ 100
टिप्पणी : १.
-h: सर्वर होस्ट् नाम निर्दिशन्तु;
-p: सर्वर पोर्ट् निर्दिशन्तु;
-d: SET/GET मूल्यस्य दत्तांशस्य आकारं बाइट्स् मध्ये निर्दिशन्तु;
-q: बलात् रेडिस् त्यक्त्वा। केवलं query/sec मूल्यानि एव प्रदर्शितानि भवन्ति;
set data command format set key value इति संग्रहयति
get Get data आदेश प्रारूपं get key
1. कील-मूल्ययुग्मानि योजयन्तु
127.0.0.1:6379> सेट् 1 1
अस्तु
127.0.0.1:6379> सेट् 2 2
अस्तु
127.0.0.1:6379> सेट् 3 3
अस्तु
2. दत्तांशकोशे सर्वाणि मूल्यानि पश्यन्तु
127.0.0.1:6379> कील * .
1) "3"
2) "1"
3) "2"
3. दत्तांशकोशे v इत्यनेन आरभ्य दत्तांशं पश्यन्तु
127.0.0.1:6379>KEYS v* ९.
4. दत्तांशकोशे v इत्यनेन आरभ्यमाणं किमपि दत्तांशं पश्यन्तु
127.0.0.1:6379>कीज वि?
5.सह वर्तमानदत्तांशकोशं पश्यन्तु वि आरंभनिम्नलिखितम् दत्तांशस्य कोऽपि अङ्कद्वयं भवति
127.0.0.1:6379>कीज वि??
मूल्यं वर्तते वा इति निर्धारयतु।
127.0.0.1:6379>विद्यते f5f5 अस्ति वा इति निर्धारयतु
(पूर्णाङ्कः) 1 परिणामः 1 अस्ति, यत् f5 कीलम् अस्ति इति सूचयति
इव
(पूर्णाङ्कः) 0 परिणामः 0 अस्ति, यत् f5 कीलस्य अस्तित्वं नास्ति इति सूचयति
del आदेशः निर्दिष्टं विलोपयितुं शक्नोति कुंजी
127.0.0.1:6379> del v5 दत्तांशकोशे v5 विलोपयन्तु
(पूर्णाङ्कः) 1
127.0.0.1:6379>get v5
(शून्यम्) २.
उपयुञ्जताम् प्रकारः आदेशः प्राप्तुं शक्यते कुंजी तदनुरूपः मूल्यम् मूल्यप्रकारः
127.0.0.1:6379>प्रकार k1
सूत्र
टिप्पणी : १.
redis द्वारा समर्थिताः दत्तांशप्रकाराः
नामकरणं कुर्वन्तु आदेशः विद्यमानस्य कृते अस्ति कुंजी नामकरणं कुर्वन्तु
वास्तविकप्रयोगे प्रयोगः शस्यते विद्यते लक्ष्यं द्रष्टुं आदेशः कुंजी विद्यते, ततः निष्पादनं कर्तव्यं वा इति निर्णयं कुर्वन्तु नामकरणं कुर्वन्तु महत्त्वपूर्णदत्तांशस्य अधिलेखनं परिहरितुं आदेशः।
127.0.0.1:6379>नामकरणं v22 v2 v22 इत्यस्य नामकरणं v2 इति परिवर्तयन्तु
अस्तु
renamenx आदेशस्य कार्यं विद्यमानस्य परिवर्तनं भवति कुंजी पुनर्नामकरणं कृत्वा नूतनं नाम अस्ति वा इति पश्यन्तु ।
उपयुञ्जताम्renamenx यदा आदेशः नाम परिवर्तितः भवति, यदि लक्ष्यम् कुंजी यदि अस्ति तर्हि तस्य नाम परिवर्तनं न भविष्यति ।
dbsize इति इति आदेशस्य उद्देश्यं वर्तमानदत्तांशकोशं द्रष्टुं भवति कुंजी संख्या के ।
127.0.0.1:6379> dbsize इति इति
(पूर्णाङ्कः) 5
रेडिस् पूर्वनिर्धारितरूपेण किमपि परिवर्तनं विना समाविष्टम् 16 database, database name एकः सङ्ख्या अस्ति 0-15 क्रमेण नामकरणीयम्
(1)क्रमाङ्कं प्रति स्विच कुर्वन्तु 10 database
127.0.0.1:6379>10 चयनं कुर्वन्तु
अस्तु
(2)क्रमाङ्कं प्रति स्विच कुर्वन्तु 15 database
127.0.0.1:6379[10]>चयनं कुर्वन्तु 15
अस्तु
(3)क्रमाङ्कं प्रति स्विच कुर्वन्तु 0 database
127.0.0.1:6379[15]>0 इति चयनं कुर्वन्तु
127.0.0.1:6379>सेट् k1 100 database 0 मध्ये k1 रचयन्तु
अस्तु
127.0.0.1:6379>प्राप्नुत k1
"100"
127.0.0.1:6379>चालय k1 1 //दत्तांशकोश 0 मध्ये k1 दत्तांशकोश 1 मध्ये स्थानान्तरयन्तु
(पूर्णाङ्कः) 1
127.0.0.1:6379>चयनं कुर्वन्तु 1 //लक्ष्यदत्तांशकोशं प्रति स्विच् कुर्वन्तु 1
अस्तु
127.0.0.1:6379[1]>प्राप्नुत k1 //चलितदत्तांशं पश्यन्तु
"100"
127.0.0.1:6379[1]> 0 इति चयनं कुर्वन्तु
अस्तु
127.0.0.1:6379> प्राप्नुत k1 //k1 इत्यस्य मूल्यं database 0 मध्ये द्रष्टुं न शक्यते
(शून्यम्) २.
वर्तमानदत्तांशकोशदत्तांशं स्वच्छं कर्तुं, उपयोगं कुर्वन्तु FLUSHDB
आदेशस्य कार्यान्वयनम् सर्वान् दत्तांशकोशदत्तांशं स्वच्छं कुर्वन्तु, उपयोगं कुर्वन्तु FLUSHALL इति आदेश कार्यान्वयन।
रेडिस् सर्वे दत्तांशाः स्मृतौ संगृह्यन्ते ततः समये समये अतुल्यकालिकरूपेण डिस्कमध्ये रक्षिताः भवन्ति ।(इति“अर्धनिरन्तरः मोडः”); केवलं सञ्चिका(aof) योजयन्तुइत्यस्मिन्(इति“पूर्ण दृढता मोड”)。
यतः रेडिस् सर्वे दत्तांशाः स्मृतौ संगृह्यन्ते यदि स्थायित्वं न विन्यस्तं भवति ।रेडिस् पुनः आरम्भस्य अनन्तरं सर्वे दत्तांशाः नष्टाः भवन्ति ।अतः सक्षमीकरणम् आवश्यकम्रेडिस् स्थायित्वकार्यं दत्तांशं डिस्कमध्ये रक्षति रेडिस् पुनः आरम्भस्य अनन्तरं डिस्कतः दत्तांशं पुनः प्राप्तुं शक्यते ।रेडिस् दृढतायाः कृते द्वौ विधिः प्रदत्तः, एकः अस्ति आर डी बी(रेडिस डाटाबेस) दृढता (सिद्धान्तः इति रीड्सस्मृति-अन्तर्गत-दत्तांशकोश-अभिलेखानां समयबद्ध-डम्पः (निपात)डिस्कं प्रति आर डी बी दृढता), अन्यः इति एओएफ(केवलं योजयन्तु संचिका)दृढता (सिद्धान्तः इति रीड्स ऑपरेशन लॉग् सञ्चिकायां संलग्नरूपेण लिख्यते) ।
आरडीबी तथा एओएफ इत्येतयोः मध्ये अन्तरम्
ROB निर्दिष्टसमयान्तरे डिस्कं प्रति दत्तांशं लिखति ।
AOF सर्वरस्य प्रत्येकं लेखन-विलोपन-कार्यक्रमं लॉग्-रूपेण अभिलेखयति । प्रश्नक्रियाः अभिलेखिताः न भविष्यन्ति, परन्तु पाठरूपेण अभिलेखिताः भविष्यन्ति ।
आरडीबी तथा एओएफ लाभ हानि
आरडीबी लाभाः : १.
RDB एकः संकुचितः, संपीडितः द्विचक्रीयसञ्चिका अस्ति या एकस्मिन् निश्चिते समये Redis-दत्तांशस्य स्नैपशॉट् प्रतिनिधियति । बैकअप, पूर्णप्रतिलिपिः इत्यादीनां परिदृश्यानां कृते अतीव उपयुक्तम् अस्ति । यथा, प्रत्येकं 6 घण्टेषु bgsave backup कुर्वन्तु तथा च आपदापुनर्प्राप्त्यर्थं RDB सञ्चिकां दूरस्थयन्त्रे अथवा सञ्चिकाप्रणाल्यां प्रतिलिपिं कुर्वन्तु ।
दत्तांशपुनर्प्राप्तिः द्रुतगतिः भवति ।
कार्यक्षमतां अधिकतमं कुर्वन्तु
उच्च स्टार्टअप दक्षता
आर डी बीअभावः : १.
यत् दत्तांशं निष्क्रियीकरणात् पूर्वं न रक्षितम् आसीत् तत् नष्टं भविष्यति ।
RDB fork child प्रक्रियायाः माध्यमेन सम्पन्नं भवति, संसाधनानाम् उपभोगं कृत्वा ।
एओएफ लाभाः : १.
दत्तांशस्य स्थायित्वं अधिकम् अस्ति
append mode इत्यस्मिन् log file इत्यस्य सामग्रीः downtime अस्ति चेदपि न नष्टा भविष्यति ।
दत्तांशसुरक्षायाः रक्षणार्थं पुनर्लेखनतन्त्रं आरभ्यतुं शक्यते ।
एओएफ हानिः : १.
एओएफ-दत्तांशपुनर्प्राप्तिवेगः मन्दः भवति
एओएफ-सञ्चालनदक्षता न्यूना भवति
द्वयोः मध्ये चयनस्य मापदण्डाः : १.
उच्चतरसञ्चयसङ्गठनस्य विनिमयरूपेण किञ्चित् कार्यक्षमतां त्यागयन्तु (एओएफ),
यदा लेखनक्रियाः बहुधा भवन्ति तदा उच्चतरप्रदर्शनस्य विनिमयरूपेण बैकअपं सक्षमं न कुर्वन्तु तथा च हस्तचलितसञ्चालनस्य प्रतीक्षां कुर्वन्तु । रक्ष् यदा, पुनः बैकअपं कुर्वन्तु (आर डी बी)
टिप्पणी : १.
यदि पुनः आरम्भं कृत्वा पुनः स्थायित्वसञ्चिकां लोड् कर्तुं आवश्यकं भवति तर्हिपूर्ववर्तिताAOF सञ्चिकाः चयनिताः भविष्यन्ति ।
यदि प्रथमं RDB सक्षमं भवति ततः AOF सक्षमं भवति, तथा च RDB प्रथमं स्थास्यति तर्हि RDB सञ्चिकायां सामग्री AOF द्वारा अधिलिखिता भविष्यति ।
[मूल @ स्थानीयमेजबान ~] # vim / इत्यादि / redis / 6379.conf
उद्घाटित 6379.conf सञ्चिकायाः अनन्तरं अन्वेषणं कुर्वन्तु रक्ष्, अधः दर्शितवत् विन्याससूचनाः द्रष्टुं शक्नुवन्ति ।
अस्ति रेडिस् विन्याससञ्चिकायां त्रीणि समन्वयनविधयः सन्ति, ते सन्ति :
always: synchronous persistence, प्रत्येकं समये दत्तांशः परिवर्तते, तत् तत्क्षणमेव डिस्कं ##702 रेखायां लिखितं भविष्यति
everysec: पूर्वनिर्धारितरूपेण अनुशंसितं, प्रत्येकं सेकण्डं अतुल्यकालिकरूपेण अभिलेखयन्तु (पूर्वनिर्धारितं मूल्यम्)
no: समन्वयनं नास्ति, समन्वयनं कथं कर्तव्यमिति निर्णयं प्रचालनतन्त्राय त्यक्त्वा
अन्तिमस्य सम्भाव्यसमस्याजनकस्य निर्देशस्य अवहेलनां कुर्वन्तु
[मूल @ स्थानीयमेजबान ~] # / इत्यादि / init.d / redis_6379 पुनः आरंभ
192.168.9.236:7001> info स्मृति
प्रयुक्त_स्मृति:1210776 प्रयुक्तस्य स्मृतेः आकारः, बाइट्-मात्रायां
प्रयुक्त_स्मृति_मानव:1.15Mएककैः सह प्रदर्शितं, M
प्रयुक्त_स्मृति_rss: 7802880प्रचालनतन्त्रस्य दृष्ट्या रीडिस् कियत् स्मृतिं गृह्णाति ?
प्रयुक्त_स्मृति_rss_मानव:7.44Mएककैः सह प्रदर्शनं कुर्वन्तु
अधिकतमस्मृति:1073741824अधिकतमः स्मृतिः आकारः
अधिकतमस्मृति_मानव:1.00G एककैः सह प्रदर्शनं कुर्वन्तु
maxmemory-नीति: पुनःप्रयोगस्य रणनीतिः
अस्थिर-लरु: अनुमन्यते रेडिस् सम्पूर्णदत्तांशसमूहात् न्यूनतमं अद्यतनं प्रयुक्तं चिनुत कुंजी लुप्
अस्थिर-ttl:कीलस्य अवधिसमाप्तिसमयानुसारं समाप्तं कुर्वन्तु
अस्थिर-यादृच्छिक: निर्धारितसमाप्तिसमयेन सह दत्तांशसङ्ग्रहात् निष्कासनार्थं यादृच्छिकरूपेण आँकडानां चयनं कुर्वन्तु;
सर्वकीया-लरु:उपयुञ्जताम् एलआरयू एल्गोरिदम् सर्वेभ्यः दत्तांशसमूहेभ्यः दत्तांशं समाप्तं करोति;
allkeys-यादृच्छिकम्: दत्तांशसङ्ग्रहात् निष्कासनार्थं यादृच्छिकरूपेण आँकडानां चयनं कुर्वन्तु;
noeviction: दत्तांशस्य उन्मूलनं निष्क्रियं कुर्वन्तु (पूर्वनिर्धारितमूल्यम्)
कीलस्य अवधिसमाप्तिसमयं सेट् कुर्वन्तु
127.0.0.1:6379>समाप्ति v1 10 v1 इत्यस्य अवधिः १० सेकेण्ड् अस्ति
टिप्पणी : १.
कदा रेडिस् स्मृतिदाबस्य कारणेन एकं पुनः प्राप्तुं आवश्यकता कुंजी घटकः,रेडिस् प्रथमं विचारं प्राचीनतमदत्तांशस्य पुनः प्रयोगः न करणीयः, अपितु न्यूनतया अद्यतनतया प्रयुक्तानां दत्तांशस्य पुनः प्रयोगः करणीयः । कुंजी अवधिः समाप्तः भवितुं प्रवृत्तः वा कुंजी एकं यादृच्छिकरूपेण चिनोतु कुंजी, दत्तांशसमूहात् निष्कासितम्