AWS・Amazon Redshift Monthly Updates

#1 Amazon Redshift 注目したい新機能はこれだ! ─re:Invent special edition

この記事を読むのに必要な時間:およそ 4 分

Amazon Redshiftは,今年2月に一般公開されて以降,継続して多くの機能をリリースし,注目され続けています。今年11月中旬にラスベガスで開催されたAmazon Web Services(AWS)最大のイベントである re:Inventでも数々の新機能が発表されました。

機能追加や機能改善を通して,ますます使いやすくなっていくAmazon Redshiftですが,実際どう使いやすくなったかは,発表文を見てもなかなかわかりづらいかもしれません。本シリーズではAmazon Redshiftへ追加された機能の中でも特に便利なものをピックアップしていき,Redshiftに関する開発者やデータアナリスト向けの便利なTipsも紹介していきたいと思います。

今回のre:Inventのキーノートセッションでも言及がありましたが,Amazon Redshiftの機能開発の速さは特筆すべきものです。一般公開後発表されたアップデートだけでも,ざっとこれだけの数があります。

Automated cross-region Snapshots
Remote loading
Ability to configure how tables are distributed
Approximate Count Distinct
Workload Memory Management
Key Rotation
Database Auditing and Logging
Hardware Security Module (HSM) Support
SNS Notification for Redshift events
Data Pipeline support for Redshift
CONVERT_TIMEZONE with automatic daylight savings time adjustment
SPLIT_PART function for splitting strings
STL_USERLOG for logs of changes to database users are made
JSON string parsing.
Regular expressions in conditional expressions.
Cursors for ODBC connections.
Replacement of invalid UTF-8 characters.
Support for 4-byte UTF-8 characters.
IAM resource-level permissions.
Restore progress metrics.
COPY from CSV format.
Workload Management (WLM) enhancements.
Automatic date, time, and format recognition for COPY.
New FUNC_SHA1, MD5, and CRC32 functions.
Snapshot sharing between AWS accounts.
ACCEPTINVCHAR option for COPY
CSV option for COPY
New COPY options 'auto' and 'epochsecs'
max_execution_time to limit the maximum query time
Four-byte UTF-8 characters support
Validating input data

その中でもまずは,re:Inventで発表された機能から一緒に見ていきましょう。

クロスリージョンでの自動スナップショットコピー(Automated Cross-Region Snapshot Copy)

これまで,Redshiftで出力したスナップショットのインポートは,同じリージョンのRedshiftに限定されており,スナップショットを用いて他のリージョンにRedshiftのデータを移行することができませんでした。リージョン間のデータ移行の方法としては,これまでUNLOADコマンドを利用して同リージョンのS3へエクスポートし,新たなRedshiftのリージョンのS3バケットへデータをコピー,新たなRedshiftに対してCOPYを実行,というステップが必要で,若干手順が面倒でデータ量が多い場合は時間がかかるものでした。

今回のこの機能の発表で,他のリージョンへのRedshiftクラスタの移動がより簡単にできるようになりました。また,もともとのRedshiftのリージョンで何か不測の事態が起きた時も,自動スナップショットを設定しておくことによって比較的新しい状態での復元も可能となりました。

リモート・ローディング(Remote Loading)

今までRedshiftへのデータのロードは,S3かAmazon DynamoDBからのCOPYコマンドの実行に限られていましたが,新たにSSHでのリモート・ローディングがサポートされるようになりました。この機能は今までのデータを「プッシュ」するやり方とは逆の,⁠プル」型のデータロード方法となります。つまり,Redshiftクラスタ側からSSHコマンドを発行し,起動されたユーザサーバ側のプロセスがデータを生成してその結果を元に,Redshiftがロードするという,全く新しい方法です。

この機能により,たとえばHadoopやCassandraなどが生成するデータを直接読みに行くことができますので,既存のデータベース資産がある場合などには特に有効です。S3へのコピーステップも減らすことができるので,より効率的にロードできる可能性があります。

ただ,現時点では使いはじめるための設定ステップが複雑 ⁠Manifest JSONをS3に置く・AWSからの直接のSSHアクセスを許可するためセキュリティ上の作業を行う,など)なので,上級者用の機能という位置づけのようです。

著者プロフィール

Alex Weber

FlyData Inc.のマーケティングとオペレーション担当。大学時代から趣味でプログラミングを始め,中でも裏で世界を大きく変えて行くビッグデータの領域に興味を持つ。大学卒業後米大手会計事務所で会計士として働いた後,シリコンバレーのクラウド・ビッグデータスタートアップHapyrus(現FlyData Inc.)へ入社。AWS関連のさまざまな知識を身につけ,テック業界の企業をサポートすべく奮闘中!

AWS TechnicalProfessional Accreditation保持者。


藤川幸一(ふじかわこういち)

学生時代からStartup (電脳隊・PIM)に関わり,PIMがYahoo! JAPANに買収された後は,エンジニアとしてYahoo!モバイルを開発。アジャイル開発コンサルやデリバティブ取引システムなどの開発経験を経て,シリウステクノロジーズでテクニカルマネージャ&夜はIPA未踏人材育成事業でHadoopのミドルウェア開発プロジェクト。日本JRubyユーザグループ発起人。

シリウスがYahoo! JAPANに買収されたのを機に,2010年FlyData Inc.(旧社名Hapyrus)をUSにて起業。カリフォルニアSunnyvale在住。

Twitter:@fujibee

コメント

コメントの記入