12
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

システム設計を勉強する上でのチェックポイント

Last updated at Posted at 2019-11-04

目的

今ままでは、このシステム入門というリンクを渡していただけだったのですが、項目が多くどのくらい勉強したら良いか判断しにくいため、勉強した時のチェックポイントを整理しました。
チェックポイントは、仕組みを確認する質問と応用の質問を用意しました。仕組みを勉強した後、応用の事例を勉強することがおすすめです。

チェックポイント

  • 垂直スケーリング・水平スケーリングとは何か?どちらをよく利用するか?それぞれどのような時に利用するか?
    • kubernetesで、垂直スケーリング・水平スケーリングはそれぞれどのように行われているか?
  • データベースレプリケーション・データベースパーティションはどのようなものか?
    • BigQueryやSpannerはどのようにデータベースパーティションを行っているか?
  • RDBやNoSQLのスケーラビリティはどのように担保されているのか?それぞれの違いは?
    • RDBやNoSQLそれぞれ一つづつ、オープンソースもしくはクラウドサービスの例を上げて、詳細に説明してください。
  • Write-through, Write-behindそれぞれどのような意味か?
  • Eviction Policyとは何か?
    • Eviction Policyの設定ごとに、適したシステム要件はどのようなものか例を説明してください
  • 一貫性と可用性のトレードオフは何か?CAP理論とは何か?
    • Spanner, Auroraはなぜ便利か?どのような仕組みで実装されているか?
  • Fault-tolerantとは何か?
  • Event Driven Architectureとは何か?
  • CQRS(Command and Query Responsibility Segregation)とは何か?
  • クライアント,CDN,Webサーバー,データベース,アプリケーションそれぞれ何か?
    • それぞれのレイアでキャッシュはどのような時利用すると便利か?
    • Nginxとは何か?どのような仕組みで動いているか?
  • メッセージキューとは何か?どのような時に使われるか?
    • Google pub/subは、どのような仕組みのサービスか?どのような時に利用されるか?一貫性と可用性のトレードオフはどのような選択をしているか?
  • 冪等性とは何か?
    • 冪等な更新処理はどのように行えば良いか?

チェックポイント確認用URL

その他参考URL

システム設計関係で勉強になったリンクをいろいろ貼っています。
基礎を知った上で、それぞれの企業がどのようなことを行っているか、クラウドサービスやオープンソースはどんな特徴があるか勉強すると、より理解が深まります。

12
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?