【Presented by AWS Japan】 DynamoDB勉強会を開催してもらいました
こんにちは!朝日新聞社メディア研究開発センターの嘉田です。
今回は、先日AWSさんに開催していただいたDynamoDB勉強会についてご紹介します。
経緯
弊センターではAWSを使って様々なプロダクトを開発しています。
私が研究開発に携わっている社内向け音声書き起こしシステムもAWSをフル活用しており、AWSのソリューションアーキテクトや営業の方々には日頃からお世話になっています。
過去には音声書き起こしシステムについてAWSブログやオンラインセミナーなどでご紹介させていただきましたので、こちらもご覧いただければと思います。
音声書き起こしシステムではこれまでデータベースにOpenSearchを利用していましたが、今後SaaSとして社内外に提供することを視野に入れたシステムの改修にあたり、Amazon DynamoDBも利用するべく設計・開発を行っています。
AWS Lambdaとの親和性や高いスケーラビリティの面から導入を決めたものの、これまでDynamoDBを使った経験がなかったため、「DynamoDBの設計、難しいんだが…」となっていました。そこでソリューションアーキテクトの方にご相談し、DynamoDBのスペシャリストに設計のレビューをいただけることになりました。
これだけでも大変貴重な機会でしたが、その際に「運用経験がないんです…」という不安をこぼしていたところ、ありがたいことに今回の勉強会をご提案いただき、開催に至りました。
当日の内容
勉強会は半日にわたるプログラムで、本当に盛りだくさんでした。事前に我々のニーズをヒアリングしてプログラムを作成してくださったこともあり、大充実でした。
以下、内容を簡単にご紹介します。
DynamoDB History and How it Works
導入として、DynamoDBの基礎やアーキテクチャーについて詳しく学びました。データがどのように格納されているか、ノード間やGlobal Secondary Indexへのデータ反映の仕組みなど興味深かったです。
DynamoDBの運用のベストプラクティス
下記のアジェンダに従い、各種機能や実装・運用時のポイントなど網羅的に学びました。
・可用性と耐久性
・ストリームとインデックス
・トランザクション
・クォータと制限
・セキュリティ
・スケーリングとアクセスパターン
AWS SDKでの操作時の考慮事項やClientRequestTokenを使った冪等性の担保なども学び、帰宅後には早速実装の改善を行いました。
DynamoDBのコスト最適化
利用料金がかかるポイント、キャパシティモードの選択方法、コスト最適化のためのTipsなど学びました。DynamoDBはリザーブドキャパシティもかなりオススメらしく、大規模かつ長期的に使われるようなプロダクトを開発した暁には利用したいものです。
DynamoDBデザインパターン
最後に、下記のワークショップを使用して実際に手を動かしながらDynamoDBのデザインパターンを学びました。Global Secondary Indexやソートキーの設計テクニック、スロットリングのシミュレーションなど、興味のある方はぜひ一度やってみてください!
おわりに
DynamoDBの基礎から運用のベストプラクティス、コスト最適化など様々なことを学べただけでなく、実装のちょっとした悩みなども相談でき、非常に充実した勉強会でした。勉強会の調整・講師をしてくださったAWSの皆様、あらためて感謝申し上げます。
今回の勉強会で得た知識を活かして、引き続き研究開発を加速させていきます。研究成果はもちろんのこと、それを世に届ける開発の取り組みにもご注目いただければと思います!
告知
6月20日(木)、21日(金) に開催される AWS Summit Japan にて企業ブースを出展予定です。音声書き起こしシステムをはじめとしたメディア研究開発センターのプロダクトについてご紹介しますので、お時間のある方は是非お越しください!
会場:幕張メッセ(AWS Village, Industry Zone)
また、下記の日時でミニステージにも登壇予定です。
6月20日(木) 16:10 - 16:25
(メディア研究開発センター・嘉田紗世)