paint-brush
AWS ашиглан бодит цагийн аналитикийг хэрхэн эзэмших вэ: Timestream ба түүнээс дээшby@ravilaudya
512 уншилтууд
512 уншилтууд

AWS ашиглан бодит цагийн аналитикийг хэрхэн эзэмших вэ: Timestream ба түүнээс дээш

by Ravi Laudya6m2024/12/04
Read on Terminal Reader

Хэтэрхий урт; Унших

Энэ нийтлэл нь бодит цагийн аналитик платформыг хэрхэн өргөжүүлэх боломжтой, найдвартай болгох талаар судлах болно. Энэ нь AWS платформын SQS, Lambda болон Timestream бүрэлдэхүүн хэсгүүдийг ашиглан үйл явдлын өгөгдлийг бодитой ойлголт болгон хувиргахын тулд өгөгдөл шингээх, боловсруулах, дүрслэн харуулах, асуулга хийх үйл явцыг хамардаг.
featured image - AWS ашиглан бодит цагийн аналитикийг хэрхэн эзэмших вэ: Timestream ба түүнээс дээш
Ravi Laudya HackerNoon profile picture

Миний сүүлчийн нийтлэлд бид өнөөдрийн өгөгдөлд тулгуурласан ертөнцөд болж буй үйл явдлын экспоненциал өсөлтийн талаар ярилцсан. Бидний эргэн тойронд маш олон програм, ухаалаг төхөөрөмж, машинууд байгаа тул үүсгэсэн өгөгдлийн хэмжээ асар их байна. Мөн бид найрал хөгжмийн платформ нь эдгээр үйл явдлыг зөв хэрэглүүрт хүргэхэд хэрхэн тусалж болохыг судалсан. Гэсэн хэдий ч, үйл явдлуудыг хүргэх нь бизнесүүдэд нөлөө үзүүлэхэд хангалтгүй байж магадгүй юм.


Хэрэглэгчдийн зан төлөвийг ойлгохын тулд эдгээр үйл явдлуудад дүн шинжилгээ хийснээр бизнесүүд илүү ухаалаг шийдвэр гаргах замаар үйлчлүүлэгчдэдээ илүү сайн үйлчлэх боломжтой. Бодит цагийн аналитик платформ нь үйл явдлын өгөгдлийг утга учиртай оюун ухаан болгон хувиргахад тусална.


Энэхүү нийтлэл нь AWS ашиглан бодит цагийн аналитик платформыг хэрхэн бий болгох, боломжит шийдлүүдийг үнэлэх, өргөтгөх боломжтой, найдвартай платформыг хэрэгжүүлэх алхам алхмаар зааварчилгааг өгөх болно. Энэхүү платформыг бүтээх нь өгөгдөл шингээх, боловсруулах, асуулга хийх гэсэн гурван үе шаттай. Бодит цагийн аналитик нь хэрэглэгчийн зан төлөв эсвэл системийн гүйцэтгэл эсэхээс үл хамааран цаг хугацааны чиг хандлага, хэв маягт анхаарлаа төвлөрүүлдэг.


Цаг хугацааны цуваа өгөгдөл нь үйл явдлуудыг дарааллаар нь зохион байгуулдаг бөгөөд энэ нь өгөгдлийг агшин зуурт шинжлэхэд хялбар болгодог. Цагийн цуваа хадгалалт нь энэ хэрэгцээнд бүрэн нийцэж, програмуудад хэмжигдэхүүнийг тооцоолох боломжийг олгодог. AWS нь энэхүү платформыг бүтээхэд хамтран ажилладаг SQS, Lambda, Timestream, Quicksight зэрэг хэрэгслүүдийг санал болгодог.


Бодит цагийн аналитик платформыг бий болгоход гурван үндсэн хэсэг байдаг

  • Өгөгдөл залгих : Аппликешнүүдээс нийтлэгдсэн үйл явдлууд Amazon Kinesis-ээр дамжуулан AWS руу эсвэл шууд SQS руу урсах боломжтой.


  • Мэдээллийн боловсруулалт : AWS Lambda нь өгөгдлийг боловсруулж, Timesream руу бичих боломжтой.


  • Дүрслэл, асуулга : Захиалгат хяналтын самбар эсвэл Quicksight нь дүрслэл, ойлголттой болохын тулд Timestream-тэй нэгтгэх боломжтой.


    Доорх диаграмм нь аналитик платформын архитектурыг харуулж байна


