そろそろ必要になったので。 今までやってきた案件は単一サーバor別稼働DBサーバ+Webサーバで十分な事が多くて、手を付けなかった所だったのですが、今回ちょっと大きめな案件をやることになり、「やべぇ!」と思って勉強を始めました。 わりと素人目線なのでツッコミがあれば是非。あと備忘録も含めててちょっとエントリ長くなります。 あ、MySQL Cluserについては公式サイトなどを見てくださいね。 サーバ構成 社内の勉強用のサーバーを特別にお借りすることができて、さくらのCentOS 6.3 x86_64 2GBを2台準備しました。 色々サンプルを見てたんですが、1台のサーバでクラスタを導入するサンプルばかりで、実際に別ホストのサーバに対して設定をしてるものがなかったので(テストだし費用かさむし仕方ないですね)、せっかく準備できたので私はちゃんと別サーバでクラスタを組んでみることに。クラスタって
Copyright © 2004-2025 Impress Corporation. An Impress Group Company. All rights reserved.
MySQL Clusterの検証をする機会があったのでメモ。 通常のMySQLサーバを運用する場合、Masterサーバ×1+Slaveサーバ×nな構成とし、Master→Slaveへレプリケーションを行いつつ、更新系のクエリはMasterに投げ、参照はSlaveサーバのいずれかへ行うことで負荷分散を行っていると思います。 しかしこの構成の場合、ソーシャルゲームのような更新系のクエリが多数投げられるシステムではMasterサーバの負荷が問題になる場合があります。 そこで今回使ったMySQL Clusterを使うとマルチマスター構成を実現することが可能となります。 どちらのサーバにINSERT/UPDATEを投げてもデータの整合性が損なわれる事なくHA構成なシステムを組めるわけです。 環境 管理ノード/データノード/SQLノード×1 CentOS 6.4 Intel(R) Xeon CPU 2
どこまで出来るか?!やれるところまでやってやるぜ!!と、威勢が良いのは若い間だけの話。オトナのオトコは、攻めるときはとことん攻めるが自らの限界もわきまえて賢く振る舞うのがスマートってものである。というわけで、今日はMySQLのいろいろな限界についてまとめてみる。皆さんも是非MySQLの限界を知り、MySQLをもっとスマートに使って頂きたい。 SQL文の最大長 MySQLサーバーが実行出来るSQL文の最大長は、max_allowed_packetシステム変数で表される。max_allowed_packetの最大値は1GBである。max_allowed_packetの値はセッションごとにも設定可能なので、デフォルトではそこそこの値(16MBなど)に設定しておいて、必要に応じて大きな対を使うと良いだろう。 データベースの個数 データベースオブジェクトの個数に制限はない。データベースオブジェクトは
研究室 MySQL Cluster ちゃんと動くようになった! 設定ファイルの分割とか、がんばったらなんとか動いてくれた 後日ちゃんとまとめたい ndbdノード8, mysqldノード5, mgmdノード1 但し、debパッケージのバグにはまって、いままたおかしい状態 package mysql-cluster-server-5.1 7.0.9-1ubuntu7 failed to install/upgrade: subprocess installed pre-removal script returned error exit status 1 2010年5月に報告されているんだけど、そのまま放置なのかな "Node 3: Forced node shutdown completed. Occured during startphase 1. Caused by error 2350
似たようなプラグインもいくつかあったけど、どれもしっくり来なかったから自分で作った。 その名も「Mysql Cluster Adapter」。 eth0jp's activerecord-mysql_cluster_adapter at master - GitHub http://github.com/eth0jp/activerecord-mysql_cluster_adapter MySQL Cluster Adapterの機能 複数Writableに対応 ただReadOnly機能がないだけだけど。 ※マルチマスターレプリケーション対応ではない。 クラスタリング・自動復旧 リクエストが来た時にランダムで使うノードを選択する。 もし選択したノードが死んでいたら再接続を試みて、接続出来なかったら次のノードを選択する。 全てのノードが死んでたら500エラー。 トランザクション トランザクシ
どうやってたくさんあるSQLノードに接続すればいいんだ? ロードバランスは? フェイルオーバーは? ということがあると思う。このテーマを扱ったドキュメントはありそうだちょうど良いものが見あたらない。おそらくこの点が明確でないために「よし、最近サイトのトラフィックも増えてきたことだし、いっちょMySQL Clusterを試してみようか!」という気にならず、多くの人が利用を躊躇ってしまっているのではないだろうか?なので今日はこの点について5パターンのソリューションを紹介したいと思う。 その前に、「MySQL Clusterって何だ?シラネーヨ!」って人は、MySQL Clusterの特徴やセットアップ方法などを以前にThinkITへ投稿したのでそちらを参照して貰いたい。 http://www.thinkit.co.jp/article/95/ では本題。 1. mysqldをアプリと共存恐らく
This document summarizes SCS's involvement with MySQL Cluster. It discusses how SCS began evaluating MySQL Cluster in 2004 and participated in an IPA research project on cluster database systems from 2004-2005. SCS demonstrated MySQL Cluster at LinuxWorld conferences in 2005 and 2006. SCS continues to optimize and enhance MySQL Cluster through research and development.
UPDATE: Oracle officially released memcached daemon plugin that talks with InnoDB. I'm glad to see that NoSQL+MySQL has become an official solution. It's still preview release but will be very promising. Let's try it to make it better! Most of high scale web applications use MySQL + memcached. Many of them use also NoSQL like TokyoCabinet/Tyrant. In some cases people have dropped MySQL and have sh
MySQL Clusterはデータノードが増えると性能が低下する??? そのような噂を聞いたことがないだろうか。この噂は事実を含んでいる面もあるが、殆どの場合は適切にスキーマを設計していないことが原因で起きる。実はMySQL Clusterはその性能を遺憾なく発揮するためにはスキーマの設計が非常に大事なのである。 MySQL Clusterは複数のデータノード(ノードグループ)に対して主キーの値に基づいて行単位で分散されている。主キーに偏りがなければ各データノードに格納される行数は均等になる。つまり、MySQL ClusterはSharding(アプリケーションパーティショニング/Level2分散)を自ら行っていると言えるだろう。 MySQL Clusterでは主キーによるルックアップは、どのデータノードにデータが格納されているかが主キーから分かるため非常に高速である。逆に、主キー以外のキ
モバゲーで知られるDeNAは、バックエンドデータベースにNoSQLを使っていません。なぜか? それはMySQL/InnoDB 5.1の環境で秒間75万クエリという、多くのNoSQLでも実現できないような高性能を実現しているから。DeNAの松信嘉範(まつのぶよしのり)氏は、自身のブログにこんな内容のエントリ「Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server」(英語)をボストしています。 Yoshinori Matsunobu's blog: Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server 松信氏が指摘するように、大規模なネットサービスを提供している企業の多くは分散環境で
MySQL Cluster 7.3の正式版がリリースされた。このバージョンで追加された新機能は少ない。だが、これまでにリリースされたMySQL Clusterのバージョンの中で、この7.3こそが最も重要なバージョンである!と私は考えている。新機能は少ないが非常に重要なものが詰まっているからだ。今日はMySQL Cluster 7.3の新機能について見てみよう。 外部キー制約、来たる!何を差し置いてもまず重要なのが、外部キー制約である。長年InnoDBでは使えるが、MySQL Cluster(NDBストレージエンジン)には実装されていなかった。外部キー制約が使えないという理由でMySQL Clusterを採用しなかったという人も多いだろう。 だが、それはこれまでの話だ。MySQL Cluster 7.3なら外部キー制約が使える!! メジャーどころのRDBMSなら当たり前のように搭載されている
1 Copyright 2007 MySQL AB The World’s Most Popular Open Source Database MySQL Cluster 技術入門 松信 嘉範 (MATSUNOBU Yoshinori) MySQL株式会社 シニアコンサルタント ymatsunobu@mysql.com 2 Copyright 2007 MySQL AB The World’s Most Popular Open Source Database Agenda • MySQL社の紹介 • MySQL Cluster技術解説 3 Copyright 2007 MySQL AB The World’s Most Popular Open Source Database MySQL社の紹介 • 1995年に設立、日本法人は2006年2月に設立 • 社員数約400名、世界24カ国に在
mysqlslapはMySQL専用の簡易な負荷測定ツールです。MySQL 5.1.4からは標準で提供されているため、これ以降のバージョンがインストールされていれば追加のソフトウェアをインストールすることなく実行できます。またmysqlslap自身はMySQLのクライアントとして動作するため、サーバーのバージョンが5.0以下でも動作します。 # mysqlslap --version mysqlslap: unknown variable 'default-character-set=utf8'そのままではunknown variable 'default-character-set=utf8'というエラーになったので、 # mysqlslap --no-defaults --version mysqlslap Ver 1.0 Distrib 5.5.8, for Linux (x86_64
railsのセットアップしてたらMysqlにつながらない。 % rake db:migrate No such file or directory - /tmp/mysql.sock ふむふむファイルがないのね、てことで「mysql.sock」で検索してもそれらしいファイルが見つからない。あらまとさらに検索したらmysqladminで自分のsocketが分かるらしい。 # mysqladmin version mysqladmin Ver 8.41 Distrib 5.0.22, for pc-linux-gnu on i486 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free so
最近chefにハマってます。 いろんなレシピを書いて勉強中です。 で、mysql-5.6をchefでインストールしようとしたらはまってしまいました。(泥沼に… CentOS6標準のmysql-5.1と同じノリでやったら苦労したのでメモ。 mysql-5.1のとき こんな感じでレシピ書いてました。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 %w(mysql-server mysql mysql-devel).each do |pkg| package pkg do action :install end end template '/etc/my.cnf' do source 'my.cnf.erb' owner 'root' group 'root' mode 64
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く