タグ

2009年4月20日のブックマーク (7件)

  • [ThinkIT] 第4回:レプリケーションの比較 (1/4)

    今回はレプリケーションを取り上げます。まずレプリケーションとはどのようなものかを解説し、次にPostgreSQLMySQLそれぞれが持つレプリケーションの基構造を解説します。 RDBMSでいうプリケーションとは、ある1つのデータベースをまったく同じ内容で複製し、複製したデータベース(レプリカ)をネットワーク上に複数配置する機能です。レプリケーションにて作成した複製のデータベースは、様々な目的に活用できます。次にその使用例を紹介します。 目的の1つには、バックアップデータとしての活用があります。テープ装置などの外部記憶装置にバックアップデータを作成するかわりに、他のサーバ上のディスク内にデータベースを複製し、それをバックアップデータとします。 障害発生時には、バックアップデータとして作成した複製データベースを番データベースとして使用し、障害復旧のための時間を短縮する効果があります。 そ

  • MySQL レプリケーション基礎 - shibainu55日記

    今日は、MySQLのレプリケーションのお話。バージョンは5.0を前提として説明。 MySQLにおけるレプリケーションは更新情報を記録したバイナリログ(binlog)をベースとしたアーキテクチャ。マスターでの更新情報をバイナリログとしてスレーブに転送、これをSQLに変換しスレーブで実行しデータ同期を行う。Oracle Data GuardのLogicalスタンバイによく似ている。 基概念図を以下に示す。 特徴 複数のスレーブを用意することで、参照系クエリの負荷分散が可能 マルチマスター構成の場合には更新系クエリの負荷分散も可能 ただし、この場合にはアプリの扱うデータに依存し実現可否が分かれる。 マルチマスター扱いとするオブジェクトを限定するなど、論理設計でも考慮が必要 マスタのバックアップとしてスレーブを切り離し、サービス無停止のままバックアップが可能 この場合、スレーブを停止しコールドバ

    MySQL レプリケーション基礎 - shibainu55日記
  • MySQLレプリケーションを安全に利用するための10のテクニック

    MySQLのレプリケーションは非常に簡単に使える割には応用の幅が広いので非常に人気のある機能の一つである。レプリケーションの応用分野は例えば、 バックアップ 参照系の負荷分散 HA(高可用性) ディザスタリカバリ(サイト間レプリケーション) BI(レポーティングetc) という風にとても多くのバリエーションがある。このブログを読んで頂いている皆さんの中にもレプリケーションを使っている方は多いのではないだろうか。ご覧の通りMySQLのレプリケーション機能はミッションクリティカル分野でも利用されているが、レプリケーションの使い方が適切でないとシステムの安定稼働に支障を来してしまってDBAやシステム管理者の肉体的、精神的負担が増大してしまう。逆にレプリケーションを堅牢に運用することが出来ればマクラを高くして眠れるというものだ。レプリケーションはMySQLの代表的な機能であるので、レプリケーション

    MySQLレプリケーションを安全に利用するための10のテクニック
  • Repcached - KLablabWiki

    repcachedについて repcachedとは、memcachedにデータのレプリケーション機能を追加実装したものです。 memcachedは、以下のようなところによく使われると思います。 一時的なデータの保存場所として キャッシュを保存する場所として RDBMSのデータのキャッシュ 生成したページデータのキャッシュ いずれの場合も消えていいデータなので、万が一memcachedがダウンしても問題はないはずです。 しかし、影響が全くないわけではありません。 例えば、MySQLのデータをmemcachedでキャッシュしている場合、memcachedがダウンしている間は直接MySQLにアクセスがいくことになりDBサーバの負荷が上がります。また、memcachedを再起動してキャッシュが失われた場合は、再びキャッシュが溜まるまではDBサーバに負荷がかかることになってしまいます。 このように

  • 転送中

  • Yahoo!オークションでのMySQL 冗長化技術

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちはオークション事業部プラットホーム技術のチャックです。 オークションでは一部サービスに RDBMSMySQL を使ってサービスをご提供させていただいております。 オークションでは多くのお客様よりアクセスを頂いておりますので、大量の更新、参照の処理速度に優れた MySQL を選択し、お客様にストレスなくサービスをご利用いただけるよう 日々業務に取り組まさせていただいております。 しかし、精密機器には故障がつきもので、サービス運用の観点からは 「機器が故障するのはしかたない、しかしそれをいかに早く復旧させるか」 といったことを念頭に入れております。 実際には、障害が起こってから復旧させるのではなく、障害が発生した場合に

    Yahoo!オークションでのMySQL 冗長化技術
  • [Vol.2] RailsとMySQLによる大規模サイト構築実験

    vol2でも引き続き、負荷分散・高可用性を備えるDBとWEBアプリケーションフレームワーク(以下AF)のセットアップを目指します。 デュアルマスタ構成に複数台のスレーブがぶら下がっています。 もう少し、詳しく今考えているアーキテクトを見ていきたいと思います。 最小構成: マスタ2台, スレーブ1台 最低3台のDBを用意します。 なぜ3台か?スレーブを追加する際には、マスタのスナップショット取得のためにマスタへの更新を停止する必要があります。データ量が増えると、マスタを停止してスナップショットを取得するには、長時間を要するため、これは現実的な解ではない。 そこで、スレーブをマスタのスナップショットとして考え、スレーブへのレプリケーションを一時停止し、スレーブのスナップショットを新規に用意したスレーブにコピーしレプリケーションを設定する。 スレーブが1台しか存在しない場合でのスレーブ停止時は、

    [Vol.2] RailsとMySQLによる大規模サイト構築実験