RavenDB
રેવેનડીબી એ સી #માં લખાયેલ એક ઓપન-સોર્સ સંપૂર્ણ એસીઆઈડી દસ્તાવેજ-લક્ષી ડેટાબેઝ છે, જે હાઇબરનેટિંગ રાઇનોઝ લિમિટેડ દ્વારા વિકસાવવામાં આવ્યો છે. તે ક્રોસ પ્લેટફોર્મ છે, જે વિન્ડોઝ, લિનક્સ અને મેક ઓએસ પર સપોર્ટેડ છે. રેવેનડીબી ડેટાને જેએસઓએન દસ્તાવેજો તરીકે સંગ્રહિત કરે છે અને માસ્ટર-માસ્ટર પ્રતિકૃતિ સાથે વિતરિત ક્લસ્ટરોમાં ગોઠવી શકાય છે. મૂળરૂપે "રાઇનો દિવાનડીબી" તરીકે ઓળખાતો ઇતિહાસ, રેવેનડીબી 2008 માં ઓરેન ઈની (ઉર્ફે આયન્ડે રાહીન) દ્વારા એક પ્રોજેક્ટ તરીકે શરૂ થયો હતો અને તે હાઇબરનેટિંગ રાઇનોઝ લિમિટેડ દ્વારા વિકસાવવામાં આવ્યો છે. કંપનીનો દાવો છે કે તે ડોટ નેટ ફ્રેમવર્કમાં મૂળ રૂપે ચાલનારો પ્રથમ દસ્તાવેજ ડેટાબેઝ હતો. તે એ. સી. આઈ. ડી. બાંયધરીઓ પ્રદાન કરવા માટેનો પ્રારંભિક દસ્તાવેજ ડેટાબેઝ હતો. 2019 માં, હાઇબરનેટિંગ રાઇનોઝે રેવેનડીબી ક્લાઉડ નામની ક્લાઉડ સેવા તરીકે રેવેનડીબી ઓફર કરવાનું શરૂ કર્યું. આવૃત્તિ ઇતિહાસ લાલઃ સપોર્ટેડ લીલો નથીઃ સપોર્ટેડ સિસ્ટમ આર્કિટેક્ચર ડેટા જે. એસ. ઓ. એન. ફોર્મેટમાં યોજના વિનાના દસ્તાવેજો તરીકે સંગ્રહિત છે. દસ્તાવેજોને સંગ્રહોમાં જૂથબદ્ધ કરવામાં આવે છે, જેમાં દરેક દસ્તાવેજ બરાબર એક સંગ્રહ ધરાવે છે. મલ્ટી-માસ્ટર પ્રતિકૃતિનો ઉપયોગ કરીને ડેટાબેઝને સર્વરના વિતરિત સમૂહ (જેને 'નોડ્સ' કહેવાય છે) પર ગોઠવી શકાય છે. ક્લસ્ટર સ્તરે કેટલીક કામગીરીઓ માટે મોટાભાગના ગાંઠોની સર્વસંમતિની જરૂર પડે છે; સર્વસંમતિ રચિસ નામના રાફ્ટ અલ્ગોરિધમનો ઉપયોગ કરીને નક્કી કરવામાં આવે છે. કાર્યો સંતુલિત રીતે વિવિધ ગાંઠોમાં વહેંચવામાં આવે છે. આવૃત્તિઓ 1 થી 3.5 શાર્ડિંગને ટેકો આપે છે, પરંતુ આવૃત્તિઓ 4. x નથી. રેવેનડીબીએ મૂળરૂપે ઇ. એસ. ઇ. એન. ટી. સંગ્રહ એન્જિનનો ઉપયોગ કર્યો હતો. આવૃત્તિ 3 એ તેને વોરોન નામના નવા ઓપન-સોર્સ સ્ટોરેજ એન્જિન સાથે બદલ્યું. ક્લાયન્ટ્સ સી #, સી + +, જાવા, નોડજેએસ, પાયથોન, રૂબી અને ગો માટે સપોર્ટેડ છે. મુખ્ય લાક્ષણિકતાઓ ક્લસ્ટર-વાઇડ એસીઆઈડી વ્યવહારો-એસીઆઈડી વ્યવહારો ક્લસ્ટરના અવકાશમાં (સિંગલ નોડ વ્યવહારો ઉપરાંત) ચલાવી શકાય છે. વ્યવહાર માત્ર ત્યારે જ ચાલુ રહેશે જો તે નોડ્સની સર્વસંમતિ દ્વારા પુષ્ટિ કરવામાં આવે; જો તે ન હોય, તો વ્યવહાર રદ કરવામાં આવે છે અને પાછો ખેંચવામાં આવે છે. ડિસ્ટ્રિબ્યુટેડ કાઉન્ટર્સ અનુક્રમણિકા અને ક્વેરીંગ ક્વેરીઝ LINQ માં અથવા RQL (રેવેન ક્વેરી લેંગ્વેજ માટે વપરાય છે) નામની કસ્ટમ ક્વેરી લેંગ્વેજ સાથે SQL જેવી વાક્યરચના સાથે વ્યક્ત કરવામાં આવે છે. ગતિશીલ અનુક્રમણિકા-રેવેનડીબીમાં એ છે કે પ્રશ્નો માત્ર અનુક્રમણિકા દ્વારા સંતુષ્ટ થઈ શકે છે; જો કોઈ યોગ્ય અનુક્રમણિકા અસ્તિત્વમાં ન હોય, તો ક્વેરીને સંતોષવા માટે એક નવો અનુક્રમણિકા બનાવવામાં આવે છે. ગ્રાફ ક્વેરીંગ-સંબંધિત દસ્તાવેજોને ગ્રાફમાં શિરોબિંદુઓ તરીકે ગણી શકાય, જેમાં જોડાણોને ધાર તરીકે ગણવામાં આવે છે. આ પુનરાવર્તિત પ્રશ્નો બનાવવાનું શક્ય બનાવે છે. પ્રક્ષેપણ-અનુક્રમણિકાઓને અનુક્રમિત ડેટાને રૂપાંતરિત કરવા, ગણતરીઓ કરવા, એકત્રીકરણ કરવા અને સર્વર બાજુએ જાવાસ્ક્રિપ્ટ કોડ ચલાવવા માટે રૂપરેખાંકિત કરી શકાય છે. પૂર્ણ-લખાણ શોધ-નીચા સ્તરે, માહિતીને Lucene.net સાથે અનુક્રમિત કરવામાં આવે છે, જેનો અર્થ છે કે અનુક્રમણિકાઓ પૂર્ણ-લખાણ શોધને ટેકો આપે છે. ડોક્યુમેન્ટ એક્સ્ટેન્શન્સ ડોક્યુમેન્ટ્સને અન્ય ડેટા પ્રકારો સાથે વિસ્તૃત કરી શકાય છે જે જે. એસ. ઓ. એન. માટે ઓછા અનુકૂળ છે. આ એક્સ્ટેન્શન્સને દસ્તાવેજથી સ્વતંત્ર રીતે લોડ, સંશોધિત અને સંગ્રહિત કરી શકાય છે. જોડાણો-દસ્તાવેજોમાં કોઈપણ ડેટા પ્રકારનાં બહુવિધ જોડાણો હોઈ શકે છે, જેમ કે છબીઓ, ઓડિયો અથવા શુદ્ધ દ્વિસંગી. સમય શ્રેણી-ચોક્કસ સમય સાથે સંકળાયેલ આંકડાકીય માહિતી અને કાલક્રમિક રીતે ક્રમબદ્ધ. રેવેનડીબી ક્લાઉડ એ 2019 માં એડબ્લ્યુએસ, એઝ્યુર અને જીસીપી પર શરૂ કરાયેલ વ્યવસ્થાપિત ડેટાબેઝ-એ-એ-સર્વિસ છે. આ સેવા વપરાશકર્તાઓ માટે હાર્ડવેર જાળવણી અને સુરક્ષા જેવા વહીવટી કાર્યો કરે છે. તેમાં થ્રોટલિંગ ટાળવા માટે ક્લસ્ટરમાં વિવિધ નોડ્સ વચ્ચે CPU સંસાધનોની વહેંચણીની સુવિધા છે. એમ્બેડેડ ઉદાહરણ રેવેનડીબીને એમ્બેડેડ ઉદાહરણ તરીકે પણ ચલાવી શકાય છે, ઉદાહરણ તરીકે, નાના કાર્યક્રમો અને વિભાવનાઓના પુરાવા માટે એક ઉત્તમ વિકલ્પ. તેમના સર્વરમાંથીઃ એમ્બેડેડ ઇન્સ્ટન્સ પેજ ચલાવવુંઃ "રેવેનડીબી તમારી એપ્લિકેશનમાં એમ્બેડ કરવાનું ખૂબ જ સરળ બનાવે છે, રેવેનડીબી એમ્બેડેડ પેકેજ સાથે તમે તમારા રેવેનડીબી સર્વરને થોડા સરળ પગલાં સાથે સંકલિત કરી શકો છો". રેવેનડીબીનું લાઇસન્સિંગ એજીપીએલવી3 લાઇસન્સ હેઠળ ઓપન સોર્સ છે. તે વ્યવસાયિક લાઇસન્સ અને ઓપન સોર્સ પ્રોજેક્ટ્સ માટે મફત લાઇસન્સ સાથે ઉપલબ્ધ છે, પરંતુ તેના માટે અરજી કરવી આવશ્યક છે. સંદર્ભો બાહ્ય કડીઓ રેવેનડીબી ક્લાઉડ ગિટહબ આયન્ડે બ્લોગ 2010 સોફ્ટવેર દસ્તાવેજ-લક્ષી ડેટાબેઝ નોએસક્યુએલ સ્ટ્રક્ચર્ડ સ્ટોરેજ ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ આર્કિટેક્ચર