AWS Timestream-тэй аналитик


Цагийн урсгал

AWS-ийн цагийн цуврал мэдээллийн сан болох Amazon Timestream нь асар их хэмжээний өгөгдлийг үр дүнтэй боловсруулж, шинжлэхэд тулгарч буй сорилтуудыг даван туулах зорилготой юм. Timestream нь сервергүй, өргөтгөх боломжтой бөгөөд бодит цагийн өгөгдлийн дүн шинжилгээ хийх шаардлагатай програмуудад тохиромжтой. Үүний гол шинж чанарууд нь:


  • Автомат масштаб : Энэ нь өдөрт хэдэн триллион үйл явдлыг боловсруулж, хэрэгцээг хангахын тулд автоматаар масштаблах боломжтой.
  • Гүйцэтгэл : Энэ нь харилцааны мэдээллийн баазтай харьцуулахад 1000 дахин хурдан асуулгын гүйцэтгэлийг санал болгодог.
  • Сервергүй : Үүнийг AWS бүрэн удирддаг бөгөөд энэ нь нэмэлт зардлыг бууруулдаг.
  • Ухаалаг хадгалах шат : Сүүлийн үеийн (санах ойн) болон түүхэн (соронзон хадгалалтын) өгөгдлийн хадгалалтын шатлалыг оновчтой болгосон.
  • SQL асуулгын дэмжлэг : Энэ нь нарийн төвөгтэй асуулга, нэгтгэх, цаг хугацааны цуврал аналитик хийх SQS асуулгад дэмжлэг үзүүлдэг.
  • Интеграцчлал : Энэ нь бусад AWS үйлчилгээнүүдтэй саадгүй нэгдэхийг дэмждэг.

Хэрэгжилт

Шаардлагатай бүх нөөцөд зориулсан үүл үүсгэх (CFN) загварыг Github Repo дээрээс олж болно.


  • Өгөгдөл залгих

    Үйлчилгээнүүд нь холбогдох үйл явдлыг SQS дараалалд нийтлэх боломжтой бөгөөд энэ нь системийн мессежийн дараалал болдог. Найдвартай байдлыг нэмэгдүүлэхийн тулд үндсэн SQS дарааллын хажууд үхсэн үсгийн дарааллыг (DLQ) тохируулсан. Боловсруулж чадаагүй үйл явдлууд дахин оролдох босгоны дараа DLQ руу очно. Эдгээр үйл явдлуудыг дибаг хийх, алдаа засах, мөрдөн шалгахад ашиглаж болно.


    SQS дараалал болон түүнтэй холбоотой DLQ үүсгэх CFN загварын хэсгийг доор харуулав.


     EventQueueDLQ: Description: 'An DLQ queue that receives failed events' Type: AWS::SQS::Queue Properties: FifoQueue: true ContentBasedDeduplication: true QueueName: !Ref DLQQueueName SqsManagedSseEnabled: true VisibilityTimeout: 240 EventQueue: Description: 'An SQS queue that receives events' Type: 'AWS::SQS::Queue' Properties: QueueName: !Ref SQSQueueName FifoQueue: true ContentBasedDeduplication: true KmsMasterKeyId: alias/aws/sqs VisibilityTimeout: 240 RedrivePolicy: deadLetterTargetArn: !Sub ${EventQueueDLQ.Arn} maxReceiveCount: 5


  • Өгөгдөл боловсруулах

    AWS Lambda функц нь SQS дараалалд нийтлэгдсэн үйл явдлыг зохицуулах, боловсруулах үүрэгтэй өгөгдлийн процессороор тохируулагдсан. Энэ нь боловсруулалтын дараа үйл явдлуудыг Timestream мэдээллийн сан руу хэмжүүр болгон түлхдэг.


    Доорх нь Lambda-д зориулсан CFN загварын хэсэг ба SQS-тэй зураглалыг харуулсан болно:


     EventProcessorLambda: Type: 'AWS::Lambda::Function' Description: 'Lambda function that processes events from the SQS queue and writes to Timestream.' Properties: FunctionName: !Ref LambdaFunctionName Handler: 'index.lambda_handler' Role: !GetAtt LambdaExecutionRole.Arn Runtime: 'python3.12' MemorySize: 1024 Timeout: 120 Environment: Variables: TIMESTREAM_DATABASE_NAME: !Ref EventsDatabaseName TIMESTREAM_TABLE_NAME: !Ref EventsTableName Code: ZipFile: | # Lambda function code goes here SQSToLambdaEventSourceMapping: Type: 'AWS::Lambda::EventSourceMapping' Description: 'Maps the SQS queue as the event source for the Lambda function.' Properties: BatchSize: 10 EventSourceArn: !GetAtt EventQueue.Arn FunctionName: !GetAtt EventProcessorLambda.Arn Enabled: 'True'


  • Мэдээллийн дэлгүүр

    Amazon Timestream нь янз бүрийн үйлчилгээнүүдэд үүсгэсэн бүх үйл явдлын үндсэн мэдээллийн сан болж үйлчилдэг. Тохиргоонд:

    • Өгөгдлийн сан : Нэг буюу хэд хэдэн хүснэгтэд зориулсан логик савны үүрэг гүйцэтгэдэг
    • Хүснэгт : Мэдээллийн сангийн хүрээнд хүснэгтүүд бодит хэмжүүрийн өгөгдлийг хадгалдаг


