タグ

dbに関するwata88のブックマーク (29)

  • #mysqlcasual MySQLの最先端を行く現場人が集う MySQL Casual Talks #8に行ってきたまとめ - もぐめぽろぐ

    とあるガラケーコンテンツのお話 オーソドックスなLAMP構成で朝起きるとログイン出来ないと問題が毎日あった エラー内容はDBに問い合わせができない状態 MySQLの接続がタイムアウトしていた データが流れないとサーバ側から接続をきられる apacheのpreforkで夜にアクセスが少なく、たまたま処理をしていなかったプロセスがmysqlにアクセスしようとすると接続できなかった Morning bugといわれるらしい pingやtcp_keep_alive設定すればいいのではと言われるが、超小規模サイトでは毎回接続すればいいのではという結論になった ちなみにこのサイトの会員数は10人! -> それ全部テスト端末では?! 企画の人は大きくなる!というが、大体大きくなる前に終了していくサービスが多いので、1つくらいあたった時に捻出できるリソースは準備しておく程度でいい 小規模しかやらない開発者は

    #mysqlcasual MySQLの最先端を行く現場人が集う MySQL Casual Talks #8に行ってきたまとめ - もぐめぽろぐ
  • mhaとconsulでDBサーバーの冗長化をしています | feedforce Engineers' blog

    こんにちは。Lorentzcaです。3月ですがまだまだ寒いのでなかなか釣りに行けずテンションさげぽよです! ↑↑ この度DBサーバー(物理マシン、MySQL)の引っ越しを行いました。 そのついでに、冗長化の仕組みをmhaとconsulを使った方法に変えたので紹介します。 はじめに まずは簡単に引っ越し前と引っ越し後の構成を比べてみます。 引っ越し前は以下の様な構成でした。 サーバー台数: 2台 MySQLフェイルオーバーの仕組み: 自作シェルスクリプト アプリの参照先を切り替える仕組み: keepalivedでvipを張り替えることで実現 引っ越し後は以下の様な構成になりました。 サーバー台数: 3台 MySQLフェイルオーバーの仕組み: mha アプリの参照先を切り替える仕組み: consulのdns機能を使って実現 なぜこのような構成にしたのか、話していきます。 引っ越し前に持っていた

    mhaとconsulでDBサーバーの冗長化をしています | feedforce Engineers' blog
  • MHA for MySQLとDeNAのオープンソースの話

    PostgreSQLKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation

    MHA for MySQLとDeNAのオープンソースの話
  • 判明、ANAシステム障害の真相

    大型のシステム障害の詳細が見えてきた。全日空輸(ANA)が2016年3月22日に起こした国内線旅客システム「able-D(エーブルディ、以下では便宜上開発コード名のANACore:アナコアと称す)」のシステム障害では全国49の空港で搭乗手続きができなくなり、ANAと提携航空会社5社の合計で719便、7万2100人以上に影響を及ぼした。インターネットや予約センターでの予約などもできなかった。 ANAは障害発生から8日後の3月30日に経緯や原因を公表、さらに4月11日に弊誌のメール取材に応じ、一段詳しい真相が判明した。 4台のSuperdomeをRACでクラスタリング 今回のシステム障害の中身は3月20日のニュースで報じた通り、4台のデータベース(DB)サーバーが停止したというもの(関連記事:ANAシステム障害の原因判明、シスコ製スイッチの「世界初のバグ」でDBサーバーがダウン)。今回、弊誌

    判明、ANAシステム障害の真相
    wata88
    wata88 2016/04/12
    トラップで切り替えるのはガバガバな感じではある
  • ANAシステム障害の原因判明、シスコ製スイッチの「世界初のバグ」でDBサーバーがダウン

    同期処理が失敗した原因は、4台をつなぐスイッチの不具合。具体的には、スイッチが故障状態であるにもかからず、故障を知らせる「故障シグナル」を発信しなかった。国内線システムは故障シグナルを検知するとスイッチを予備機に切り替えるが、今回はその機能そのものを作動できなかった。 スイッチは完全に停止したわけではなく、「不安定ながらも動作していたようだ」(同)。そのため、DBサーバー間の同期は順次失敗し、停止していったと見られる。 ANA広報によると、スイッチは米シスコシステムズ製「Catalyst 4948E」という。「2010年6月の発売開始以降、世界で4万3000台、うち日で8700台を販売しているが、今回の不具合は初めての事象と聞いている」(ANA広報)。なぜ「故障シグナル」が発信できなかったかは分かっていない。 1台での縮退運転を決断 4台の完全停止から37分後、ANAは1台のDBサーバー

    ANAシステム障害の原因判明、シスコ製スイッチの「世界初のバグ」でDBサーバーがダウン
  • 論理削除が云々について - mike-neckのブログ

    今日朝イチで見たエントリーがこれでした。 qiita.com 論理削除の弊害は色々なところで言われているけど、僕の足りない頭で理解している所によると、二つの値しか持たない削除フラグ的なものはカーディナリティが云々で検索条件につけても性能上的にもよくないし、意味がないということです。 論理削除を完全に悪だとは言いませんが、論理削除を極力排したい人たちは、基的にデータそのものを削除する、もしくは論理削除というのはまだ要件的に未確定な要素が隠されていることを示すフラグであると考えているようです。 僕がITの業界でキャリアをスタートしてから2年目くらいに配置されたプロジェクトではT字型ER手法というのをベースにしたテーブル設計をしていて、そこでかなり鍛えられたわけですが、その時にはだいたいこのような原則を叩きこまれました。 テーブルに状態を持たせない 究極には機械が認識するキーと、人間にとって意

    論理削除が云々について - mike-neckのブログ
  • MySQLで高速にランキングを求める - 備忘録

    例えば下記のようなテーブルがあったとして、ハイスコアの上位ランキングや指定idのランキングを取得したい場合がある。 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `highscore` int(11), PRIMARY KEY (`id`), KEY `highscore` (`highscore`) ); いつもはバッチ処理してランキング用のテーブルを用意していたが、ふとMySQLだけで高速にランキングを求められないものかと思ったので色々探してみた。 まずは、こちらの記事の早い版と書かれている方法が高速で良い感じだった。 MySQL - SQL 合計値からランキングを取得する例 - Qiita しかし同点(同順位)は考慮されていなかったので、今度はこちらを参考にしたクエリを使ってみた。 mysqlだけでランキング

    MySQLで高速にランキングを求める - 備忘録
  • MyISAMとInnoDBのどちらを使うべきか

    Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL

  • サーバー未経験者がソーシャルゲームを通して知ったサーバーの事

    2014/2/8に行ったゲームサーバ勉強会でのスライドです。 サーバー未経験者がソーシャルゲームを通して知ったサーバーの事。 失敗経験を元に何故今がこうなっているかというのを詰め込みました。 初心者〜中級者向け勉強会だったので、なるべく非エンジニアでもイメージで伝わるようにちょっとだけ心がけてます。

    サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
    wata88
    wata88 2014/02/10
    障害発生する前に対策しときたい