𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗮𝗻 𝗢𝗯𝘀𝗲𝗿𝘃𝗮𝗯𝗶𝗹𝗶𝘁𝘆-𝗙𝗶𝗿𝘀𝘁 𝗗𝗮𝘁𝗮 𝗣𝗹𝗮𝘁𝗳𝗼𝗿𝗺

വ്യാപ്തിയും സങ്കീർണ്ണതയും വർദ്ധിക്കുമ്പോഴും വിശ്വസനീയമായി നിലനിൽക്കുന്ന ഒരു ആധുനിക ഡാറ്റാ പ്ലാറ്റ്‌ഫോം നിർമ്മിക്കുന്നതിന് 'ഒബ്സർവബിലിറ്റി-ഫസ്റ്റ്' (observability-first) എന്ന മനോഭാവം ആവശ്യമാണ്. വലിയ തോതിലുള്ള ഇവന്റ് സ്ട്രീമുകളെ (event streams) ഇൻജസ്റ്റ് ചെയ്യാനും, പ്രോസസ്സ് ചെയ്യാനും, സ്റ്റോർ ചെയ്യാനും, ക്വറി ചെയ്യാനും കഴിയുന്ന രീതിയിൽ ഒരു ഡാറ്റാ പ്ലാറ്റ്‌ഫോം നിങ്ങൾ രൂപകൽപ്പന ചെയ്യേണ്ടതുണ്ട്.

ഇതിന്റെ പ്രധാന ഘടകങ്ങൾ താഴെ പറയുന്നവയാണ്:

  • ഇൻജസ്റ്റ് (Ingest): ഒന്നിലധികം സ്രോതസ്സുകളിൽ നിന്നുള്ള ഇവന്റ് സ്ട്രീമിംഗ്
  • പ്രോസസ്സിംഗ് (Processing): ലഘുവായ ട്രാൻസ്ഫോർമേഷനുകളും എൻറിച്ച്മെന്റുകളും
  • സ്റ്റോറേജ് (Storage): വിവിധ വർക്ക്ലോഡുകൾക്കായി ക്രമീകരിച്ച ഹോട്ട് (hot), കോൾഡ് (cold) സ്റ്റോറുകൾ
  • ആക്സസ് (Access): ഡൗൺസ്ട്രീം സിസ്റ്റങ്ങൾക്കായി ക്വറി, അനലിറ്റിക് API-കൾ
  • ഒബ്സർവബിലിറ്റി (Observability): ഡാറ്റാ ഗുണനിലവാരം, ലേറ്റൻസി (latency), സിസ്റ്റം ആരോഗ്യം എന്നിവയെക്കുറിച്ചുള്ള ആഴത്തിലുള്ള കാഴ്ചപ്പാട്

ഈ ഘടകങ്ങൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു എൻഡ്-ടു-എൻഡ് (end-to-end) ഡാറ്റാ പ്ലാറ്റ്‌ഫോം നിർമ്മിക്കാം. ആദ്യ ദിവസം മുതൽ തന്നെ ഒബ്സർവബിലിറ്റിക്ക് പ്രാധാന്യം നൽകുക: മെട്രിക്സ് (metrics), ട്രേസുകൾ (traces), ലോഗുകൾ (logs), ഡാറ്റാ ലീനേജ് (data lineage) എന്നിവ ഇതിൽ ഉൾപ്പെടുന്നു. പ്രായോഗികമായ മാർഗ്ഗനിർദ്ദേശങ്ങളും ഉദാഹരണ കോഡുകളും വിന്യാസത്തിനായുള്ള (deployment) പരിഗണനകളും നൽകുക.

പ്രധാനപ്പെട്ട ചില കാര്യങ്ങൾ:

  • ബാക്ക്വേർഡ് കംപാറ്റിബിലിറ്റി (backward compatibility) തന്ത്രങ്ങളോടു കൂടിയ ഒരു കോംപാക്റ്റ്, പരിഷ്കരിക്കാൻ കഴിയുന്ന സ്കീമ (schema) ഉപയോഗിക്കുക
  • വേർഷൻ ചെയ്ത സ്കീമുകളും കംപാറ്റിബിലിറ്റി ചെക്കറും ഉള്ള ഒരു സെൻട്രൽ രജിസ്ട്രി നിലനിർത്തുക
  • സോഴ്സ് -> പ്രോസസ്സിംഗ് -> സ്റ്റോറേജ് മാപ്പിംഗുകൾ രേഖപ്പെടുത്തുകയും ഇവന്റുകളോടൊപ്പം ലീനേജ് മെറ്റാഡാറ്റ (lineage metadata) ചേർക്കുകയും ചെയ്യുക

സ്രോതസ്സ്: https://dev.to/therizwansaleem/designing-an-observability-first-data-platform-architectures-patterns-and-practical-pipelines-11p4