Timestream мэдээллийн сан болон хүснэгтийг үүсгэх CFN загварт зориулсан хэсэгчилсэн хэсгийг доор харуулав.

 EventsDatabase: Description: 'Timestream database to store event data' Type: 'AWS::Timestream::Database' Properties: DatabaseName: !Ref EventsDatabaseName KmsKeyId: alias/aws/timestream EventsTable: Description: 'Timestream table that stores event metrics' Type: 'AWS::Timestream::Table' DependsOn: EventsDatabase Properties: DatabaseName: !Ref EventsDatabase TableName: !Ref EventsTableName RetentionProperties: MemoryStoreRetentionPeriodInHours: 72 MagneticStoreRetentionPeriodInDays: 365


  • Дүрслэл, асуулга

    • Асуулга

      Timestream нь хэрэглэгчдэд хүснэгтийн эсрэг асуулга ажиллуулах боломжийг олгодог Query консолыг санал болгодог, жишээ нь:

       -- Get the 10 most recent metrics in the past 15 minutes. SELECT * FROM "events-db"."events-metrics" WHERE time between ago(15m) and now() ORDER BY time DESC LIMIT 10


    • Дүрслэл

      AWS нь Timestream-тай олон бэлэн интеграцчилалуудыг (жишээ нь QuickSight , Grafana ) хангадаг бөгөөд энэ нь дүн шинжилгээ хийх, дүрслэх, ойлголт авахад хялбар болгодог.

Туршилт хийх

Үйлчилгээнүүд нь үйл явдлыг дараах форматаар SQS-д нийтлэх боломжтой бөгөөд энэ нь боловсруулалтын бүх урсгалыг өдөөдөг:

 { "order_id": "test-order-1", "customer_id": "test-customer-1", "event_type": "order_success", "metric_value": 1 }


Дүгнэлт

Энэхүү архитектур нь өргөтгөх боломжтой, найдвартай аналитик платформыг бий болгох энгийн бөгөөд үр дүнтэй аргыг санал болгодог. Үйл явдал боловсруулахад зориулсан AWS Kinesis Streams, мэдээллийн санд зориулсан Prometheus, багц боловсруулалт болон аналитикт зориулсан S3+Athena зэрэг тусгай хэрэгцээ шаардлагаас хамааран өөр хувилбарууд байдаг.

L O A D I N G
. . . comments & more!

About Author

Ravi Laudya HackerNoon profile picture
Ravi Laudya@ravilaudya
Technology expert in software architecture, design, and development utilizing AWS Cloud and AI technologies

TAG ҮҮ

ЭНЭ ӨГҮҮЛЛИЙГ ТОЛГОЙЛУУЛСАН...