2021年06月26日(土曜日)
SNSやブログで学ぶシステム設計・概要についての勉強会を開催しました。
■SNS・ブログ
★SNSとブログの棲み分け
ブログ…記事データをストックしていく
SNS…記事データを拡散していく
★SNSとブログを構成している技術について
・ブログ
記事をストックしていくものでありながら、ソーシャル性のある仕組みを付与していったもの
RSS、RSSフィード…XMLでまとめてデータを取れるもの
トラックバック.…記事間の繋がりを連携できる仕組み
・SNS
ブログのソーシャル的な拡散させる部分を発達させたもの
Twitterやfacebookを考えるときに、基本的な部分はブログの機能やデータ構造を引継いでいる
APIが発達しており、データを横断して取得する仕組み
Twitter APIが有名
■ブログのデータ構造
必要なテーブルをブログのぺージを参照しながら確認
・ユーザー情報
・ブログ
・記事
・コメント
・画像
・ブックマーク
・トラックバック
・ハッシュタグ
・カテゴリ ・・・・など
★必要なサーバー
スタートアップするのであればWebサーバー、DBサーバー
サービスが軌道にのってくると、
Webアプリサーバー、キャッシュサーバー、DBサーバー、
画像や静的コンテンツ用のサーバー、ロードバランサーでの冗長化が必要になってくる
★大規模化の問題
時間とともに記事データが肥大化(=DBの肥大化)し、レスポンスが悪化
画像が増えればinode数の上限に達するので、参照が遅くなる
維持コストの問題
■DBテーブルの肥大化回避法
★DB分割
DBを「DBテーブル郡」に分割することで肥大化を回避
「サーバー(1システム)」あたりの利用者を制限してパーフォーマンスの維持
■inodeの上限値
★inodeとは
Unix系のファイルシステムに登場する概念の一つ
ファイルシステム上に保存しているファイルなどのメタデータを格納するデータ構造
ファイルには上限があるので、枯渇する可能性があるということ
★上限を回避するために
画像IDをもとにランダムなディレクトリを計算して画像を配置する
例えば、256×256のディレクトリを作成して配置する仕組みにするなど
■コストの問題
SNSをやってみると、肥大化するサービスのためコストの問題が避けて通れない
データ増大化における維持コストに耐えられず、大手のブログサービスが閉じている現状
SNSは収益化が難しい(Twitterは万年赤字だったほど)
■SNS・ブログ
★SNSとブログの棲み分け
ブログ…記事データをストックしていく
SNS…記事データを拡散していく
★SNSとブログを構成している技術について
・ブログ
記事をストックしていくものでありながら、ソーシャル性のある仕組みを付与していったもの
RSS、RSSフィード…XMLでまとめてデータを取れるもの
トラックバック.…記事間の繋がりを連携できる仕組み
・SNS
ブログのソーシャル的な拡散させる部分を発達させたもの
Twitterやfacebookを考えるときに、基本的な部分はブログの機能やデータ構造を引継いでいる
APIが発達しており、データを横断して取得する仕組み
Twitter APIが有名
■ブログのデータ構造
必要なテーブルをブログのぺージを参照しながら確認
・ユーザー情報
・ブログ
・記事
・コメント
・画像
・ブックマーク
・トラックバック
・ハッシュタグ
・カテゴリ ・・・・など
★必要なサーバー
スタートアップするのであればWebサーバー、DBサーバー
サービスが軌道にのってくると、
Webアプリサーバー、キャッシュサーバー、DBサーバー、
画像や静的コンテンツ用のサーバー、ロードバランサーでの冗長化が必要になってくる
★大規模化の問題
時間とともに記事データが肥大化(=DBの肥大化)し、レスポンスが悪化
画像が増えればinode数の上限に達するので、参照が遅くなる
維持コストの問題
■DBテーブルの肥大化回避法
★DB分割
DBを「DBテーブル郡」に分割することで肥大化を回避
「サーバー(1システム)」あたりの利用者を制限してパーフォーマンスの維持
■inodeの上限値
★inodeとは
Unix系のファイルシステムに登場する概念の一つ
ファイルシステム上に保存しているファイルなどのメタデータを格納するデータ構造
ファイルには上限があるので、枯渇する可能性があるということ
★上限を回避するために
画像IDをもとにランダムなディレクトリを計算して画像を配置する
例えば、256×256のディレクトリを作成して配置する仕組みにするなど
■コストの問題
SNSをやってみると、肥大化するサービスのためコストの問題が避けて通れない
データ増大化における維持コストに耐えられず、大手のブログサービスが閉じている現状
SNSは収益化が難しい(Twitterは万年赤字だったほど)