AWSでRDSを使用しているなら、AmazonAuroraをぜひ勧めたいです。
やっぱりサービスのコンセプトが素敵です。
「RDBを見直して、いまのクラウド時代にあったデータベースを再構築する」
だったかな。近いニュアンスだと思います。
RDSが50年以上前に設計されたものであるなら、たしかにいまの時代と合わないところはでてくるでしょう。
コンセプトに対する機能としても十分に考えられていて、使う側としてはRDSより解決できることが多く助かります。
そこで、エンジニアとしておすすめする点を書いていきます。ただ詳しい機能は、AWS Summit Tokyo 2018のセッションや資料がでたらそっちを見た方がいいです。
ストレージが最大 64 TB まで自動的にスケール
容量を確認し、定期的に容量追加する必要がないんです。
深夜のメンテナンス時間を少し取らなくてよくなります。
残業しなくていいんです。
やる仕事が減るだけでも、会社としては業務改善になると思います。素敵です。
クラスタとしてのエンドポイント
DBの分散構成が簡単になります。
DBの分散構成をやったことがないので、大変さが身にしみていないのですが、調べても簡単にできそうにないことは実感したことはあります。
リードレプリカとして、読み込み専用のレプリケートのDBを作成したとして、分散構成を作るとしたらどうやってアクセスを分散させるのか。とか考えたことがないです。
WEBアクセスの場合は、ロードバランサーでできるようになっているのを知っていますが、DBの場合はどうやっているんでしょう。まぁ、調べたらでてきましたが、自分で構築した場合に分散させる部分を冗長化させないと安定的なサービスにならなくなるので、諦めたことがあります。そこまで自分の力でできるとは思ってないです。
ひとつのマシンパワーには限界があります。よく実感します。
そんなロードバランサーのように分散させてくれる機能がAuroraには標準であったりします。
クラスタのエンドポイントとリードレプリカのエンドポイントが用意されており、基本的にこれをアクセスするエンドポイントとして指定するだけです。
これだけで分散構成のDBができるので、安定的なサービスの提供が行えるようになることがわかるとおもいます。素敵です。
優れたパフォーマンス
同じハードウェアで実行される標準的な MySQL と比べて 5 倍のスループット、標準的な PostgreSQL と比べて 3 倍のスループットを発揮します。
パフォーマンスがあがるらしい。これは原理がわからないけど、内部的な処理を頑張っているんだと思います。
RDS自体はある一定のインスタンスから性能自体が上がるわけではなく、CPUの数が上がって処理数がふえたり、メモリ量がふえて処理が多くできるようになる。だけです。
性能が上がるということは処理が早くなるんですよ。Auroraに変えるだけで、パフォーマンス向上です。会社の改善事項として報告できますね。
素敵です。
また、これに関しては明確なソースを忘れたため探したいですが、Auroraはインスタンスを上げていくと、どうやら性能も上がっていくようにできているらしいです。RDSは打ち止めです。
Performance Insights が使える
そのうち、すべてのRDSで使えるようになるらしいですが、現在はAuroraPostgeSQLで使用可能です。
やっぱり目標がいい
AWS Summit2018 Tokyoで聞いていた時にも、アマゾンは会社としてのミッションとチームとしてのミッションが明確にありそうに感じました。
ミッションの内容が導入数や利用人数だけでないところが個人的にはいいと思った点で、世の中に貢献している感じがありいいと思っています。(利用人数の目安はあると思います。さすがにあの規模の会社がビジネスをするのに利用者数を検討せずに取り組みはしないと思います。また要望が多いから作っているサービスのはずです。)
世の中でこういうことを実現する。という目標は個々人でも持つべきだと思っています。チームの目標に賛同できるのであれば、チームの目標でもいいし、会社でもいい。
目標を立てない方がいい。とか会社にあってない。とかいうのもわかりますが、高い目標なら共有できるチームのほうが明確に進んでいけるはずです。
ブレインストーミングやアイデア出しではまずタイトルを紙に書く。これが重要です。
考え始めると人は、いろんな方向にいきます。それ自体はとてもいいことです。
ただし戻る場所が見えなくなると、結論もあさっての方向にいってしまいます。
ましてチームの人たちがそれぞれ考えて動いているから、みんなバラバラな方向にいってもチームの意味をなさないことが絶対に多くなります。
やることを見直す。そのためのタイトルでもあります。
個人的には仕事でも同じで、自分がなんのためにやっているのか。を考えて見つめ直すことが定期的に必要になると思っています。
会社で仕事をするならぜひチームで高い目標で取り組んで見てください。