ਰੀਅਲ-ਟਾਈਮ ਐਨਾਲਿਟਿਕਸ ਲਈ ਇੱਕ ਓਬਜ਼ਰਵੇਬਿਲਟੀ-ਡਰਾਈਵਨ ਡਾਟਾ ਪਾਈਪਲਾਈਨ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਨਾ

ਤੁਸੀਂ ਇੱਕ ਅਜਿਹੀ ਡਾਟਾ ਪਾਈਪਲਾਈਨ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ ਜੋ ਰੀਅਲ-ਟਾਈਮ ਐਨਾਲਿਟਿਕਸ ਪ੍ਰਦਾਨ ਕਰੇ। ਇਸ ਲਈ, ਤੁਹਾਨੂੰ ਇੱਕ ਅਜਿਹਾ ਸਿਸਟਮ ਡਿਜ਼ਾਈਨ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਜੋ ਤੇਜ਼ ਰਫ਼ਤਾਰ (high-velocity) ਵਾਲੇ ਇਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲ ਸਕੇ, ਉਹਨਾਂ ਨੂੰ ਘੱਟ ਲੇਟੈਂਸੀ (low latency) ਨਾਲ ਪ੍ਰੋਸੈਸ ਕਰ ਸਕੇ, ਅਤੇ ਆਪਰੇਟਰਾਂ ਨੂੰ ਕਾਰਜਸ਼ੀਲ ਜਾਣਕਾਰੀ (actionable insights) ਪ੍ਰਦਾਨ ਕਰ ਸਕੇ।

ਇੱਥੇ ਮੁੱਖ ઘટਕ (components) ਹਨ:

  • ਇੰਜੈਸਟ ਲੇਅਰ (Ingest layer): Kafka ਜਾਂ Kinesis ਵਰਗੇ ਸਟ੍ਰੀਮਿੰਗ ਸੋਰਸ ਅਡੈਪਟਰ
  • ਪ੍ਰੋਸੈਸਿੰਗ ਲੇਅਰ (Processing layer): ਐਗਰੀਗੇਸ਼ਨ ਅਤੇ ਐਨਰਿਚਮੈਂਟ ਲਈ ਸਟ੍ਰੀਮ ਪ੍ਰੋਸੈਸਿੰਗ
  • ਸਟੋਰੇਜ ਲੇਅਰ (Storage layer): ਰੀਪਲੇਏਬਿਲਟੀ ਲਈ ਅਟੁੱਟ (immutable) ਇਵੈਂਟ ਸਟੋਰ ਅਤੇ ਐਨਾਲਿਟਿਕਸ ਲਈ ਰੀਡ-ਆਪਟੀਮਾਈਜ਼ਡ ਸਟੋਰ
  • ਸਰਵਿੰਗ/ਕੁਐਰੀ ਲੇਅਰ (Serving/query layer): ਮਟੀਰੀਅਲਾਈਜ਼ਡ ਵਿਊਜ਼ ਅਤੇ ਪ੍ਰੀ-ਐਗਰੀਗੇਟਡ ਟੇਬਲ
  • ਓਬਜ਼ਰਵੇਬਿਲਟੀ ਲੇਅਰ (Observability layer): ਟ੍ਰੇਸਿੰਗ, ਮੈਟ੍ਰਿਕਸ, ਲੌਗਸ, ਡੈਸ਼ਬੋਰਡਸ, ਅਤੇ ਅਲਰਟਿੰਗ

ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ, ਆਪਣੀਆਂ ਲੋੜਾਂ (requirements) ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ:

  • ਇੰਜੈਸਸ਼ਨ ਰੇਟ (Ingestion rate): 100k ਇਵੈਂਟਸ ਪ੍ਰਤੀ ਸੈਕਿੰਡ
  • ਐਂਡ-ਟੂ-ਐਂਡ ਲੇਟੈਂਸੀ (End-to-end latency): ≤ 300 ms
  • ਕੁਐਰੀ ਪੈਟਰਨ (Query patterns): ਸਮੇਂ-ਸੀਮਤ ਐਗਰੀਗੇਸ਼ਨ ਅਤੇ ਟੇਲ ਲੇਟੈਂਸੀ ਲਈ SLOs

ਆਪਣੇ ਓਬਜ਼ਰਵੇਬਿਲਟੀ ਨਤੀਜੇ (outcomes) ਚੁਣੋ:

  • ਲੇਟੈਂਸੀ ਅਤੇ ਡਾਟਾ ਸਕਿਊ (data skew) ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਟੈਲੀਮੈਟਰੀ
  • ਆਊਟੇਜਾਂ ਲਈ ਤੇਜ਼ ਰੂਟ-ਕੌਜ਼ ਵਿਸ਼ਲੇਸ਼ਣ (root-cause analysis)

ਸਰੋਤ: https://dev.to/therizwansaleem/designing-an-observability-driven-data-pipeline-for-real-time-analytics-4n8d