知っておきたいAWSデータベースのセッション見たので備忘録する
こんにちは
腹筋ローラー数回したら顔から地面に落ちてしまい鼻と一緒に性格もちょっと曲がってしまったオビ―です。
- AWSのデータベース
- リレーショナルデータベース(RDB)
- NoSQLデータベース
- キーバリュー型データベース(Amazon DynamoDB)
- ドキュメント型データベース(Amazon DocumentDB)
- インメモリデータストア(Amazon ElastiCache)
- グラフデータベース(Amazon Neptune)
- 時系列データベース(Amazon Timestream)
- 台帳データベース(Amazon Quantum Ledger Database[QLDB])
- 感想
AWSのデータベース
AWS Builders Online Seriesをちょこちょこ見始めました。
T2-2: 知っておきたい AWS のデータベースと最適なサービスの選び方 - AWS Builders Online Series (awsevents.com)
このセッション見ていたのですが正直DBってRDBしか使ったことはなく「勉強になるなー」とおもってみてましたが一回見ても頭に入らず
Purpose-built databasesという中からいろいろなDBの紹介があったので備忘録としてメモ残しておこうと思います。
リレーショナルデータベース(RDB)
- テーブル間でデータを分割
- データの一貫性
- 多対1の関係
Amazon Aurora, Amazon RDSなど
これは普段使っているので飛ばします。。
NoSQLデータベース
NoSQLは使ったことがないのでこのセッションをみて少しだけはイメージができました。
実際に使わないとこういうのって理解できないですよね。。。
他の種類下記に記載していきます。
キーバリュー型データベース(Amazon DynamoDB)
- 「値」とそれを取得する「キー」を格納するキーバリューのデータを扱う
- データ形式がシンプルな為データの読み書きが高速
- データの格納と取得に特化したデータベース
DynamoDBでは
- 規模に関係なく、一貫して数ミリ秒台の応答を実現
- 事実上無制限のスループットでアプリケーションを構築可能
- サーバーレスなサービス(パッチ適用、自動スケールアップダウン)
などの特徴があり
- スケーラビリティが求められたり
- 数ミリ秒レベルのレスポンスを望む
- サーバレスの特徴を生かした小規模な利用にも対応
の時に選択されるようです。
キーとバリューの1対1のデータ、ユーザはサーバを意識することのないサーバレスなサービスとなっている
ドキュメント型データベース(Amazon DocumentDB)
Amazon DocumentDBは
- JSON-likeなデータを管理する用途に特化したデータストア
- 高可用性、高パフォーマンス
- MongoDBとの互換性
などの特徴があり
の時に選択されるようで
AmzonECサイトの在庫管理システムで利用されているそうです。
インメモリデータストア(Amazon ElastiCache)
読み:アマゾンエラスティキャッシュ
- インメモリ型キャッシングサービス
- よく利用するデータをメモリに配置してデータのやり取りを高速に行う
Amazon ElastiCacheは
- 卓越したパフォーマンス
- フルマネージドサービスでハードウェアとソフトウェアのセットアップや設定が不要
- 簡単にスケールが可能
などの特徴があり
- ミリ秒未満レベルのレイテンシーが求められる
- データ永続化の必要がなく、キャッシュなどの一時的用途が求められる
時に選択されるようです。
グラフデータベース(Amazon Neptune)
読み:アマゾンネプチューン
- グラフ型データを扱うデータベース
- 従来のリレーショナルではなくグラフ構造でデータ間の関係性を表す
Amazon Neptuneは
- 高速でミリ秒のレイテンシーで数十億の関係を照合可能
- Gremlin(読み:グレムリン),openCypher(読み:オープンサイファー),SPARQL(読み:スパークル)のグラフ言語で簡単にクエリを作成可能
などの特徴があり
- データの関係性を探索するクエリ(トラバーサル)
- 大規模データに対するOLTP処理
の時に選択されるようです。
データ同士の関係を表すことにフォーカスしているデータモデル1対1ではなく多対多の関係性となっている
よく使われるのが路線検索、ある地点からある地点のルートを検索する際に「一番安いルート」「一番早いルート」はどれかなど利用
RDBでもできるがSQLが複雑になって時間がかかってしまうなどがあるためこのグラフ型データベースを使うことで処理が高速になるとのことでした
時系列データベース(Amazon Timestream)
- 時系列データ(ある時間間隔で記録される一連のデータ)を扱うデータベース
Amazon Timestreamは
などの特徴があり
- 時系列データを扱う
- 多数のソース(IoTデバイスなど)からの頻繁にデータが送信される
- 時間間隔でクエリを発行、分析を実行
- 欠損値保管、近似などの組み込み関数を活用
で選択されるようです。
タイムスタンプと共に属性情報や測定情報などをシーケンシャルにデータを並べたデータのまとわりの事を指す
時間の経過とともにデータがどのように変化するかを記録でき湿度や気温などの気象データがイメージしやすい
IoTではデータセンサー、Analyticsでは株式市場の予測データ、
DevOpsではメモリやCPUの使用率などのシステムモニタリングに使われたりする
台帳データベース(Amazon Quantum Ledger Database[QLDB])
読み:アマゾンクオンタムレジャーデータベース
- マネージド製のスケーラブルな台帳型データベース
Amazon Quantum Ledger Databaseは
- データに対するすべての変更の順序付けされ、削除・変更できないレコードを保持
- 暗号化により、データ履歴に関する安全な出力ファイルを生成可能
- サーバレスアーキテクチャ
- スケーラブルで高パフォーマンス
- SQL言語をサポート
などの特徴があり
- 履歴の追跡と変更の管理
- 完全で検証可能な変更履歴を長期間維持したい
- 管理者でも変更履歴を改ざんできないことを保証したい
時で選択されるようです。
データの変更履歴を保存し続けていて、データが変更されない、勝手に削除されていないことを保証できる、検証できることに特化したデータベース
記録の保存が重要である銀行の取引やEコマースや輸送の履歴などに利用される
すべての変更履歴やそのトラッキングを検証できる、データが不変ということを保証できるサービス
感想
ざっと見ながらメモしたのをもとに記事を書いてみました。
恥ずかしながら文字で読みがわからないのは話されている言葉をもとに読みを追加しました。。。全然読めない。。。
正直一回で覚えれず、セッション中に普通に使われている言葉も理解できていないなど自分のレベルの低さを知れました。。。
コツコツ勉強していきます。。
セッションみてて思うのですが「強力な」とか「非常に」などの言葉で強調することが多いので、かなりすごいんだろうなと「非常に」語彙力のない感想をもってしまいました。
PS
腹筋ローラーはいきなり立ち状態からやっては絶対ダメです。