GajumaleRecruit Site

ニュース

イベントや勉強会の様子をお伝えしています。
ガジュマルの雰囲気を、是非感じてみてください。

勉強会
システム設計

勉強会「SNSやブログで学ぶシステム設計・概要」

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は万年赤字だったほど)
一覧へ戻る