Amazon Web Services ブログ
AWSオンラインセミナー「さあ、始めよう!AWS が提供するサーバーレス時系列データベース」資料・動画及び QA 公開
先日(2023/9/14) に開催した AWS オンラインセミナー「さあ、始めよう! AWS が提供するサーバーレス時系列データベース」の資料・動画を公開しました。今回のセミナーでは Amazon Timestream を利用した事例や、実際のデモをご覧いただきながら時系列データの活用方法をご紹介しています。
当日、参加者の皆様には数多くの QA を頂きありがとうございました。頂いた QA の一部についても共有しておりますので、併せてご参照ください。
【資料/動画】
- 時系列データのユースケースと Timestream 概要
- Demo for Beginners – 初めての Timestream 入門
- Amazon Timestream 新機能紹介とデモ
【QA】
Q. 時系列データ分析に Amazon Redshift を使っているのですが、Timestream との違いを教えてください。
A. Redshift は、データウェアハウス専用のリレーショナルデータベースに位置づけられます(参考:AWS が提供するクラウドデータベース )。ポイントとしては Timestream は時系列に特化した関数が用意されているという点です。一方で Redshift はより汎用性の高い DWH 専用の RDB になりますので、時系列データに特化してシンプルにデータを扱いたい場合に Timestream をご検討いただければ思います。
Q. メモリストアからマグネティックストアに変更するのは簡単に出来ますでしょうか?
A. メモリストアの保持期間を変更いただくことでデータを移すことが可能です。例えば、メモリストアに10日間保持(10日を超えたデータはマグネティックストアに移動)するという設定にしていたとして、メモリストアの保持期間を10日から1日に変更すると1日よりも古いデータはメモリストアからマグネティックストアに移されます。
Q. テーブル作成時、それぞれのデータストアの保持期間を設定するとのことですが、マグネティックストアの保持期間が経過するとデータは削除されますか?保持期間経過後のデータを、例えば S3 の Glacier Deep Archive などに移行することは可能でしょうか?
A. 保持期間が経過すると削除されます。 Timestream の Export 機能を利用して出力したデータを S3 に移動いただくことが可能です。(参考:Amazon Timestream が Amazon S3 へのデータのアンロードのサポートを開始)
Q. Single measure と Multi measure の使い分けを教えてください。
A. 基本的には Multi measure の利用を前提にご検討ください。一方で SELECT 対象の列が2個以下といったように少ないことが事前に把握できている場合は、クエリコストの観点で Single measure の方が良いです。
Q. Amazon DynamoDB から Timestream への移行を検討していますが、 DynamoDB 側の既存データにおいて NULL 型を許容している項目についての扱いに悩んでいます。
A. 対象が Dimension 列となる場合は NULL も許容されます。一方で Measure の場合は1つのレコードに対して何かしら値が格納されている必要があり NULL は許容されません( Multi measure の場合は1つ以上値が入っている必要があります)。従いまして例えば NA といった値を格納することや、レコード自体を格納せずに欠損値として扱い、クエリ実行時に補完関数を利用するといったケースが考えられます。
Q. SQL を実行しないとテーブルアイテムの探索はできない、という理解で良いでしょうか?
A. 各テーブルのカラム情報はクエリエディタを利用し確認できます。一方で、テーブルに格納されているデータ自体は SQL で検索いただく必要がございます。
Q. bin関数を利用する際に、 UTC ⇔ JST の変換は可能でしょうか?
A. 現時点で Timestream では Timezone を事前に変更しておくことはできませんが、 SQL での問い合わせの際に date_add 関数で時刻計算が可能です。例えば timestamp が UTC という前提で、以下のような関数をご利用いただくと JST での出力が可能となります。bin(date_add('hour' , 9 , timestamp ), 1d)
Q. バッチロードに対応するのは CSV だけでしょうか?データを Paruqet や AVRO で用意しているため。
A. はい、現時点では CSV ファイルのみの対応になります。 Parquet や AVRO の場合は一旦 CSV に変換していただく必要がございます。
Q. バッチロードは増分追加のイメージでしょうか?洗い替えの機能もあるのでしょうか?
A. はい、増分追加となります。現時点で洗い替えはできませんので、仮に洗い替えをしたい場合はテーブル作成から再度実行いただく必要がございます。
Q. 1000万件 CSV データのロード時間はどのぐらいでしょうか?
A. ファイルの分割数やカラム数によってインポート時間は変わるため、実機にてお試しいただければと思います。尚、バッチロードのベストプラクティスが公開されているので、こちらを元にお試しいただくことを推奨致します。(参考:Batch load best practices – Amazon Timestream )
Q. DynanoDB のように検証用途でローカル PC に Timestream をセットアップして利用することは可能ですか?
A. 現時点で Timestream をローカル PC にセットアップする手段は提供していません。尚、 Timestream では一定の範囲内で無料でお使いいただくことができますので、無料利用枠でのご利用をご検討ください(参考: AWS 無料利用枠)
Q. Timestream のユースケースにおいて IoT Application での利用がありましたが、 Timestream をデータレイクとして活用できるのでしょうか?データレイクを作る場合は Amazon S3 が望ましいのでしょうか?
A. 時系列データに特化して扱いたい場合は Timestream をデータレイクとして利用することも考えれるかとは思いますが、こちらはユースケースに依存します。例えば IoT デバイスから出力されたデータを一時的に Timestream に格納し、欠損データの補完やミリ秒から秒単位への変換作業、また時系列関数や分析関数を利用した集計作業を行なった上で、汎用データを格納する先としての S3 に流し込む、といったユースケースもあろうかと思います。このように適材適所で検討する必要がありますので、まずはお客様のやりたいことを元にアーキテクチャを一緒に検討できますので、AWSの担当者までご相談いただければと思います。
—
著者
長久保 武
データベース スペシャリスト ソリューション アーキテクト