SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZineニュース

GitHub、Railsにクラスタ横断の関連付け機能を追加

  • このエントリーをはてなブックマークに追加

  • このエントリーをはてなブックマークに追加

 米GitHubは、Railsに複数のクラスタにまたがる関連付けを処理する機能を追加したことを、7月12日(現地時間)に発表した。

 同機能は、RailsメインからGitHubを実行し、見つかったバグを報告・修正し、アップストリームにプッシュするにあたって、関連付けが複数のデータベースにまたがったときにクエリの結合を無効にするために実装されている。

 GitHubには、Railsモノリスで構成された30個のデータベース(15個のプライマリと15個のレプリカ)があり、15個のプライマリはそれぞれ異なるスキーマを持っている一方、同じスキーマを持つ15個のシャードが存在する。クラスタの異なるテーブル同士を結合しようとするとエラーが発生するため、GitHubではSQLを記述し、最初のテーブルからIDを選択して、2番目のクエリで使用して適切なレコードを見つける必要があった。

 なお、結合を無効にする必要があるアプリケーションでは、これらの関連付けのデータベースパフォーマンスが低下する場合があるほか、クエリが結合データベースからの順序と制限に依存している場合、リクエストのパフォーマンスに影響が出る可能性がある。

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14539 2021/07/14 10:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング