システム設計

system-design-システムデザイン 12-CDN-基本コンセプトと設計-how-cdn-work-hogantech

CDN の基本概念と設計 – システム設計 12

CDN は、地理的な位置に基づいて配置されたプロキシ サーバー (プロキシ サーバー) のグループです。このうちプロキシサーバーはクライアントとサーバーの間の中間サーバーであり、プロキシサーバーもネットワークエッジ(Network Edge)に設置されます。また、ネットワークのエッジはエンド ユーザーに近いため、プロキシ サーバーを配置すると、遅延が減り、帯域幅が節約され、対応するデータがユーザーに迅速に送信されます。 CDN は、単純なプロキシ サーバーとして機能するだけでなく、いくつかの設定や操作を通じて効率を高めることもできます。

CDN の基本概念と設計 – システム設計 12 続きを読む

テクニカル記事, システム設計
システム設計-システム設計 11 キー-バリュー データ ストレージ-キー-バリュー-ストア-データベースの紹介-基礎-ホーガンテック

Key-Value Store Key-Value データストレージの説明 – システム設計 11

Key-Value ストアは分散ハッシュ テーブルであり、DHT はハッシュ テーブルのような検索とストレージを提供する分散ストレージ方式です。ハッシュ テーブルは抽象データ型 (ADT) でもあり、その利点は通常、検索操作を比較的高速に完了できることです。

Key-Value Store Key-Value データストレージの説明 – システム設計 11 続きを読む

テクニカル記事, システム設計, データベース,
システム設計-システム設計 10-データ コピー-データ-パーティショニング-データベースの概要-基礎-ホーガンテック

データ パーティショニング データ パーティショニングとは何ですか? – システム設計 10

データ パーティショニングは、データベース内のデータを、より小さく管理しやすいサブブロックに分割するプロセスです。これらのサブブロックはパーティションと呼ばれます。データのセグメント化は、時間、顧客 ID、製品カテゴリなどのさまざまな要因に基づいて行うことができます。データを分割する必要があるのはなぜですか?スケールしないシステムでは、データ量は増加し続け、データベースへの読み取りおよび書き込みトラフィックも増加し続けます。

データ パーティショニング データ パーティショニングとは何ですか? – システム設計 10 続きを読む

テクニカル記事, システム設計, データベース,
システム設計-システム設計 09-データ レプリケーション-データ レプリケーション-データベースの基礎-ホーガンテック-ホーガンブラブ

データ レプリケーションはデータベースをどのように最適化しますか? - システム設計09

データ レプリケーションは、複数のノードにデータを複製することでボトルネックを解決し、データベースのパフォーマンス、スケーラビリティ、可用性を向上させる効果的な方法です。この記事では、マスター/スレーブ レプリケーション (シングル リーダー レプリケーション)、マルチ リーダー レプリケーション (マルチ リーダー レプリケーション)、およびポイントツーポイント レプリケーション (リーダーレス レプリケーション) というデータ レプリケーションの 3 つの主要なモデルを紹介し、それぞれの利点と分析を説明します。デメリット。

データ レプリケーションはデータベースをどのように最適化しますか? - システム設計09 続きを読む

テクニカル記事, システム設計, データベース,
システム設計-システム設計 08-データベースの基礎の紹介-データベースの基礎の紹介-hogantech-hoganblab

データベースの基礎入門 – システム設計 08

データベースとは何ですか?データベースは、構造化された情報またはデータの組織化されたコレクションであり、通常はコンピューター システムに電子的に保存されます。 データベースは通常、データベース管理システム (DBMS) によって制御されます。データおよび DBMS とそれに関連するアプリケーションはデータベース システムと呼ばれ、単にデータベースと呼ばれることもよくあります。
現在実行されている最も一般的なタイプのデータベースのデータは、通常、データの処理とクエリの効率を高めるために、一連のテーブルの行と列としてモデル化されています。 これにより、データへのアクセス、管理、変更、更新、制御、整理が容易になります。 ほとんどのデータベースは、データの書き込みとクエリに構造化照会言語 (SQL) を使用します。

データベースの基礎入門 – システム設計 08 続きを読む

テクニカル記事, システム設計, データベース,
システム設計-システム設計 07-システム設計コンポーネント-ロードバランサーとは-ホーガンテック-ホーガンブラブ

ロードバランサの解説 – システム設計 07

ロードバランサーとは何ですか?ロード バランサーは主に、現在のサーバー負荷に基づいて、すべてのユーザー リクエストを対応するサーバーに分散します。この利点は、サーバーの過負荷やクラッシュを回避できることです。ただし、現在のシステムのトラフィックが高くなく、1 秒あたり数千リクエスト程度であれば、結局のところ、システムが複雑になるにつれてロード バランサーは必要なくなる可能性もあります。もっと考慮する必要があること。

ロードバランサの解説 – システム設計 07 続きを読む

テクニカル記事, システム設計
システム設計-システム設計 06-システム設計コンポーネント-DNS とは-hogantech-hoganblab

DNSとは何ですか?ドメインネームシステム入門 – システム設計 06

DNSとは何ですか?ドメイン ネーム システム (DNS) は、人間が読めるドメイン名を機械が読める IP アドレスにマッピングします。たとえば、google.com に対応する IP は 142.250.191.78 です。ユーザーがブラウザにドメイン名を入力すると、ブラウザは DNS を通じてドメイン名を IP アドレスに変換する必要があります。必要な IP アドレスが取得されると、ユーザーのリクエストがターゲット サーバーに転送されます。

DNSとは何ですか?ドメインネームシステム入門 – システム設計 06 続きを読む

テクニカル記事, システム設計
システム設計-システム設計05-システム設計コンポーネント-ビルディングブロック-ホーガンテック

システム設計コンポーネントの構成要素の概要 – システム設計 05

システム コンポーネントはシステム設計の基本的な構成要素であり、それらを組み合わせて複雑なソフトウェア システムを構築できます。ここでは、システム設計の基本概念についても説明します。システム設計はソフトウェア エンジニアリングにおける重要な要素であり、ソフトウェア システムの全体的なアーキテクチャと設計が関係します。優れたシステム設計により、ソフトウェア システムの信頼性、拡張性が向上し、保守が容易になります。

もちろん、これらのコンポーネントを使用してシステムを設計したい場合は、まずどのような設計コンポーネントがあるのかを理解する必要があります。それぞれのデザイン要素は何を表しているのでしょうか?この記事では、各システム コンポーネントを紹介し、次の章で各コンポーネントの詳細と用途について詳しく説明します。

システム設計コンポーネントの構成要素の概要 – システム設計 05 続きを読む

テクニカル記事, システム設計
システムデザイン-システムデザイン04-裏表紙計算-封筒の裏-ホーガンテック-ホーガンブラブ

封筒の裏の計算 – システム設計 04

バック・オブ・ザ・エンベロープは、バック・オブ・ザ・エンベロープ計算とも呼ばれ、単純な推定値を使用して複雑な問題の近似値を計算する方法です。

ここでも分散システムを復習しましょう。ネットワークを介して接続されたコンピューティング ノードで構成されます。これらのノードには、Web サーバー、アプリケーション サーバー、ストレージ サーバーなど、さまざまなタイプのサーバーを使用できます。

分散システムを設計するときは、各ノードが処理できるリクエストの数を理解することが重要です。同時に、必要なノード数やトラフィック数も把握できるので、Back-of-the-envelope を使用して概算を計算し、最終的に必要なシステムを設計します。

封筒の裏の計算 – システム設計 04 続きを読む

テクニカル記事, システム設計
システム設計-システム設計 03-ソフトウェア設計の非機能機能-hogantech-hoganblab

ソフトウェア設計の非機能的特徴 – システム設計 03

現代の情報技術では、システムの可用性 (Availability)、信頼性 (Reliability)、拡張性 (Scalability)、保守性 (Maintainability)、耐障害性 (Fault Tolerance) は非常に重要な非機能特性であり、これらの特性はパフォーマンスと効率に影響を与えるだけではありません。ソフトウェア システムの影響だけでなく、ユーザー エクスペリエンスにも直接影響します。この記事では、上記5つの特徴についても詳しく解説していきます。

ソフトウェア設計の非機能的特徴 – システム設計 03 続きを読む

テクニカル記事, システム設計
ja日本語