Amazon Timestream
Amazon Timestream
Serverless baza danych time-series stworzona do przechowywania i analizy bilionów zdarzen dziennie. Automatyczny tiering, SQL i wbudowane funkcje szeregów czasowych.
Amazon Timestream to serverless baza danych szeregów czasowych do zastosowań takich jak metryki, logi, dane z czujników IoT, kliki użytkowników i dane finansowe. W odróżnieniu od tradycyjnych baz relacyjnych, Timestream jest zbudowany specjalnie do efektywnego przechowywania i analizy danych, które mają naturalny wymiar czasu.
Kluczowa cecha to automatyczny tiering: najnowsze dane trafiaja do memory store (szybki dostep, drozsz), a starsze automatycznie przenosza sie do magnetic store (tansz, nieco wolniejszy). Timestream obsluguje SQL z wbudowanymi funkcjami time-series: interpolacja, smoothing, aproksymacja, wykrywanie anomalii. Integruje sie natywnie z Grafana i QuickSight do wizualizacji.
Timestream potrafi obsluzyc biliony insertów dziennie i automatycznie skaluje sie do petabajtów danych - bez zarzadzania shardami czy partycjami. Wewnetrznie Timestream uzyta oddzielnych silników do zapisu (write-optimized) i odczytu (read-optimized), co pozwala na jednoczesne szybkie zapisy i zlozzone zapytania analityczne bez wzajemnego wplywu.
Uzyj multi-measure records zamiast single-measure - zapisuj wiele metryk (temperatura, wilgotnosc, cisnienie) w jednym rekordzie zamiast trzech osobnych. Zmniejszasz liczbe zapisów (tansz) i przyspieszasz zapytania, które potrzebuja wielu metryk jednoczesnie. Przy 1000 czujników z 5 metrykami to 5x mniej rekordów.
Amazon Timestream to serverless baza danych zoptymalizowana pod dane czasowe (time-series). Automatycznie zarzadza cyklem zycia danych miedzy szybkim in-memory store a tanim magnetic store, obslugujac biliony rekordow z milisekundowym latency.
Tworzenie bazy danych i tabel
Tworzysz baze danych i tabele bez definiowania schematu (schema-on-write). Kazdy rekord w Timestream to: wymiary (dimensions - identyfikatory, np. device_id, region), miary (measures - wartosci, np. temperature=22.5, humidity=65), timestamp. Wymiary sa indeksowane automatycznie. Tabela ma konfiguracje retencji dla memory i magnetic store.
Konfiguracja retencji (Memory i Magnetic)
Memory Store przechowuje najnowsze dane (godziny-dni) z milisekundowym latency. Magnetic Store przechowuje dane historyczne (miesiace-lata) na tanim storage. Dane automatycznie migruja z memory do magnetic po konfigurowalnym czasie. Np. memory retention: 24h, magnetic retention: 365 dni. Mozesz queryjemy obydwa store jednym zapytaniem.
Zapis danych (Ingestion)
Dane zapisujesz przez SDK (WriteRecords API). Timestream przyjmuje batch do 100 rekordow per request. Obsluguje multi-measure records (wiele miar w jednym rekordzie). Integracje: IoT Core rules action, Kinesis Data Analytics, Telegraf plugin, Grafana plugin. Throughput skaluje sie automatycznie.
Zapytania SQL z funkcjami time-series
Timestream uzywa SQL z rozszerzeniami time-series: bin() do agregacji po przedzialach czasowych, interpolation do uzupelniania brakujacych danych, time_series() do tworzenia tablicy czasowej, lead/lag do porownywania z poprzednimi wartosciami. Mozesz laczyc dane z memory i magnetic store w jednym zapytaniu transparentnie.
Scheduled Queries
Scheduled Queries prekomputuja agregacje i zapisuja wyniki w osobnej tabeli. Np. co godzine oblicz srednia temperature per region i zapisz wynik. Dashboardy odczytuja prekomputowane dane zamiast skanowac surowe dane - znacznie szybciej i taniej. To odpowiednik materialized views dla time-series.
Integracja z narzediami wizualizacji
Timestream integruje sie natywnie z: Amazon QuickSight (dashboardy BI), Grafana (monitoring i alerting), Amazon Managed Grafana. JDBC driver pozwala na polaczenie z dowolnym narzedziem BI. Dla custom aplikacji uzyj SDK (Python, Java, Go, .NET). Grafana plugin obsluguje real-time dashboardy z auto-refresh.
Praktyczne wskazowki z wdrazania Amazon Timestream - od modelowania danych po optymalizacje zapytan.
Modelowanie danych - dimensions vs measures
Dimensions to "klucze" identyfikujace serie czasowe (device_id, region, sensor_type) - sa indeksowane i uzywane do filtrowania. Measures to wartosci zmieniene w czasie (temperature, cpu_usage, request_count). Minimalizuj liczbe unikalnych kombinacji dimensions - kazda unikalna kombinacja to osobna seria. Dla 10000 urzadzen x 5 sensorow = 50000 serii.
PoczatkujacyMulti-measure records - oszczednosc kosztow
Zamiast zapisywac temperature, humidity, pressure jako osobne rekordy, uzyj multi-measure records - jeden rekord z wieloma miarami. Redukuje liczbe rekordow 3x, zmniejsza koszty zapisu i przechowywania. Multi-measure jest tez szybsze do odczytu - dane z jednego momentu sa w jednym wierszu. Zawsze uzywaj multi-measure gdy masz wiele miar na timestampie.
ZaawansowanyRetencja - balans miedzy kosztem a latency
Memory store jest 10-20x drozszy niz magnetic, ale daje milisekundowe latency. Dla dashboardow real-time trzymaj 1-24h w memory. Dla analityki historycznej magnetic wystarcza (latency sekundy). Typowa konfiguracja: memory 6h, magnetic 365 dni. Scheduled Queries prekomputuja dane z magnetic store, wiec dashboardy i tak sa szybkie.
PoczatkujacyOptymalizacja zapytan
Timestream skanuje dane per tabela - zawsze filtruj po measure_name i dimensions w WHERE. Uzyj bin() z odpowiednia granularnoscia (1min, 5min, 1h) zamiast skanowania kazdego rekordu. Ogranicz zakres czasowy w WHERE (np. time > ago(1h)). Scheduled Queries eliminuja powtarzalne ciezkie zapytania - prekomputuj popularne agregacje.
ZaawansowanyTimestream vs inne bazy time-series
Timestream vs InfluxDB on EC2: Timestream jest serverless (zero operacji), ale drozszy przy duzym wolumenie. Timestream vs DynamoDB: Timestream ma wbudowane funkcje time-series (interpolacja, bin, agregacje) ktorych DynamoDB nie ma. Timestream vs OpenSearch: OpenSearch jest lepszy dla logow (full-text search), Timestream dla metryk numerycznych.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon Timestream bezposrednio w konsoli AWS.
Do czego sluzy Amazon Timestream?
Monitoring infrastruktury i DevOps
Przechowuj metryki CPU, RAM, sieci z tysiecy serwerów. Analizuj trendy, wykrywaj anomalie i twórz dashboardy w Grafana.
Dane z czujników IoT
Miliony czujników wysylajacych odczyty temperatury, cisnienia, wilgotnosci co sekunde. Timestream skaluje sie automatycznie.
Analiza zachowan uzytkowników
Sledz clickstream, sesje, konwersje w czasie. Analizuj wzorce uzycia aplikacji i trendy z wbudowanymi funkcjami time-series.
Dane telemetryczne z aplikacji
Loguj latencje API, bledy, throughput. Uzyj SQL do analizy percentyli (p50, p95, p99) i korelacji miedzy metrykami.
Co musisz wiedziec?
Memory Store
Warstwa dla najnowszych danych - przechowywana w pamieci dla ultra-szybkich odczytów. Konfigurujesz retencje (np. 1h, 1 dzien, 7 dni).
Magnetic Store
Warstwa dla danych historycznych - tansz storage oparty na dyskach magnetycznych. Retencja do lat. Dane przenosza sie automatycznie z memory store.
Measure
Wartosc metryki zapisywana w danym punkcie czasu. Moze byc single-measure (jedna wartosc) lub multi-measure (wiele wartosci w jednym rekordzie).
Dimension
Metadata opisujaca pomiar - np. hostname, region, sensor_id. Uzywane do filtrowania i grupowania danych w zapytaniach SQL.
Time-series functions
Wbudowane funkcje SQL: interpolate (uzupelnianie brakujacych danych), bin (agregacja czasowa), derivative, moving_average, approximate_percentile.
Scheduled Query
Automatycznie uruchamiane zapytanie, które przetwarza dane i zapisuje wyniki do tabeli docelowej. Idealne do pre-agregacji i tworzenia materialised views.
Architektura: Monitoring IoT z Amazon Timestream
Architektura platformy monitoringu IoT z Timestream jako baza time-series, real-time dashboardami i alertingiem.
Ile kosztuje Amazon Timestream?
Zapis danych
Oplata za GB zapisanych danych. Rozliczane w 1 KB przyrostach na rekord.
1 GB zapisów: okolo 0.50 USD. 1 miliard rekordów po 100 B = okolo 50 USD.
Memory Store
Oplata za GB-godzine przechowywania w memory store (najszybsza warstwa).
10 GB danych w memory store przez miesiac: okolo 73 USD (0.01 USD za GB-godzine).
Magnetic Store
Oplata za GB-miesiac przechowywania w magnetic store (tansza warstwa historyczna).
100 GB danych w magnetic store: okolo 3 USD/miesiac (0.03 USD za GB-miesiac).
Zapytania
Oplata za GB danych przeskanowanych przez zapytania SQL.
100 GB przeskanowanych danych: okolo 1 USD (0.01 USD za GB). Uzyj WHERE na czasie, aby ograniczyc skan.
Przyklady AWS CLI
Utworzenie bazy danych Timestream
Tworzy nowa baze danych z tagami.
aws timestream-write create-database --database-name IoTMetrics --tags Key=Environment,Value=Production
Utworzenie tabeli z retencja
Tworzy tabele z 24h retencja w memory store i 365 dni w magnetic store.
aws timestream-write create-table --database-name IoTMetrics --table-name SensorReadings --retention-properties "{\"MemoryStoreRetentionPeriodInHours\":24,\"MagneticStoreRetentionPeriodInDays\":365}"
Zapis danych do tabeli
Zapisuje odczyt czujnika temperatury z wymiarami (dimensions) i wartoscia (measure).
aws timestream-write write-records --database-name IoTMetrics --table-name SensorReadings --records "[{\"Dimensions\":[{\"Name\":\"sensor_id\",\"Value\":\"sensor-001\"},{\"Name\":\"location\",\"Value\":\"warehouse-1\"}],\"MeasureName\":\"temperature\",\"MeasureValue\":\"23.5\",\"MeasureValueType\":\"DOUBLE\",\"Time\":\"$(date +%s)\",\"TimeUnit\":\"SECONDS\"}]"
Zapytanie SQL o srednia temperature
Odpytuje dane z ostatniej godziny z agregacja co 5 minut.
aws timestream-query query --query-string "SELECT bin(time, 5m) as t, AVG(measure_value::double) as avg_temp FROM IoTMetrics.SensorReadings WHERE measure_name = 'temperature' AND time > ago(1h) GROUP BY bin(time, 5m) ORDER BY t DESC"
Quiz: Amazon Timestream
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Jakie dwie warstwy storage oferuje Timestream?
2. Czy Timestream wymaga zarzadzania infrastruktura (serwery, patching)?
3. W jakim jezyku odpytujesz dane w Timestream?
4. Jak Timestream automatycznie zarzadza starszymi danymi?
Czesto uzywane razem z Amazon Timestream
Chcesz poznac Amazon Timestream w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon Timestream krok po kroku. Teoria + praktyka od zera.