ഉള്ളടക്ക പട്ടിക[മറയ്ക്കുക][കാണിക്കുക]
- 1. സിസ്റ്റം ഡിസൈൻ എന്നതുകൊണ്ട് നിങ്ങൾ എന്താണ് ഉദ്ദേശിക്കുന്നത്?
- 2. ഒരു സിസ്റ്റം ഡിസൈനറുടെ ഏറ്റവും പ്രധാനപ്പെട്ട സവിശേഷതകൾ എന്തൊക്കെയാണ്?
- 3. യഥാർത്ഥത്തിൽ എന്താണ് CAP സിദ്ധാന്തം?
- 4. ലോഡ് ബാലൻസിംഗ് വഴി നിങ്ങൾ എന്താണ് മനസ്സിലാക്കുന്നത്?
- 5. അസിൻക്രണസ് പ്രോഗ്രാമിംഗും സമാന്തര പ്രോഗ്രാമിംഗും തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
- 6. തിരശ്ചീനവും ലംബവുമായ സ്കെയിലിംഗ് തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
- 7. ലേറ്റൻസി, ത്രൂപുട്ട്, സിസ്റ്റം ലഭ്യത എന്നിവ കൊണ്ട് നിങ്ങൾ കൃത്യമായി എന്താണ് അർത്ഥമാക്കുന്നത്?
- 8. ACID പ്രോപ്പർട്ടികൾ എന്തൊക്കെയാണ്?
- 9. കൃത്യമായി എന്താണ് ഷാർഡിംഗ്?
- 10. എന്താണ് CDN?
- 11. എന്തുകൊണ്ടാണ് CDN ഉപയോഗിക്കുന്നത്?
- 12. ഷാർഡിംഗും വിഭജനവും തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
- 13. എന്താണ് കാഷിംഗ്?
- 14. എന്താണ് CDN എഡ്ജ് സെർവറുകൾ?
- 15. സിസ്റ്റം രൂപകൽപനയ്ക്കായുള്ള വ്യത്യസ്ത സ്ഥിരത പാറ്റേണുകൾ എന്തൊക്കെയാണ്?
- 16. ശുഭാപ്തിവിശ്വാസമുള്ള ലോക്കിംഗ് എന്നതുകൊണ്ട് നിങ്ങൾ എന്താണ് അർത്ഥമാക്കുന്നത്?
- 17. "നേതൃ തിരഞ്ഞെടുപ്പ്" എന്നതുകൊണ്ട് നിങ്ങൾ കൃത്യമായി എന്താണ് അർത്ഥമാക്കുന്നത്?
- 18. TinyURL പോലെയുള്ള URL ഷോർട്ട്നിംഗ് സേവനം രൂപകൽപ്പന ചെയ്യുന്നതിനുള്ള നിങ്ങളുടെ സമീപനം എന്താണ്?
- 19. ട്വിറ്റർ രൂപകൽപ്പന ചെയ്യുന്നതിനുള്ള നിങ്ങളുടെ സമീപനം എന്താണ്?
- 20. Facebook-നായി ന്യൂസ് ഫീഡ് സംവിധാനം ഉണ്ടാക്കുക
- 21. ഒരു സിസ്റ്റത്തിന്റെ ബേസ് പ്രോപ്പർട്ടി എന്താണ്?
- 22. ഐപി അഡ്രസ് അഫിനിറ്റി ടെക്നിക്കിനൊപ്പം ലോഡ് ബാലൻസിങ് എന്താണ്?
- 23. കൃത്യമായി എന്താണ് കാഷെ മാറ്റിസ്ഥാപിക്കൽ (അല്ലെങ്കിൽ എവിക്ഷൻ പോളിസി) അൽഗോരിതങ്ങൾ?
- 24. വിതരണം ചെയ്ത ഇടപാട് എന്നതുകൊണ്ട് നിങ്ങൾ കൃത്യമായി എന്താണ് അർത്ഥമാക്കുന്നത്?
- 25. എന്താണ് പട്ടിണി?
- തീരുമാനം
നിങ്ങൾ ആരംഭിക്കുന്നതിന് മുമ്പ്, ഞങ്ങളുടെ വായന ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു സിസ്റ്റം ഡിസൈനിനെക്കുറിച്ചുള്ള ആമുഖ ഗൈഡ് നിങ്ങളുടെ അടിസ്ഥാന അറിവ് പുതുക്കാൻ.
സിസ്റ്റം ഡിസൈൻ പരിജ്ഞാനം ആവശ്യമുള്ള ഒരു സ്ഥാനത്തേക്ക് അഭിമുഖം നടത്തുമ്പോൾ, നിങ്ങളുടെ പശ്ചാത്തലത്തെക്കുറിച്ച് സംസാരിക്കാനും സങ്കീർണ്ണമായ സംവിധാനങ്ങൾ വികസിപ്പിക്കാനുള്ള നിങ്ങളുടെ കഴിവ് പ്രകടിപ്പിക്കാനും നിങ്ങൾക്ക് അവസരമുണ്ട്.
സാധ്യതയുള്ള ഒരു തൊഴിലുടമയുമായി സംസാരിക്കുമ്പോൾ, നിങ്ങളുടെ വൈദഗ്ദ്ധ്യം പ്രകടിപ്പിക്കുന്ന രീതി, ആ സ്ഥാനത്തേക്കുള്ള യോഗ്യതയുള്ള ഒരു സ്ഥാനാർത്ഥിയാണെന്ന് തെളിയിക്കാൻ നിങ്ങളെ സഹായിച്ചേക്കാം.
അടിസ്ഥാന ഡിസൈൻ ആശയങ്ങൾ പഠിച്ച്, അവയെക്കുറിച്ചുള്ള അന്വേഷണങ്ങളോട് നിങ്ങൾ എങ്ങനെ പ്രതികരിക്കുമെന്ന് ചിന്തിച്ചുകൊണ്ട് നിങ്ങളുടെ ജോലി അഭിമുഖത്തിന് തയ്യാറെടുക്കാം. നിങ്ങളുടെ അടുത്ത ഇന്റർവ്യൂവിന് തയ്യാറെടുക്കാൻ നിങ്ങളെ സഹായിക്കുന്നതിന് ഞങ്ങൾ ഈ പോസ്റ്റിൽ ചില സാധാരണ സിസ്റ്റം ഡിസൈൻ അഭിമുഖ ചോദ്യങ്ങളും ഉത്തരങ്ങളും പരിശോധിക്കും.
1. സിസ്റ്റം ഡിസൈൻ എന്നതുകൊണ്ട് നിങ്ങൾ എന്താണ് ഉദ്ദേശിക്കുന്നത്?
മൊഡ്യൂളുകൾ, ആർക്കിടെക്ചർ, ഘടകങ്ങൾ, അവയുടെ ഇന്റർഫേസുകൾ, മുൻകൂട്ടി നിശ്ചയിച്ചിട്ടുള്ള മാനദണ്ഡങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ള ഡാറ്റ എന്നിവ ഉൾപ്പെടെയുള്ള സിസ്റ്റം സവിശേഷതകൾ സ്ഥാപിക്കുന്ന പ്രക്രിയയെ സിസ്റ്റം ഡിസൈൻ എന്നറിയപ്പെടുന്നു.
ഒരു കമ്പനിയുടെയോ ഓർഗനൈസേഷന്റെയോ നിർദ്ദിഷ്ട ലക്ഷ്യങ്ങളും ലക്ഷ്യങ്ങളും നിറവേറ്റുന്നതിനായി സിസ്റ്റങ്ങൾ നിർവചിക്കുകയും സൃഷ്ടിക്കുകയും രൂപകൽപ്പന ചെയ്യുകയും ചെയ്യുന്ന പ്രക്രിയയാണിത്. സിസ്റ്റം ഡിസൈൻ എന്നത് കോഡിംഗിനെക്കാൾ കൂടുതൽ സിസ്റ്റം വിശകലനം, ആർക്കിടെക്ചറൽ പാറ്റേണുകൾ, API-കൾ, ഡിസൈൻ പാറ്റേണുകൾ, ഒട്ടിക്കൽ എന്നിവയെക്കുറിച്ചാണ്.
2. ഒരു സിസ്റ്റം ഡിസൈനറുടെ ഏറ്റവും പ്രധാനപ്പെട്ട സവിശേഷതകൾ എന്തൊക്കെയാണ്?
- ഉപയോക്തൃ ഇടപെടൽ
- ബാഹ്യ API കോൾ
- ഓഫ്ലൈൻ പ്രക്രിയകൾ
3. യഥാർത്ഥത്തിൽ എന്താണ് CAP സിദ്ധാന്തം?
CAP (Consistency-Availability-Partition Tolerance) സിദ്ധാന്തമനുസരിച്ച്, ഒരു ഡിസ്ട്രിബ്യൂട്ടഡ് സിസ്റ്റത്തിന് C, A, P എന്നിവ ഒരേ സമയം ഉറപ്പാക്കാൻ കഴിയില്ല. പരമാവധി മൂന്ന് ഉറപ്പുകളിൽ രണ്ടെണ്ണം മാത്രമേ നൽകാൻ കഴിയൂ. ഇത് മനസ്സിലാക്കാൻ നമ്മെ സഹായിക്കാൻ നമുക്ക് ഒരു വിതരണം ചെയ്ത ഡാറ്റാബേസ് സിസ്റ്റം ഉപയോഗിക്കാം.
- സ്ഥിരത: ഒരു ഡാറ്റാബേസ് ഇടപാട് പൂർത്തിയാകുമ്പോൾ ഡാറ്റ സ്ഥിരമായി നിലനിൽക്കണമെന്ന് ഇത് വ്യക്തമാക്കുന്നു. ഉദാഹരണത്തിന്, ഒരു ഡാറ്റാബേസ് അപ്ഡേറ്റിന് ശേഷം എല്ലാ ചോദ്യങ്ങളും ഒരേ പ്രതികരണം നൽകണം.
- ലഭ്യത: ഡാറ്റാബേസുകൾ എല്ലായ്പ്പോഴും ലഭ്യമാകുകയും പ്രതികരിക്കുകയും വേണം.
- പാർട്ടീഷൻ ടോളറൻസ്: ആശയവിനിമയം പ്രശ്നമാകുകയാണെങ്കിൽപ്പോലും, ഡാറ്റാബേസ് സിസ്റ്റം പ്രവർത്തിക്കുന്നത് തുടരണം.
4. ലോഡ് ബാലൻസിംഗ് വഴി നിങ്ങൾ എന്താണ് മനസ്സിലാക്കുന്നത്?
ബാലൻസിംഗ് ലോഡുചെയ്യുക ഒരു കൂട്ടം ബാക്കെൻഡ് സെർവറുകൾക്കിടയിൽ ഇൻകമിംഗ് ട്രാഫിക്കിനെ കാര്യക്ഷമമായി വിഭജിക്കുന്ന പ്രക്രിയയാണ്. ഇവയെ സെർവർ പൂളുകൾ എന്ന് വിളിക്കുന്നു. ഉപഭോക്താക്കളിൽ നിന്നുള്ള ദശലക്ഷക്കണക്കിന് ചോദ്യങ്ങൾ കൈകാര്യം ചെയ്യുന്നതിനും അവയോട് വേഗത്തിലും വിശ്വസനീയമായും പ്രതികരിക്കുന്നതിനുമാണ് ആധുനിക വെബ്സൈറ്റുകൾ നിർമ്മിച്ചിരിക്കുന്നത്. ഈ ആവശ്യങ്ങൾ കൈകാര്യം ചെയ്യാൻ കൂടുതൽ സെർവറുകൾ ആവശ്യമാണ്.
ഈ സാഹചര്യത്തിൽ, അഭ്യർത്ഥന ട്രാഫിക്കിന്റെ അമിതഭാരം ഒഴിവാക്കുന്നതിന് ഓരോ സെർവറിനുമിടയിൽ കാര്യക്ഷമമായി വിഭജിക്കുന്നത് വളരെ പ്രധാനമാണ്. ലോഡ് ബാലൻസർ ഒരു ട്രാഫിക് കോപ്പായി പ്രവർത്തിക്കുന്നു, അഭ്യർത്ഥനകൾ തടസ്സപ്പെടുത്തുകയും ലഭ്യമായ സെർവറുകളിൽ അവയെ റൂട്ട് ചെയ്യുകയും ചെയ്യുന്നു, അതിനാൽ ഒരു സെർവറും അമിതഭാരം ഉണ്ടാകാതിരിക്കുകയും ആപ്ലിക്കേഷൻ പ്രകടനത്തെ മോശമാക്കുകയും ചെയ്യും.
5. അസിൻക്രണസ് പ്രോഗ്രാമിംഗും സമാന്തര പ്രോഗ്രാമിംഗും തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
നിങ്ങൾ എന്തെങ്കിലും അസമന്വിതമായി പ്രവർത്തിപ്പിക്കുമ്പോൾ, മറ്റെന്തെങ്കിലും പോകുന്നതിന് മുമ്പ് അത് പൂർത്തിയാകുന്നതുവരെ നിങ്ങൾ കാത്തിരിക്കേണ്ടതില്ലെന്ന് ഇത് സൂചിപ്പിക്കുന്നു. സമാന്തരത എന്നത് പല ജോലികളും ഒരേസമയം നിർവഹിക്കുന്നതിനെ സൂചിപ്പിക്കുന്നു.
നിങ്ങൾക്ക് ജോലികളെ വ്യത്യസ്ത ജോലികളാക്കി മാറ്റാൻ കഴിയുമ്പോൾ, സമാന്തരത ഫലപ്രദമായി പ്രവർത്തിക്കുന്നു. സമന്വയത്തെ പ്രതിനിധീകരിക്കുന്നതിനുള്ള ഒരു മാർഗമാണ് (ഉപകരണം അല്ലെങ്കിൽ മെക്കാനിസം), അതായത് ആശയവിനിമയം നടത്താനും വിഭവങ്ങൾ പങ്കിടാനും കഴിയുന്ന ഒരു കൂട്ടം എന്റിറ്റികളാണ് Async ഉം കോൾബാക്കുകളും.
6. തിരശ്ചീനവും ലംബവുമായ സ്കെയിലിംഗ് തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
ചിതറിക്കിടക്കുന്ന ഉപകരണങ്ങളുടെ ശൃംഖലയിലുടനീളം പ്രോസസ്സിംഗും മെമ്മറി ആവശ്യകതയും വ്യാപിപ്പിക്കുന്ന ഒരു നെറ്റ്വർക്കിലേക്ക് പുതിയ കമ്പ്യൂട്ടിംഗ് ഉപകരണങ്ങൾ ചേർക്കുന്നതിനെ തിരശ്ചീന സ്കെയിലിംഗ് എന്ന് വിളിക്കുന്നു. ലളിതമായി പറഞ്ഞാൽ, നിലവിലെ പൂളിലേക്ക് പുതിയ സെർവർ സംഭവങ്ങൾ ചേർത്തു, ഈ ഉപകരണങ്ങൾക്കിടയിൽ ട്രാഫിക് ലോഡ് കാര്യക്ഷമമായി വ്യാപിക്കുന്നു.
റാം, കാര്യക്ഷമമായ CPU-കൾ എന്നിവ ചേർത്ത് ഒരു കമ്പ്യൂട്ടറിന്റെ റിസോഴ്സ് കപ്പാസിറ്റി വികസിപ്പിക്കുക അല്ലെങ്കിൽ ഉയർന്ന ശേഷിയുള്ള ഒരു പുതിയ മെഷീനിലേക്ക് മൈഗ്രേറ്റ് ചെയ്യുക എന്ന ആശയത്തെ വെർട്ടിക്കൽ സ്കെയിലിംഗ് സൂചിപ്പിക്കുന്നു. പ്രോഗ്രാമിംഗ് മാറ്റങ്ങളൊന്നും ആവശ്യമില്ലാതെ സെർവറിന്റെ പ്രവർത്തനക്ഷമത വർദ്ധിപ്പിക്കാൻ കഴിയും.
7. ലേറ്റൻസി, ത്രൂപുട്ട്, സിസ്റ്റം ലഭ്യത എന്നിവ കൊണ്ട് നിങ്ങൾ കൃത്യമായി എന്താണ് അർത്ഥമാക്കുന്നത്?
ഞങ്ങളുടെ സേവനങ്ങളുടെ വേഗതയ്ക്കും വിശ്വാസ്യതയ്ക്കും സംഭാവന നൽകുന്നതിനാൽ പ്രകടനം സിസ്റ്റം ഡിസൈനിന്റെ ഒരു പ്രധാന വശമാണ്. ഏറ്റവും പ്രധാനപ്പെട്ട മൂന്ന് പ്രകടന നടപടികൾ ഇനിപ്പറയുന്നവയാണ്:
- ഒരു സന്ദേശം മില്ലിസെക്കൻഡിൽ എത്തിക്കാൻ എടുക്കുന്ന സമയത്തെ ലേറ്റൻസി എന്ന് വിളിക്കുന്നു.
- ഒരു നിശ്ചിത കാലയളവിൽ ഒരു സിസ്റ്റത്തിലൂടെ വിജയകരമായി കൈമാറ്റം ചെയ്യപ്പെടുന്ന ഡാറ്റയുടെ അളവിനെ ത്രൂപുട്ട് എന്ന് വിളിക്കുന്നു. ഇത് അളക്കാൻ സെക്കൻഡിൽ ബിറ്റുകൾ ഉപയോഗിക്കുന്നു.
- ചോദ്യങ്ങളോട് പ്രതികരിക്കാൻ ഒരു സിസ്റ്റം ലഭ്യമാകുന്ന സമയം അതിന്റെ ലഭ്യത അനുസരിച്ചാണ് നിർവചിക്കുന്നത്. സിസ്റ്റം അപ്ടൈം / (സിസ്റ്റം അപ്ടൈം+ഡൗൺടൈം) എന്നത് ഇത് കണക്കാക്കുന്നതിനുള്ള ഫോർമുലയാണ്.
8. ACID പ്രോപ്പർട്ടികൾ എന്തൊക്കെയാണ്?
- ആറ്റോമിസിറ്റി: ഡാറ്റാബേസ് മാറ്റങ്ങൾ എല്ലാം അല്ലെങ്കിൽ ഒന്നുമല്ലെന്ന് ഇത് ഉറപ്പുനൽകുന്നു.
- സ്ഥിരത: ഡാറ്റാബേസിലെ ഡാറ്റ മൂല്യങ്ങൾ സ്ഥിരതയുള്ളതാണ്.
- ഒറ്റപ്പെടൽ: ഇത് രണ്ട് ഇടപാടുകൾ വേർതിരിക്കുന്നതിനെ സൂചിപ്പിക്കുന്നു.
- ഡ്യൂറബിലിറ്റി: സെർവർ പരാജയപ്പെട്ടാലും ഡാറ്റ സംരക്ഷിക്കപ്പെടും.
9. കൃത്യമായി എന്താണ് ഷാർഡിംഗ്?
ഒരു വലിയ ലോജിക്കൽ ഡാറ്റാസെറ്റിനെ പല ഡാറ്റാബേസുകളായി വിഭജിക്കുന്നതിനുള്ള സാങ്കേതികതയാണ് ഷാർഡിംഗ്. ഇത് തിരശ്ചീന ഡാറ്റ വിഭജനത്തെ സൂചിപ്പിക്കുന്നു, കാരണം ഡാറ്റ നിരവധി കമ്പ്യൂട്ടറുകളിൽ സംഭരിക്കപ്പെടും. തൽഫലമായി, ഒരു പങ്കിട്ട ഡാറ്റാബേസിന് ഒരൊറ്റ വലിയ കമ്പ്യൂട്ടറിനേക്കാൾ കൂടുതൽ ചോദ്യങ്ങൾ കൈകാര്യം ചെയ്യാൻ കഴിയും.
10. എന്താണ് CDN?
ഇന്റർനെറ്റ് വിവരങ്ങൾ വേഗത്തിൽ നൽകാൻ സഹകരിക്കുന്ന കമ്പ്യൂട്ടറുകളുടെ ലോകമെമ്പാടുമുള്ള ശൃംഖലയാണ് ഉള്ളടക്ക ഡെലിവറി നെറ്റ്വർക്ക്. ഇന്റർനെറ്റ് ഉള്ളടക്കം ലോഡുചെയ്യാൻ ആവശ്യമായ HTML പേജുകൾ, JavaScript ഫയലുകൾ, സ്റ്റൈൽഷീറ്റുകൾ, ചിത്രങ്ങൾ, വീഡിയോകൾ എന്നിവ പോലുള്ള ഘടകങ്ങളുടെ ദ്രുത ഡെലിവറി ഇത് പ്രാപ്തമാക്കുന്നു.
11. എന്തുകൊണ്ടാണ് CDN ഉപയോഗിക്കുന്നത്?
- ഒരു വെബ്സൈറ്റിന്റെ ഏകദേശം 80% വരുന്ന സ്റ്റാറ്റിക് ഉറവിടങ്ങൾ കണക്കിലെടുക്കുമ്പോൾ, ഒരു സിഡിഎൻ സ്വീകരിക്കുന്നത് ഒറിജിനൽ സെർവറിലെ ബുദ്ധിമുട്ട് ഗണ്യമായി കുറയ്ക്കുന്നു.
- യാത്ര ചെയ്യാൻ ദൂരം കുറവായതിനാൽ, ഭൂമിശാസ്ത്രപരമായ പല പ്രദേശങ്ങളിൽ നിന്നും സന്ദർശകരുള്ള വെബ്സൈറ്റ് ഉടമകൾക്ക് വിവരങ്ങൾ വേഗത്തിൽ നൽകും.
- സിഡിഎൻ ഉപയോക്താക്കൾക്ക് ട്രാഫിക് കുതിച്ചുചാട്ടത്തിന് മറുപടിയായി വേഗത്തിൽ മുകളിലേക്കും താഴേക്കും സ്കെയിൽ ചെയ്യാനുള്ള ശേഷിയും പ്രയോജനപ്പെടുത്തുന്നു.
12. ഷാർഡിംഗും വിഭജനവും തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
ഡാറ്റാബേസ് ഷാർഡിംഗ് - ഡാറ്റാബേസ് ഷാർഡിംഗ് എന്നത് ഒരൊറ്റ ഡാറ്റാസെറ്റിനെ നിരവധി ഡാറ്റാബേസുകളായി വിഭജിക്കുന്ന ഒരു രീതിയാണ്, അതുവഴി വ്യത്യസ്ത വർക്ക്സ്റ്റേഷനുകളിൽ അത് സംഭരിക്കാനാകും. വലിയ ഡാറ്റാസെറ്റുകളെ ചെറിയ ഭാഗങ്ങളായി വിഭജിക്കുകയും നിരവധി ഡാറ്റ നോഡുകളിൽ സംഭരിക്കുകയും ചെയ്യാം, ഇത് സിസ്റ്റത്തിന്റെ മൊത്തം സംഭരണ ശേഷി വർദ്ധിപ്പിക്കുന്നു.
നിരവധി മെഷീനുകളിൽ ഡാറ്റ പ്രചരിപ്പിക്കുന്നതിലൂടെ, ഒരു പങ്കിട്ട ഡാറ്റാബേസിന് ഒരൊറ്റ സിസ്റ്റത്തേക്കാൾ കൂടുതൽ ചോദ്യങ്ങൾ കൈകാര്യം ചെയ്യാൻ കഴിയും.
സംഭരിച്ചിരിക്കുന്ന ഡാറ്റാബേസ് ഒബ്ജക്റ്റുകളെ (പട്ടികകൾ, സൂചികകൾ, കാഴ്ചകൾ) പ്രത്യേക ഭാഗങ്ങളായി വിഭജിക്കുന്ന പ്രക്രിയയാണ് ഡാറ്റാബേസ് പാർട്ടീഷനിംഗ്. നിയന്ത്രണക്ഷമത, പ്രകടനം, ലഭ്യത എന്നിവ വർദ്ധിപ്പിക്കുന്നതിന്, വലിയ ഡാറ്റാബേസ് ഒബ്ജക്റ്റുകൾ വിഭജിക്കപ്പെടുന്നു.
ചില സന്ദർഭങ്ങളിൽ, പാർട്ടീഷൻ ചെയ്ത ഡാറ്റ ആക്സസ് ചെയ്യുമ്പോൾ പാർട്ടീഷനിംഗ് വേഗത മെച്ചപ്പെടുത്തും. പാർട്ടീഷനിംഗ് ഇൻഡെക്സിന്റെ വലുപ്പം കുറയ്ക്കുകയും സൂചികകളിലെ ഒരു മുൻനിര നിരയായി പ്രവർത്തിക്കുന്നതിലൂടെ മെമ്മറിയിൽ ഏറ്റവും ആവശ്യമുള്ള സൂചികകൾ കണ്ടെത്താനുള്ള സാധ്യത വർദ്ധിപ്പിക്കുകയും ചെയ്യും.
13. എന്താണ് കാഷിംഗ്?
കാഷെ എന്നറിയപ്പെടുന്ന ഒരു താൽക്കാലിക സ്റ്റോറേജ് ഏരിയയിൽ ഫയൽ പകർപ്പുകൾ സൂക്ഷിക്കുന്നതിനുള്ള സാങ്കേതികതയാണ് കാഷിംഗ്, ഇത് ഡാറ്റ ആക്സസ് വേഗത്തിലാക്കുകയും സൈറ്റ് ലേറ്റൻസി കുറയ്ക്കുകയും ചെയ്യുന്നു. ഒരു നിശ്ചിത അളവിലുള്ള ഡാറ്റ മാത്രമേ കാഷെയിൽ സൂക്ഷിക്കാൻ കഴിയൂ.
തൽഫലമായി, ബിസിനസ്സ് ലക്ഷ്യങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യമായ കാഷെ അപ്ഡേറ്റ് ടെക്നിക്കുകൾ നിർണ്ണയിക്കുന്നത് നിർണായകമാണ്.
14. CDN എഡ്ജ് സെർവറുകൾ എന്തൊക്കെയാണ്?
നിങ്ങളുടെ ഒറിജിൻ സെർവറിൽ നിന്നോ സ്റ്റോറേജ് ക്ലസ്റ്ററിൽ നിന്നോ നേടിയ മെറ്റീരിയൽ കാഷെ ചെയ്യുന്ന CDN സെർവറുകൾ എഡ്ജ് സെർവറുകൾ എന്നറിയപ്പെടുന്നു. എഡ്ജ് സെർവറുകൾ (POP) വിവരിക്കാൻ പതിവായി ഉപയോഗിക്കുന്ന ഒരു പദമാണ് പോയിന്റ് ഓഫ് പ്രെസൻസ്.
എഡ്ജ് സെർവറുകൾ ഒരു POP-ൽ ഭൌതികമായി സ്ഥാനം പിടിച്ചിരിക്കുന്നു. ആ POP-ൽ, പല എഡ്ജ് സെർവറുകളും വിവരങ്ങൾ കാഷെ ചെയ്തേക്കാം.
പല സ്ഥലങ്ങളിൽ നിന്നും ഒരു വെബ്സൈറ്റിന്റെ ഭാഗങ്ങൾ നൽകാനുള്ള കഴിവ് സന്ദർശകനും വെബ് സെർവറും തമ്മിലുള്ള ദൂരം കുറയ്ക്കുന്നു, ഇത് കുറഞ്ഞ കാലതാമസത്തിന് കാരണമാകുന്നു. CDN എഡ്ജ് സെർവറുകൾ ഈ കൃത്യമായ ലക്ഷ്യം കൈവരിക്കുന്നു.
15. സിസ്റ്റം രൂപകൽപനയ്ക്കായുള്ള വ്യത്യസ്ത സ്ഥിരത പാറ്റേണുകൾ എന്തൊക്കെയാണ്?
ഓരോ റീഡ് അഭ്യർത്ഥനയും CAP സിദ്ധാന്തം അനുസരിച്ച് ഏറ്റവും അടുത്തിടെ എഴുതിയ ഡാറ്റ വീണ്ടെടുക്കണം. നിരവധി ഡാറ്റ പകർപ്പുകൾ ആക്സസ് ചെയ്യാൻ കഴിയുമ്പോൾ, ഉപഭോക്താക്കൾക്ക് തുടർച്ചയായി പുതിയ ഡാറ്റ ലഭിക്കുന്ന തരത്തിൽ അവയെ സമന്വയിപ്പിക്കുന്നത് ഒരു ബുദ്ധിമുട്ടാണ്. സാധ്യമായ സ്ഥിരത പാറ്റേണുകൾ ഇനിപ്പറയുന്നവയാണ്:
- ദുർബലമായ സ്ഥിരത: ഒരു ഡാറ്റ റൈറ്റിനെ തുടർന്ന്, റീഡ് അഭ്യർത്ഥനയ്ക്ക് അപ്ഡേറ്റ് ചെയ്ത ഡാറ്റ ലഭിക്കുകയോ ലഭിക്കാതിരിക്കുകയോ ചെയ്യാം. VoIP, വീഡിയോ ചാറ്റ്, മൾട്ടിപ്ലെയർ ഗെയിമിംഗ് എന്നിവ പോലുള്ള തത്സമയ ആപ്ലിക്കേഷനുകൾക്ക് ഈ ലെവൽ സ്ഥിരത അനുയോജ്യമാണ്.
- അന്തിമ സ്ഥിരത: ഡാറ്റ എഴുതിയതിന് ശേഷം മില്ലിസെക്കൻഡിനുള്ളിൽ റീഡുകൾ ഒടുവിൽ ഏറ്റവും പുതിയ ഡാറ്റ കാണും. ഈ സാഹചര്യത്തിൽ ഡാറ്റ അസമന്വിതമായി ഡ്യൂപ്ലിക്കേറ്റ് ചെയ്യുന്നു. ഡിഎൻഎസും ഇമെയിൽ സംവിധാനങ്ങളും ഇതിന് ഉദാഹരണങ്ങളാണ്. ഉയർന്ന ലഭ്യതയുള്ള സിസ്റ്റങ്ങളിൽ ഇത് ഫലപ്രദമായി പ്രവർത്തിക്കുന്നു.
- ശക്തമായ സ്ഥിരത: ഒരു ഡാറ്റ റൈറ്റിനെ തുടർന്ന്, ഭാവിയിലെ വായനക്കാർ ഏറ്റവും പുതിയ ഡാറ്റ കാണും. ഈ സാഹചര്യത്തിൽ ഡാറ്റ സിൻക്രണസ് ആയി പകർത്തുന്നു. ഡാറ്റാ കൈമാറ്റത്തിന് അനുയോജ്യമായ RDBMS-ലും ഫയൽ സിസ്റ്റങ്ങളിലും ഇത് നിരീക്ഷിക്കാവുന്നതാണ്.
16. ശുഭാപ്തിവിശ്വാസമുള്ള ലോക്കിംഗ് എന്നതുകൊണ്ട് നിങ്ങൾ എന്താണ് അർത്ഥമാക്കുന്നത്?
ഒപ്റ്റിമിസ്റ്റിക് ലോക്കിംഗ് എന്നത് നിങ്ങൾ ഒരു റെക്കോർഡ് വായിക്കുകയും ഒരു പതിപ്പ് നമ്പർ ശ്രദ്ധിക്കുകയും (ബദൽ മാർഗങ്ങളിൽ തീയതികൾ, ടൈംസ്റ്റാമ്പുകൾ അല്ലെങ്കിൽ ചെക്ക്സം/ഹാഷുകൾ എന്നിവ ഉൾപ്പെടുന്നു), തുടർന്ന് അത് തിരികെ എഴുതുന്നതിന് മുമ്പ് പതിപ്പ് മാറിയിട്ടില്ലെന്ന് രണ്ടുതവണ പരിശോധിക്കുക.
നിങ്ങൾ റെക്കോർഡ് തിരികെ എഴുതുമ്പോൾ, അത് ആറ്റോമികമാണെന്ന് ഉറപ്പാക്കാൻ അപ്ഡേറ്റ് ഫിൽട്ടർ ചെയ്യാൻ നിങ്ങൾ പതിപ്പ് ഉപയോഗിക്കുന്നു. (അതായത്, നിങ്ങൾ പതിപ്പ് പരിശോധിക്കുന്നതിനും ഡിസ്കിൽ റെക്കോർഡ് എഴുതുന്നതിനും ഇടയിൽ മാറ്റം വരുത്തിയിട്ടില്ല) കൂടാതെ എല്ലാം ഒരേസമയം അപ്ഡേറ്റ് ചെയ്യുക.
17. "നേതൃ തിരഞ്ഞെടുപ്പ്" എന്നതുകൊണ്ട് നിങ്ങൾ കൃത്യമായി എന്താണ് അർത്ഥമാക്കുന്നത്?
ആപ്ലിക്കേഷന്റെ ലഭ്യതയ്ക്ക് സംഭാവന നൽകുന്ന നിരവധി സെർവറുകളുള്ള ഒരു ഡിസ്ട്രിബ്യൂട്ടഡ് സിസ്റ്റത്തിൽ, മൂന്നാം കക്ഷി API-കൾ അപ്ഡേറ്റ് ചെയ്യുന്നതിന് ഒരു സെർവറിന് മാത്രമേ ഉത്തരവാദിത്തമുള്ളൂ, കാരണം API-കൾ ഉപയോഗിക്കുമ്പോൾ ഒന്നിലധികം സെർവറുകൾ പ്രശ്നങ്ങൾ ഉണ്ടാക്കിയേക്കാം.
ഈ സെർവർ പ്രാഥമിക സെർവർ എന്നറിയപ്പെടുന്നു, ഇത് തിരഞ്ഞെടുക്കുന്നതിനുള്ള നടപടിക്രമം ലീഡർ തിരഞ്ഞെടുപ്പ് എന്നും അറിയപ്പെടുന്നു. ഒരു വിതരണ സംവിധാനത്തിൽ ലീഡർ സെർവർ പരാജയപ്പെടുമ്പോൾ, സെർവറുകൾ പരാജയം ശ്രദ്ധിക്കുകയും ഒരു പുതിയ നേതാവിനെ തിരഞ്ഞെടുക്കുകയും വേണം. ഒരു സമവായ സാങ്കേതികത ഉപയോഗിച്ച്, ഉയർന്ന ലഭ്യതയ്ക്കും ശക്തമായ സ്ഥിരതയുള്ള ആപ്ലിക്കേഷനുകൾക്കും ഈ സമീപനം ഏറ്റവും അനുയോജ്യമാണ്.
18. TinyURL പോലെയുള്ള URL ഷോർട്ട്നിംഗ് സേവനം രൂപകൽപ്പന ചെയ്യുന്നതിനുള്ള നിങ്ങളുടെ സമീപനം എന്താണ്?
TinyURL ഒരു ദൈർഘ്യമേറിയ URL-നെ ഒരൊറ്റ, അതുല്യമായ ഹ്രസ്വ URL ആക്കി മാറ്റുന്നു. ഈ സാങ്കേതികവിദ്യകൾക്ക് ഒരു ചെറിയ URL സ്വീകരിക്കാനും പൂർണ്ണമായ URL തിരികെ നൽകാനും കഴിയും.
ചില നിർണായക ഗുണങ്ങൾ എന്തൊക്കെയാണ്?
- ഒറിജിനലിനേക്കാൾ ചെറുതായ ഒരു URL ഉണ്ടാക്കുക.
- ദൈർഘ്യമേറിയ URL നിലനിർത്തി അതിനെ ചെറുതാക്കി മാറ്റിസ്ഥാപിക്കുക.
- ഹ്രസ്വ URL-കളിൽ റീഡയറക്ടുചെയ്യാൻ അനുവദിക്കുക.
- ഇഷ്ടാനുസൃത പേരുകളുള്ള ഹ്രസ്വ URL-കൾ പിന്തുണയ്ക്കുന്നു.
- ഒരേസമയം നിരവധി അന്വേഷണങ്ങൾ കൈകാര്യം ചെയ്യുക.
ഏറ്റവും സാധാരണമായ പ്രശ്നങ്ങൾ എന്തൊക്കെയാണ്?
- ഡാറ്റാബേസ് സംഭരണത്തിന്റെ ട്രാക്ക് എങ്ങനെ സൂക്ഷിക്കാം?
- ഉപയോക്തൃ ലോഡ് പ്രതീക്ഷകൾ കവിഞ്ഞാൽ എന്ത് സംഭവിക്കും?
- രണ്ട് വ്യക്തികൾ ഒരേ ഇഷ്ടാനുസൃത URL ഉപയോഗിച്ചാലോ?
ഇനിപ്പറയുന്ന നിർദ്ദേശങ്ങൾ പരിഗണിക്കുക:
- പഴയതും പുതിയതുമായ URL-കൾ ബന്ധിപ്പിക്കാൻ ഉപയോഗിക്കാവുന്ന ഒരു ആശയമാണ് ഹാഷിംഗ്.
- REST API ഫ്രണ്ട്-എൻഡ് ആശയവിനിമയം കൈകാര്യം ചെയ്യുന്നതിനും കനത്ത ഭാരം സന്തുലിതമാക്കുന്നതിനും ഇത് ഉപയോഗിക്കാം.
- ഒരേസമയം നിരവധി അഭ്യർത്ഥനകൾ കൈകാര്യം ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു ആശയമാണ് മൾട്ടിത്രെഡിംഗ്.
- യഥാർത്ഥ URL-കൾ NoSQL ഡാറ്റാബേസുകളിൽ സംഭരിച്ചിരിക്കുന്നു.
19. ട്വിറ്റർ രൂപകൽപ്പന ചെയ്യുന്നതിനുള്ള നിങ്ങളുടെ സമീപനം എന്താണ്?
നൽകിയിരിക്കുന്ന ആവശ്യകതകൾ:
- ട്വീറ്റുകൾ അയയ്ക്കുന്നു
- മറ്റ് ഉപയോക്താക്കളെ പിന്തുടരുന്നു
- ട്വീറ്റ് ഫീഡ്/ന്യൂസ്ഫീഡ്
- സിസ്റ്റം സ്കെയിലബിൾ ആണ്
- വേഗത്തിൽ ലോഡ് ചെയ്യുന്നു
- സിസ്റ്റം വിശ്വസനീയമാണ്
നിങ്ങൾ മാനദണ്ഡം സ്ഥാപിച്ചുകഴിഞ്ഞാൽ നിങ്ങളുടെ Twitter API ഡിസൈൻ ആലോചിച്ചു തുടങ്ങാം. ഇത് എങ്ങനെ ദൃശ്യമാകും:
ആരംഭിക്കുന്നതിന്, ഞങ്ങൾ API-യുടെ പ്രധാന അവസാന പോയിന്റുകൾ സ്കെച്ച് ചെയ്യും. കുറച്ച് ഉദാഹരണങ്ങൾ ഇതാ:
- ട്വീറ്റ് അയക്കുക(സന്ദേശം)
- പിന്തുടരുന്ന ഉപയോക്താവ് (ഉപയോക്തൃ ഐഡി)
- UnfollowUser(userID)
- getFeed(പേജ്)
ഈ സ്വഭാവസവിശേഷതകൾ പ്രാപ്തമാക്കുന്ന വാസ്തുവിദ്യ പിന്നീട് വരച്ചുകാട്ടാം. ഒരു സെർവർ അഭ്യർത്ഥന സമർപ്പിക്കുന്ന ഉപയോക്താവിൽ നിന്ന് നമുക്ക് ആരംഭിക്കാം. സ്കേലബിളിറ്റി ആവശ്യകത നിറവേറ്റുന്നതിന് വലിയ ട്രാഫിക് ലെവലുകൾ വഴി നയിക്കുന്നതിന് ഒരു ലോഡ് ബാലൻസറിന് പിന്നിൽ ഞങ്ങൾക്ക് അധിക API സെർവറുകൾ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും. ഇപ്പോൾ ഞങ്ങളുടെ ട്വീറ്റുകൾ സംഭരിക്കുന്നതിന് ഞങ്ങൾ ഒരു ഡാറ്റാബേസ് ചേർക്കേണ്ടതുണ്ട്.
ഞങ്ങൾ നൽകുന്ന API സ്കെയിലബിൾ ആയിരിക്കണം എന്നത് ഓർത്തിരിക്കേണ്ടത് പ്രധാനമാണ്. ഈ സേവനം സ്കേലബിൾ ആക്കുന്നതിന്, ഞങ്ങളുടെ ന്യൂസ്ഫീഡിനായി ഒരു പ്രത്യേക കാഷെയിൽ നിന്ന് ഞങ്ങളുടെ API സെർവറുകളിൽ ഒന്ന് വായിക്കാൻ ഞങ്ങൾക്ക് കഴിയും. അങ്ങനെ ചെയ്യുമ്പോൾ, ഞങ്ങളുടെ ഫീഡ് കാഷെ കാലികമായി നിലനിർത്താൻ ഞങ്ങൾ ഒരു ഫീഡ് ദാതാവിനെയും ഉപയോഗിക്കണം.
20. Facebook-നായി ന്യൂസ് ഫീഡ് സംവിധാനം ഉണ്ടാക്കുക
ഫേസ്ബുക്കിലെ ന്യൂസ്ഫീഡ് ഉപയോക്താക്കളെ അവരുടെ സുഹൃത്തുക്കളുടെ സർക്കിളുകളിലും പ്രിയപ്പെട്ട പേജുകളിലും അവർ പിന്തുടരുന്ന സ്ഥാപനങ്ങളിലും എന്താണ് സംഭവിക്കുന്നതെന്ന് കാണാൻ അനുവദിക്കുന്നു.
അവശ്യമായ ചില സവിശേഷതകൾ എന്തൊക്കെയാണ്?
- ഉപയോക്താവ് പിന്തുടരുന്ന മറ്റ് സിസ്റ്റം എന്റിറ്റികളിൽ നിന്നുള്ള പോസ്റ്റുകളെ അടിസ്ഥാനമാക്കി ഒരു ന്യൂസ്ഫീഡ് സൃഷ്ടിക്കുക.
- ന്യൂസ്ഫീഡ് പോസ്റ്റിംഗുകളിൽ ടെക്സ്റ്റ്, ചിത്രങ്ങൾ, ഓഡിയോ, വീഡിയോ എന്നിവയെല്ലാം ഉപയോഗിക്കാനാകും.
- തത്സമയം, ഉപയോക്താവിന്റെ ന്യൂസ് ഫീഡിലേക്ക് പുതിയ ഉള്ളടക്കം ചേർക്കുക.
ഏറ്റവും സാധാരണമായ ചില പ്രശ്നങ്ങൾ എന്തൊക്കെയാണ്?
- ന്യൂസ് ഫീഡിൽ പുതിയ പോസ്റ്റ് പ്രത്യക്ഷപ്പെടാൻ ഏറെ സമയമെടുത്താലോ?
- ഉപയോക്തൃ പ്രവർത്തനത്തിലെ വർദ്ധനവ് അൽഗോരിതത്തിന് നിയന്ത്രിക്കാനാകുമോ?
- ന്യൂസ് ഫീഡിൽ ഏതൊക്കെ പോസ്റ്റുകളാണ് ആദ്യം പ്രദർശിപ്പിക്കേണ്ടത്?
ഇനിപ്പറയുന്ന നിർദ്ദേശങ്ങൾ പരിഗണിക്കുക:
- അനുയായികൾക്ക് പോസ്റ്റുകൾ വിതരണം ചെയ്യുന്നതിനുള്ള ഫാനൗട്ട് സംവിധാനം പരിശോധിക്കുക.
- ഉയർന്ന ഉപയോക്തൃ ലോഡുകളെ കാര്യക്ഷമമായി കൈകാര്യം ചെയ്യാൻ ഷാർഡിംഗ് എങ്ങനെ ഉപയോഗിക്കാമെന്ന് പരിശോധിക്കുക.
- ഒരു ഉപയോക്താവിന്റെ ഫീഡ് ഡാറ്റ നിരവധി സെർവറുകളിലുടനീളം ഡ്യൂപ്ലിക്കേറ്റ് ചെയ്യാൻ പാടില്ല. പകരം ഉപയോക്തൃ ഐഡികൾ അടിസ്ഥാനമാക്കി ഷാർഡിംഗ് നടത്താം.
21. ഒരു സിസ്റ്റത്തിന്റെ ബേസ് പ്രോപ്പർട്ടി എന്താണ്?
അടുത്തിടെ ഉയർന്നുവന്ന NoSQL ഡാറ്റാബേസുകളിൽ BASE സവിശേഷതകൾ സർവ്വവ്യാപിയാണ്. CAP സിദ്ധാന്തം അനുസരിച്ച് ഒരു ബേസ് സിസ്റ്റം സ്ഥിരത നൽകുന്നില്ല. ഒരു സിസ്റ്റത്തിന്റെ CAP സിദ്ധാന്തത്തിന്റെ ഇനിപ്പറയുന്ന പ്രോപ്പർട്ടിയുമായി പൊരുത്തപ്പെടുന്ന ഒരു നിർമ്മിത ചുരുക്കപ്പേരാണിത്:
- "അടിസ്ഥാനപരമായി ലഭ്യം" എന്ന പദത്തിന്റെ അർത്ഥം സിസ്റ്റം എല്ലാ സമയത്തും ലഭ്യമാകും എന്നാണ്.
- ഇൻപുട്ട് നൽകിയിട്ടില്ലെങ്കിലും, സിസ്റ്റത്തിന്റെ അവസ്ഥ കാലക്രമേണ വ്യത്യാസപ്പെടാം എന്നാണ് സോഫ്റ്റ് സ്റ്റേറ്റ് അർത്ഥമാക്കുന്നത്. ഇത് മിക്കവാറും മോഡലിന്റെ സ്ഥിരത മൂലമാണ്.
- ആ കാലയളവിൽ സിസ്റ്റത്തിന് ഇൻപുട്ട് ലഭിക്കുന്നില്ല എന്നതിനാൽ, ആത്യന്തികമായ സ്ഥിരത അർത്ഥമാക്കുന്നത് സിസ്റ്റം കാലക്രമേണ സ്ഥിരത കൈവരിക്കും എന്നാണ്.
22. ഐപി അഡ്രസ് അഫിനിറ്റി ടെക്നിക്കിനൊപ്പം ലോഡ് ബാലൻസിങ് എന്താണ്?
ലോഡ് ബാലൻസിംഗ് ചെയ്യുന്നതിനുള്ള മറ്റൊരു പ്രധാന മാർഗ്ഗം ഐപി അഡ്രസ് അഫിനിറ്റിയാണ്. ക്ലയന്റ് ഐപി വിലാസം ഈ രീതിയിൽ ഒരു സെർവർ നോഡുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു. ഒരു ക്ലയന്റ് ഐപി വിലാസത്തിൽ നിന്നുള്ള എല്ലാ അഭ്യർത്ഥനകളും ഒരു സെർവർ നോഡ് കൈകാര്യം ചെയ്യുന്നു.
എച്ച്ടിടിപി അഭ്യർത്ഥന തലക്കെട്ടിൽ ഐപി വിലാസം എപ്പോഴും ആക്സസ് ചെയ്യാനാകുന്നതിനാൽ ഈ രീതി നടപ്പിലാക്കാൻ ലളിതമാണ്, കൂടുതൽ ക്രമീകരണങ്ങൾ ആവശ്യമില്ല. നിങ്ങളുടെ ക്ലയന്റുകൾക്ക് കുക്കികൾ നിർജ്ജീവമാകാൻ സാധ്യതയുണ്ടെങ്കിൽ, ഈ തരത്തിലുള്ള ലോഡ് ബാലൻസിംഗ് പ്രയോജനകരമാണ്.
23. കൃത്യമായി എന്താണ് കാഷെ മാറ്റിസ്ഥാപിക്കൽ (അല്ലെങ്കിൽ എവിക്ഷൻ പോളിസി) അൽഗോരിതങ്ങൾ?
കമ്പ്യൂട്ടറിൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റയുടെ ഒരു കാഷെ മാനേജ് ചെയ്യാൻ കമ്പ്യൂട്ടർ പ്രോഗ്രാമിനോ ഹാർഡ്വെയർ പരിപാലിക്കുന്ന ഘടനക്കോ ഉപയോഗിക്കാവുന്ന ഒപ്റ്റിമൈസേഷൻ നിർദ്ദേശങ്ങൾ അല്ലെങ്കിൽ അൽഗരിതങ്ങളാണ് കാഷെ അൽഗരിതങ്ങൾ (കാഷെ മാറ്റിസ്ഥാപിക്കൽ അൽഗരിതങ്ങൾ, കാഷെ മാറ്റിസ്ഥാപിക്കൽ നയങ്ങൾ അല്ലെങ്കിൽ കാഷെ എവിക്ഷൻ നയങ്ങൾ എന്നും അറിയപ്പെടുന്നു).
പരമ്പരാഗത മെമ്മറി സ്റ്റോറേജിനേക്കാൾ വേഗത്തിലുള്ളതോ കുറഞ്ഞ ചെലവുള്ളതോ ആയ മെമ്മറി റീജിയണുകളിൽ അടുത്തിടെ ഉപയോഗിച്ചതോ പലപ്പോഴും ആക്സസ് ചെയ്തതോ ആയ ഡാറ്റ സംഭരിച്ചുകൊണ്ട് കാഷിംഗ് വേഗത വർദ്ധിപ്പിക്കുന്നു. കാഷെ നിറയുമ്പോൾ, പുതിയവയ്ക്കായി ഒരു സ്ഥലം സൃഷ്ടിക്കുന്നതിന് ഏതൊക്കെ ഇനങ്ങൾ നീക്കംചെയ്യണമെന്ന് അൽഗോരിതം തീരുമാനിക്കണം.
24. വിതരണം ചെയ്ത ഇടപാട് എന്നതുകൊണ്ട് നിങ്ങൾ കൃത്യമായി എന്താണ് അർത്ഥമാക്കുന്നത്?
ഒരു വിതരണ ഇടപാട് എന്നത് ആറ്റോമികമായി ചെയ്യാൻ കഴിയാത്ത രണ്ടോ അതിലധികമോ വ്യത്യസ്ത ഡാറ്റ സ്രോതസ്സുകളിൽ മാറ്റം വരുത്തുന്നതിന് ഒരൊറ്റ സംഭവം കാരണമാകുന്ന ഏതൊരു സാഹചര്യവുമാണ്.
ഓരോ സേവനവും ജോലിയുടെ ഒരു യൂണിറ്റ് ആയതിനാൽ മൈക്രോസർവീസുകളുടെ ലോകത്ത് ഇത് കൂടുതൽ സങ്കീർണ്ണമാകുന്നു, കൂടാതെ ഒരു ബിസിനസ്സ് വിജയകരമാക്കാൻ മിക്കപ്പോഴും നിരവധി സേവനങ്ങൾ സഹകരിക്കണം.
25. എന്താണ് പട്ടിണി?
ഒരു ത്രെഡിന് പങ്കിട്ട വിഭവങ്ങളിലേക്ക് പതിവായി പ്രവേശനം നേടാനാകാതെ വരുമ്പോൾ, അത് പട്ടിണിയാണെന്ന് പറയപ്പെടുന്നു. "അത്യാഗ്രഹമുള്ള" ത്രെഡുകളോ ഉയർന്ന "മുൻഗണന" ഉള്ള ത്രെഡുകളോ ദീർഘകാലത്തേക്ക് പങ്കിട്ട വിഭവങ്ങൾ അപ്രാപ്യമാക്കുമ്പോൾ ഇത് സംഭവിക്കുന്നു.
ഇടയ്ക്കിടെ വൈകി മടങ്ങുന്ന ഒരു സമന്വയ രീതി നൽകുന്ന ഒരു ഒബ്ജക്റ്റ് പരിഗണിക്കുക. ഒരു ത്രെഡ് ഈ രീതിയെ ആവർത്തിച്ച് വിളിക്കുകയാണെങ്കിൽ, ഒരേ ഒബ്ജക്റ്റിലേക്ക് പതിവായി സമന്വയിപ്പിച്ച ആക്സസ് ആവശ്യമുള്ള മറ്റ് ത്രെഡുകൾ പലപ്പോഴും ബ്ലോക്ക് ചെയ്യപ്പെടും.
തീരുമാനം
ഒരു ബ്രെയിൻസ്റ്റോമിംഗ് സെഷൻ മാത്രമാണ് സിസ്റ്റം ഡിസൈൻ അഭിമുഖം ഉൾക്കൊള്ളുന്നത്. ഈ പോസ്റ്റിൽ ഏറ്റവും സാധാരണമായ സിസ്റ്റം ഡിസൈൻ അഭിമുഖ ചോദ്യങ്ങൾ ഞങ്ങൾ അഭിസംബോധന ചെയ്തിട്ടുണ്ട്.
ഒരു നിർദ്ദിഷ്ട സിസ്റ്റം സൃഷ്ടിക്കുമ്പോൾ നിങ്ങൾ സ്വീകരിക്കുന്ന രീതിയുടെ സമഗ്രമായ ധാരണ ഒരു സിസ്റ്റം ഡിസൈൻ ഇന്റർവ്യൂവിൽ വിജയിക്കുന്നതിന് നിർണായകമാണ്..
നിങ്ങളുടെ അഭിപ്രായങ്ങൾ രേഖപ്പെടുത്തുക