paint-brush
AWS менен реалдуу убакыттагы аналитиканы кантип өздөштүрүү керек: Timestream жана андан тышкарытарабынан@ravilaudya
310 окуулар
310 окуулар

AWS менен реалдуу убакыттагы аналитиканы кантип өздөштүрүү керек: Timestream жана андан тышкары

тарабынан 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 менен аналитика


Убакыт агымы

Amazon Timestream , AWS убакыт сериясынын маалымат базасы чоң көлөмдөгү маалыматтарды эффективдүү иштетүү жана талдоо көйгөйлөрүн чечүү үчүн иштелип чыккан. Timestream серверсиз, масштабдуу жана реалдуу убакыттагы маалыматтарды талдоону талап кылган колдонмолор үчүн идеалдуу. Анын негизги өзгөчөлүктөрү төмөнкүлөр кирет:


  • Автоматтык масштабдоо : Ал күнүнө триллиондогон окуяларды иштетип, суроо-талапты канааттандыруу үчүн автоматтык түрдө масштабдана алат.
  • Аткаруучулук : Бул реляциялык маалымат базаларына салыштырмалуу 1000 эсе тезирээк суроо аткарууну сунуштайт.
  • Серверсиз : Ал толугу менен AWS тарабынан башкарылат, кошумча чыгымдарды азайтат.
  • Smart Storage Tiers : Акыркы (эсте турган) жана тарыхый (магниттик сактагыч) маалыматтар үчүн оптималдаштырылган сактоо деңгээли.
  • 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

ТАГИП АЛУУ

БУЛ МАКАЛА БЕРИЛГЕН...