Venti
વેન્ટી એ એક નેટવર્ક સ્ટોરેજ સિસ્ટમ છે જે ડેટા બ્લોકને કાયમી ધોરણે સંગ્રહિત કરે છે. ડેટાનું 160-બીટ SHA-1 હેશ (જેને વેન્ટી દ્વારા સ્કોર કહેવાય છે) ડેટાના સરનામાં તરીકે કાર્ય કરે છે. આ એક વાર લખવાની નીતિ લાગુ કરે છે કારણ કે કોઈ અન્ય ડેટા બ્લોક એક જ સરનામાં સાથે મળી શકતો નથીઃ સમાન ડેટાના બહુવિધ લખાણોના સરનામાં સમાન હોય છે, તેથી ડુપ્લિકેટ ડેટા સરળતાથી ઓળખવામાં આવે છે અને ડેટા બ્લોક માત્ર એક જ વાર સંગ્રહિત થાય છે. ડેટા બ્લોકને દૂર કરી શકાતા નથી, જે તેને કાયમી અથવા બેકઅપ સંગ્રહ માટે આદર્શ બનાવે છે. વેન્ટીનો ઉપયોગ સામાન્ય રીતે કાયમી સ્નેપશોટ સાથે ફાઇલ સિસ્ટમ પ્રદાન કરવા માટે અશ્મિભૂત સાથે થાય છે. બેલ લેબ્સ ખાતે સીન ક્વિનલાન અને સીન ડોરવર્ડ દ્વારા હિસ્ટ્રી વેન્ટીની રચના અને અમલ કરવામાં આવ્યો હતો. તે 2002માં પ્લાન 9 વિતરણમાં દેખાયું હતું. રસ કોક્સ દ્વારા વિકાસ ચાલુ રાખવામાં આવ્યો છે, જેમણે મોટાભાગના સર્વરને ફરીથી અમલમાં મૂક્યું છે, વેન્ટીમાં સંગ્રહિત કરવા માટે ડેટા સ્ટ્રક્ચર્સ (ફાઇલો, ડિરેક્ટરીઓ અને મેટા-ડેટા) બનાવવા માટે લાઇબ્રેરી લખી છે અને ઓપ્ટિમાઇઝેશનનો અમલ કર્યો છે. વેન્ટી પ્લાન 9 વિતરણમાં અને યુઝર સ્પેસમાંથી પ્લાન 9ના ભાગ રૂપે ઘણી યુનિક્સ જેવી ઓપરેટિંગ સિસ્ટમ્સ માટે ઉપલબ્ધ છે. વેન્ટીને ઇન્ફર્નોના ભાગ રૂપે ઍક્સેસ માટેના મોડ્યુલો સાથે સમાવવામાં આવી છે. તમારા પોતાના વેન્ટી સર્વર બનાવવા માટે કાર્યક્રમોનો ગો સમૂહ છે. વિવિધ પ્રકારના બેકએન્ડ સંગ્રહનો ઉપયોગ કરતા ઉદાહરણો શામેલ છે. વિગતો વેન્ટી એ યુઝર સ્પેસ ડેમન છે. ગ્રાહકો ટી. સી. પી. પર વેન્ટી સાથે જોડાય છે અને સરળ આર. પી. સી.-પ્રોટોકોલનો ઉપયોગ કરીને વાતચીત કરે છે. પ્રોટોકોલના સૌથી મહત્વપૂર્ણ સંદેશાઓ નીચે સૂચિબદ્ધ છે. નોંધ લો કે આપેલ સરનામા પર સરનામાંને કાઢી નાખવા અથવા માહિતીમાં ફેરફાર કરવા માટે કોઈ સંદેશ નથી. રીડ (સ્કોર, પ્રકાર), સ્કોર અને ટાઇપ રાઈટ (ડેટા, પ્રકાર) દ્વારા ઓળખાયેલ ડેટા પરત કરે છે, SHA-1 હેશિંગ ડેટા દ્વારા ગણવામાં આવેલા સરનામાં પર ડેટા સંગ્રહિત કરે છે, પ્રકાર સાથે જોડાય છે. વેન્ટી દ્વારા સંગ્રહિત ડેટા બ્લોક લંબાઈમાં 512 બાઇટ્સથી મોટો અને 56 કિલોબાઇટ્સથી નાનો હોવો જોઈએ. તેથી, જો વેન્ટી વપરાશકર્તા/ક્લાયન્ટ મોટા ડેટા બ્લોક્સ સંગ્રહિત કરવા માંગે છે, તો તેણે ડેટાસ્ટ્રક્ચર બનાવવું પડશે (જે વેન્ટીમાં સંગ્રહિત કરી શકાય છે). ઉદાહરણ તરીકે, ફોસિલ મોટી ફાઇલોને સંગ્રહિત કરવા માટે હેશ ટ્રીનો ઉપયોગ કરે છે. વેન્ટી પોતે ડેટા બ્લોકની સામગ્રી સાથે સંબંધિત નથી; જો કે તે ડેટા બ્લોકના પ્રકારને સંગ્રહિત કરે છે. વેન્ટીની રચનામાં નીચેના પરિણામો જોવા મળે છેઃ લખાણો કાયમી હોવાથી, ફાઇલ સિસ્ટમ એપેન્ડ-ઓનલી છે (જે ડેટા-ડિસ્ટ્રોઇંગ બગ્સની ઓછી તક સાથે સરળ અમલીકરણ માટે પરવાનગી આપે છે); કોઈ ફાઇલ સિસ્ટમનું વિભાજન થતું નથી. ગ્રાહકો સર્વરની ચોકસાઈ ચકાસી શકે છેઃ પરત કરેલા ડેટાનો સ્કોર વિનંતી કરેલા સરનામાં જેટલો જ હોવો જોઈએ. એસ. એચ. એ.-1 એ ક્રિપ્ટોગ્રાફિકલી સુરક્ષિત હેશ હોવાથી, તે માહિતીને બનાવટી બનાવવા માટે કોમ્પ્યુટેશનલ રીતે અશક્ય છે. ડેટાને ઓવરરાઇટ કરી શકાતો નથી. જો સરનામું પહેલેથી જ હાજર હોય, તો ડેટા પહેલેથી જ હાજર છે. વપરાશકર્તા પ્રમાણીકરણની બહુ ઓછી જરૂર છેઃ ડેટા કાઢી શકાતો નથી, અને જો સ્કોર જાણીતો હોય તો જ વાંચી શકાય છે. એકમાત્ર સંભવિત સમસ્યા એ છે કે વપરાશકર્તા ડિસ્ક ભરે છે. ડિસ્ક માળખાને જટિલ બનાવ્યા વિના ડેટાને સંકુચિત કરી શકાય છે. ડેટા બ્લોક્સ હાર્ડ ડ્રાઇવ્સ પર સંગ્રહિત થાય છે. ઉપલબ્ધ સંગ્રહ બનાવતી ડિસ્ક, સામાન્ય રીતે રેઇડ, ને ડેટા લોગ કહેવામાં આવે છે. આ ડેટા લોગ એરેના તરીકે ઓળખાતા નાના ટુકડાઓમાં વહેંચાયેલો છે, જે કદના હોય છે જેથી તેઓ સીડી/ડીવીડી અથવા ચુંબકીય ટેપ જેવા અન્ય માધ્યમોમાં લખી શકાય. અનુક્રમણિકા માટે હાર્ડ ડ્રાઇવ્સનો બીજો સમૂહ વપરાય છે, જે ડેટા લોગમાં સરનામાંઓ પર સ્કોરને મેપ કરે છે. અનુક્રમણિકા માટે ઉપયોગમાં લેવાતું ડેટા માળખું નિશ્ચિત કદની ડોલ સાથેનું હેશ ટેબલ છે. વેન્ટી રેન્ડમલી વિતરિત કરવાના સ્કોર્સ પર આધાર રાખે છે જેથી ડોલથી ભરી ન શકાય. દરેક શોધ માટે એક ડિસ્કને સમય માંગવો પડે છે, તેથી અનુક્રમણિકામાં સામાન્ય રીતે ઓછા વપરાશ સમય સાથે બહુવિધ હાર્ડ ડ્રાઇવ્સ હોય છે. ઉપયોગ વેન્ટી સર્વરનો ઉપયોગ ગ્રાહકો દ્વારા ઘણી રીતે થઈ શકે છે. પ્લાન 9 ઓપરેટિંગ સિસ્ટમ ફાઇલ સિસ્ટમના દૈનિક આર્કાઇવલ સ્નેપશોટ માટે વેન્ટીનો ઉપયોગ કરે છે. મુખ્ય ફાઇલસિસ્ટમની આ નકલો તારીખ પ્રમાણે ગોઠવાયેલી સંપૂર્ણ નકલોની ફાઇલટ્રી તરીકે ગોઠવી શકાય છે. ઉપયોગિતા કાર્યક્રમો 'વેક' અને 'અનવેક' નો ઉપયોગ વેન્ટી સર્વરમાંથી વ્યક્તિગત ફાઇલોના સ્વરૂપમાં અથવા ડિરેક્ટરી અને તેની સામગ્રી તરીકે ડેટા સંગ્રહિત કરવા અને પુનઃપ્રાપ્ત કરવા માટે થઈ શકે છે. 'વીએસીએફએસ' બધા દૂરસ્થ સંગ્રહિત ડેટાની સંપૂર્ણ પુનઃપ્રાપ્તિ વિના વેક સ્કોર સાથે સંકળાયેલ ડેટાને બ્રાઉઝ કરવાની મંજૂરી આપે છે. ડેટા અને અનુક્રમણિકા સ્કોર્સને 'rdarena' અને 'rrarena' નો ઉપયોગ કરીને વેન્ટી સર્વરો વચ્ચે ડુપ્લિકેટ કરી શકાય છે. બેલ લેબ્સમાંથી પ્લાન 9, યુઝર સ્પેસમાંથી પ્લાન 9, ઇન્ફર્નો અને અન્ય કોઈપણ ક્લાયન્ટ્સ કે જે વેન્ટી પ્રોટોકોલનો અમલ કરે છે તે તમામ ડેટાને સંગ્રહિત કરવા અને પુનઃપ્રાપ્ત કરવા માટે એકબીજાના બદલે વાપરી શકાય છે. હેશ અથડામણ માહિતી સિદ્ધાંતનો મૂળભૂત સિદ્ધાંત કબૂતર છિદ્ર સિદ્ધાંત છે, જે જણાવે છે કે જો સમૂહ A સમૂહ B કરતાં વધુ મૂલ્યો ધરાવે છે, તો પછી A થી B ને મેપ કરતા કોઈપણ કાર્ય માટે B ના સભ્યો હશે જે સમૂહ A ના એકથી વધુ સભ્યો સાથે સંકળાયેલા હશે. વેન્ટીના કિસ્સામાં, સંભવિત SHA-1 હેશનો સમૂહ દેખીતી રીતે ફાઇલ સિસ્ટમમાં સંગ્રહિત કરી શકાય તેવા તમામ સંભવિત બ્લોકના સમૂહ કરતાં નાનો છે, અને આમ હેશ અથડામણ શક્ય છે. 160-બીટ હેશમાં આકસ્મિક હેશ અથડામણનું જોખમ ખૂબ જ ઓછું છે, ડેટાના એક્સાબાઇટ્સ માટે પણ. ઐતિહાસિક રીતે, જોકે, ક્રિપ્ટોગ્રાફિક અને કોમ્પ્યુટેશનલ પ્રગતિ બંનેને કારણે ઘણા હેશ કાર્યો દુર્ભાવનાપૂર્ણ હેશ અથડામણ માટે વધુને વધુ સંવેદનશીલ બની જાય છે. વેન્ટી હેશ અથડામણના મુદ્દાને સંબોધિત કરતું નથી; આ સમયે, SHA-1 માં અથડામણ શોધવાનું હજી પણ ગણતરીત્મક રીતે અશક્ય છે, પરંતુ વેન્ટી માટે ભવિષ્યમાં કોઈ સમયે અલગ હેશ કાર્ય પર સ્વિચ કરવું જરૂરી બની શકે છે. 23 ફેબ્રુઆરી 2017ના રોજ, ગૂગલે SHAtered હુમલાની જાહેરાત કરી હતી, જેમાં તેમણે લગભગ 263.1 SHA-1 મૂલ્યાંકનમાં સમાન SHA-1 હેશ સાથે બે અલગ અલગ PDF ફાઇલો બનાવી હતી. ફોસિલ-સ્નેપશોટ ફાઇલ સિસ્ટમ પણ જુઓ જે કાયમી સંગ્રહ માટે વેન્ટીનો ઉપયોગ કરે છે યુઝર સ્પેસ રેફરન્સમાંથી પ્લાન 9 બાહ્ય લિંક્સ વેન્ટીઃ આર્કાઇવલ સંગ્રહ માટે એક નવો અભિગમ, વેન્ટીનું વર્ણન કરતું કાગળ. નવું વેન્ટી મેન્યુઅલ પૃષ્ઠ (ઝાંખી), સામાન્ય વર્ણન અને સંગ્રહ સ્વરૂપ સહિત વિભાગ 7 વેન્ટી મેન્યુઅલ પૃષ્ઠ. નવું વેન્ટી મેન્યુઅલ પેજ (સર્વર), વિભાગ 8 વેન્ટી સર્વર મેન્યુઅલ પેજ. ન્યૂ વેન્ટી મેન્યુઅલ પેજ (ટૂલ્સ), સેક્શન 1 વેન્ટી યુટિલિટીઝ મેન્યુઅલ પેજ. ક્લાયન્ટ્સ અને સર્વર્સને અમલમાં મૂકવા માટે કોડ પર જાઓ. ઇન્ફર્નો માટે લિમ્બોમાં વેન્ટી મોડ્યુલ, ગૂગલ સમર ઓફ કોડને આભારી છે. બેલ લેબ્સ તરફથી પ્લાન 9