速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
100Mにスケーリング:Key-ValueストアとしてMySQLを使い、NoSQL以上のパフォーマンスを出す MySQLはNoSQLよりも優れています。Key-ValueストアといったNoSQLのユースケースを考えてみると、パフォーマンスや使いやすさ、安定性の点でMySQLの方が合理的です。MySQLには、オペレーションや障害に関することからレプリケーションや異なる使用パターンまでと、多くのオンラインマテリアルが用意されおり、堅実なエンジンです。こういった理由から、比較するまでもなく、MySQLは最近のNoSQLエンジンよりも優れていると言えます。 ここ最近では、NoSQLエンジンが主流になってきています。多くの開発者が、MongoDBやCassandra、Redis、HadoopといったNoSQLエンジンをアプリケーション構築の第一候補としており、それらが全て昔からのSQLエンジンを上回
この記事ははてなデベロッパーアドベントカレンダー2015の12月24日の記事です。 昨日は id:stefafafan さんのエンジニアと英語でした。 こんにちは、こんばんは。 クリスマス・イヴですね、皆さんはどのような一日を過ごされる(た)のでしょうか。 僕は一人です。 改めまして、先日初めての合コンを経験/失敗して二度と行かないと誓った はてなの id:ichirin2501 です。今回は小ネタとしてMySQL(InnoDB)のBULK INSERTにおけるデッドロックの話をしようと思います。ただ、外部キー制約が絡むと複雑になるので今回は触れません。それについてはこちらを参照ください。 あ、タイトルはオマージュです*1。 Topic 検証環境 INSERTのデッドロック 避けられないケース もしくはロックする リトライ処理に注意 初期データ Duplicateの場合 Deadlockの
ウィスキー、シガー、パイプをこよなく愛する大栗です。 最近re:dashというプロダクトが気になったので試してみました。 2015/06/21 re:dashのAMIが全リージョンで提供される様になり、東京リージョン(ap-northeast-1)でもAMIから起動できる様になりました。 re:dash? re:dashとはとは「Open Source Data Collaboration and Visualization Platform」ということで、つまりデータ連携?可視化ができるプラットフォームらしいです。SQLの可視化などを行えます。 以下のデータソースに対応しています。 PostgreSQL / Redshift MySQL Graphite Google BigQuery MongoDB URL(JSONフォーマット) Script(JSONフォーマット) Python(P
$ date 2014年 5月30日 金曜日 20時56分02秒 JST $ echo 'select now()' | mysql -h mysql.foobar.ap-northeast-1.rds.amazonaws.com -u admin -p Enter password: now() 2014-05-30 11:56:20 アンチパターン init_connect に "SET SESSION time_zone = 'Asia/Tokyo';"と書く →フェイルオーバー時にハマる (rdsadminユーザなどではTimezoneがUTCでないとダメ) ストアドプロシージャを入れて init_connect から呼ぶ 例)
クラウド時代の新常識はこれだ!「MySQL クラウド向け InnoDB チューニング」 こんにちは。インフラエンジニアの nobuh です。 株式会社インサイトテクノロジー様主催の db tech showcase sapporo 2015 が 9月10日、11日の2日間にわたって開催されました 。 今回、弊社も発表する機会を頂きましたので、インフラエンジニアとして日々 MySQL と格闘して培ったノウハウについてお話させて頂きました。その発表で使ったスライドがこちらです。 クラウド上の仮想サーバーを使って MySQL の管理やチューニングに日々邁進されている方々にご覧いただけると幸いです。 今までにも MySQL に関していくつか記事を掲載していますので、この機会に是非ご覧ください! → OSC2015北海道で「これだけみれば大丈夫ーCactiによるMySQLパフォーマンス監視のツボ」
最近なぜか MySQL を使う Ruby アプリを PostgreSQL に対応する羽目になっているのですが、今までほとんど MySQL 以外の RDBMS を触ってなかったので、色々ハマったりしたのでメモっときます。 なお PostgreSQL 歴が浅いので間違ってること書いてるかもしれません。 API プログラムから MySQL にアクセスするには Ruby/MySQL を使っていたのですが、PostgreSQL 用の API を新たに覚えるのは面倒だったので、Sequel を使って書き直しました。 mysql.query("select col1, col2 from table where col3='xxx'") ↓ db[:table].where(col3: 'xxx').select(:col1, :col2) …みたいな感じです。 今までプログラム中に突然 SQL が現れ
久々の更新。 土曜日は これまで何となく使っていたVagrantを本格的にいじっていたけど、知れば知る程便利だなあ。 Vagrantfileって Gruntfileみたいに何となくいじるのが面倒くさそうな印象があったんだけど、実は全くそんな事がなくて 寧ろちょろっとやれば誰でも簡単にいじれるようになるくらい学習コストが低かった(まだChefと絡めていないので Chefと連携させると若干話が変わってくるかもしれないけど)。 というわけで今回は Vagrantを使ってUbuntuサーバを2台立てて MySQLでレプリケーションを構成してみた話を。 今回に関してはどちらかというとVagrantよりMySQL寄りの話になります。 Vagrantに関しては boxの構造とかVagrantfileの事とか 色々と整理できたので 後日 初心者向けにvagrantの基本的な事柄についてまとめます。 Vag
Perl Hobby Programming - Games::BeLike::EightBIT ターミナルで8ビット風ゲームをつくろうkeroyonn
それほどDBに詳しくないアプリエンジニアが何かトラブった時にすぐさま行動して問題把握できるようになる情報を列挙しておきます。 開発時、障害時の対処療法やちょっとした定期監視方法などを対象にしています。 抜本的な対策などはインフラエンジニアさんにお任せしたほうがいいと思います。 DBはいろんな意味でこわいんでできれば触りたくないです>< 事前確認 MySQLサーバーのシステム設定値を確認しておく 以下のようにサーバーのシステム設定値を確認できます。 mysql> SHOW GLOBAL VARIABLES; # ワイルドカード(%)を用いた絞り込み mysql> SHOW GLOBAL VARIABLES LIKE 'performance_schema%'
MySQL-MHA(MySQL Master High Availability)は、MySQLがダウンした時に自動的に他のMySQLサーバへ処理を引き継ぐことが可能になる、自動フェイルオーバー機能を実現したプロダクトです。 DeNAの松信嘉範氏が開発しており、オープンソースソフトウェアとして公開されています。 http://code.google.com/p/mysql-master-ha/ 今回は以下の図のような構成で作成してみたいと思います。 このMySQL-MHAを利用することで[サーバA]に障害が発生してしまった場合は、以下のように自動的にフェイルオーバーを行ってくれます。 構築作業 まずは4台のサーバにMySQLをインストールしてください。 上図の通り各サーバは[サーバA][サーバB][サーバC][サーバZ]とします。 参考: CentOS5.6にMySQL5.5.15をインス
ホーム 技術ブログ PHPMatsuri2013で発表した資料を公開しました「ソーシャルゲーム案件におけるDB分割のPHP実装~とにかく分割ですよ。10回じゃ足りない。20回くらい分割。~」 PHPMatsuri2013で発表した資料を公開しました「ソーシャルゲーム案件におけるDB分割のPHP実装~とにかく分割ですよ。10回じゃ足りない。20回くらい分割。~」 記事を書くのは初めてになります。sasakiです。 2013年7月14日から15日にかけて、PHP Matsuri 2013が開催されました。 今回は北海道開催という事で弊社もスポンサーとなり、社員の何名かはスタッフとして開催に協力しました。 また、スポンサー枠でセッション時間を一コマ頂き 「ソーシャルゲーム案件におけるDB分割のPHP実装 ~とにかく分割ですよ。10回じゃ足りない。20回くらい分割。~」 と題した発表を行いましたの
構成 [appサーバ] -> [lvs] -> [MySQL]群 DRでMySQLのスレーブ群にロードバランス appサーバはDBコネクションのプーリング、永続化をしている 問題の現象 DBサーバ上ではmysqldへのコネクションが存在するのに、appサーバ上ではコネクションが存在しない。(netstat調べ) →無用なコネクションが残留するせいで、MySQLのmax_connectionsに達してしまう。 原因 MySQLの世界の無通信時のコネクションのタイムアウトはデフォルトで 28800秒 (8時間)。一方、IPVSの世界の無通信時のタイムアウトはESTABLISHEDなコネクションで900秒 (15分)。 # ipvsadm -Ln --timeout Timeout (tcp tcpfin udp): 900 120 300なので、DBコネクションの永続化等でコネクションを張りっ
https://github.com/rackerhacker/MySQLTuner-perl MySQLTunerはMySQLのチューニングを診断してくれるアプリケーションです。 基本的なパフォーマンスチューニングのヒントをわかりやすく表示してくれます。 MySQLのチューニング設定に不安な方や、はじめてMySQLをさわる方は試してみると良いでしょう。 ライセンスはGNU GPLで無料で使えます。 検証環境 CentOS 6.3(64bit) MySQL 5.5.28 MySQL 5.5をインストール MySQL 5.5をインストールします。 # wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86
たまにはしょうもない TIPS でも。MySQL の魅力といえば言わずもがな 10 年の歴史を誇る「レプリケーション」の仕組みだと思います。これさえあれば 1 つの筐体で必死にデータ保全しなくてもコピーがいくらでも増やせるし、@nippondanjiさんのスライドにある通り、レプリケーションの妙技を駆使することで様々に柔軟な運用を行うことができます。 Art of MySQL Replication. slave 追加とは? さてそんなレプリケーションですが、実運用で最も多く行われるオペレーションは「slave の追加」だと思います。追加の方法は大きく分けると 2 通りです。(ストレージエンジンは InnoDB を想定。というか InnoDB 以外認めません><) 論理バックアップを利用 mysqldump 等を利用して論理的にデータの静止断面を作る&その時の binlog のポジションを
Full MySQL Support Sequel Pro is a fast, easy-to-use Mac database management application for working with MySQL databases. Perfect Web Development Companion Whether you are a Mac Web Developer, Programmer or Software Developer your workflow will be streamlined with a native Mac OS X Application! Flexible Connectivity Sequel Pro gives you direct access to your MySQL Databases on local and remote se
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く