આર્કિટેક્ચર નિર્ણય રેકોર્ડ: ડેટાબેઝ ટેકનોલોજીની પસંદગી
સ્થિતિ
સ્વીકૃત
સંદર્ભ
અમે એક નવી એપ્લિકેશન ડિઝાઇન કરી રહ્યા છીએ જેને ડેટા માપી શકાય તેવી અને કામગીરી-કેન્દ્રિત રીતે સંગ્રહ અને પુનઃપ્રાપ્ત કરવાની જરૂર છે. અમે સામાન્ય રીતે વપરાતા ત્રણ પ્રકારની ડેટાબેઝ ટેકનોલોજી ઓળખી છે: રિલેશનલ ડેટાબેઝ, ડોક્યુમેન્ટ ડેટાબેઝ અને ઇવેન્ટ ડેટાબેઝ.
રિલેશનલ ડેટાબેઝ ડેટાને નિશ્ચિત સ્કીમા સાથેના ટેબલમાં સંગ્રહે છે અને કડક ડેટા અખંડિતતા મર્યાદાઓ લાગુ કરે છે. તે જટિલ ડેટા સંબંધો અને ટ્રાન્ઝેક્શનની જરૂર હોય તેવી એપ્લિકેશનો માટે યોગ્ય છે. ઉદાહરણોમાં MySQL, PostgreSQL અને Oracle શામેલ છે.
ડોક્યુમેન્ટ ડેટાબેઝ ડેટાને JSON જેવા દસ્તાવેજોમાં સંગ્રહે છે અને સ્કીમા-રહિત છે. તે લવચીક ડેટા મોડેલ અને આડી માપનીયતાની જરૂર હોય તેવી એપ્લિકેશનો માટે સારી રીતે અનુકૂળ છે. ઉદાહરણોમાં MongoDB, Couchbase અને Amazon DynamoDB શામેલ છે.
ઇવેન્ટ ડેટાબેઝ ડેટાને ઘટનાઓની શ્રેણી તરીકે સંગ્રહે છે, ડેટામાં દરેક ફેરફાર નોંધે છે. તે ઓડિટિંગ, ઇવેન્ટ સોર્સિંગ અને જટિલ ડેટા પ્રોસેસિંગની જરૂર હોય તેવી એપ્લિકેશનો માટે યોગ્ય છે. ઉદાહરણોમાં Apache Kafka, Apache Pulsar અને AWS Kinesis શામેલ છે. નિર્ણય
અમારી એપ્લિકેશનની જરૂરિયાતો અને મર્યાદાઓનું કાળજીપૂર્વક મૂલ્યાંકન કર્યા પછી, અમે ડોક્યુમેન્ટ ડેટાબેઝ વાપરવાનું નક્કી કર્યું છે.
તર્ક
અમે ડોક્યુમેન્ટ ડેટાબેઝ પસંદ કર્યો છે કારણ કે:
અમારી એપ્લિકેશનને લવચીક ડેટા મોડેલ જોઈએ છે જે સમય સાથે વિકસી શકે. ડોક્યુમેન્ટ ડેટાબેઝ અમને ડેટાને સ્કીમા-રહિત ફોર્મેટમાં સંગ્રહવા દે છે, જેનો અર્થ એ કે અમે ડેટાબેઝ સ્કીમા બદલ્યા વિના નવા ફીલ્ડ ઉમેરી શકીએ છીએ અથવા હાલના દસ્તાવેજોની રચના બદલી શકીએ છીએ.
અમારી એપ્લિકેશનને મોટા જથ્થાના ડેટા અને ટ્રાફિક સંભાળવા માટે આડી રીતે માપવાની જરૂર છે. ડોક્યુમેન્ટ ડેટાબેઝ શાર્ડિંગ અને રેપ્લિકેશન માટે બિલ્ટ-ઇન સપોર્ટ આપે છે, જે અમને ડેટાને અનેક સર્વર્સ પર વિતરિત કરવા અને ઊંચા વાંચન-લેખન થ્રુપુટને સંભાળવા સક્ષમ બનાવે છે.
અમારી એપ્લિકેશનને ઝડપી અને કાર્યક્ષમ ડેટા પુનઃપ્રાપ્તિની જરૂર છે. ડોક્યુમેન્ટ ડેટાબેઝ શક્તિશાળી ઇન્ડેક્સિંગ અને ક્વેરી ક્ષમતાઓ આપે છે જે અમને ડેટા ઝડપથી અને કાર્યક્ષમ રીતે પુનઃપ્રાપ્ત કરવા સક્ષમ બનાવે છે.
અમારી એપ્લિકેશનને જટિલ ટ્રાન્ઝેક્શન કે ડેટા સંબંધોની જરૂર નથી. રિલેશનલ ડેટાબેઝ ડેટા અખંડિતતા મર્યાદાઓ લાગુ કરવામાં અને જટિલ ટ્રાન્ઝેક્શન સંભાળવામાં ઉત્કૃષ્ટ હોવા છતાં, અમારી એપ્લિકેશનને આવી જરૂરિયાતો નથી. ડોક્યુમેન્ટ ડેટાબેઝ અમારા ઉપયોગ કેસ માટે પૂરતી સુસંગતતા અને ટકાઉપણાની ખાતરી આપી શકે છે.
પરિણામો
ડોક્યુમેન્ટ ડેટાબેઝ પસંદ કરવાથી, અમે જે ચોક્કસ ટેકનોલોજી વાપરવાનું પસંદ કરીએ તે શીખવા અને સમજવામાં અમારે રોકાણ કરવું પડશે. વધુમાં, કામગીરી અને માપનીયતા મહત્તમ કરવા માટે અમારે ખાતરી કરવી પડશે કે અમારી એપ્લિકેશનનું ડેટા મોડેલ ડોક્યુમેન્ટ ડેટાબેઝના ડેટા મોડેલ સાથે સારી રીતે બંધબેસે છે.
જોકે, અમે માનીએ છીએ કે ડોક્યુમેન્ટ ડેટાબેઝ વાપરવાના ફાયદા ખર્ચ કરતાં વધુ છે, અને તે અમારી એપ્લિકેશનની જરૂરિયાતો અને મર્યાદાઓ માટે સૌથી યોગ્ય છે.