2033 件中 1761 - 1770 件を表示
« 前の 10 件 | 次の 10 件 »
Displaying posts with tag: MySQL (reset)
マスターInnoDB、スレーブMyISAMが勧められない理由

 MySQLにおいて、マスターをInnoDBにして、スレーブをMyISAMにすると幸せになれるという主張をよく聞くことがあります。マスターは耐障害性の高いInnoDBにする一方で、スレーブは耐障害性が低くても大丈夫なので、InnoDBのかわりに高速とされるMyISAMを使えば、可用性と性能の両方をバランス良く実現できる、という考えです。
 しかし、多くの場合これで幸せになることはできません。マスターとスレーブでストレージエンジンを合わせた方が無難です。その理由を以下に示します。

●MyISAMはテーブルロックになる

[さらに読む]
[MySQL]グリー勉強会「MySQLハッキングの手引き」

 グリー勉強会「MySQLハッキングの手引き」に参加してきました。
 グリーさん、松信さん、いちいさんありがとうございました。
 細かい内容は、他の方が既に説明されているのでそちらを見ていただくとして、感想としては、非常に創作意欲を刺激される内容でした。

 Spiderでは、リモートサーバのストアドプロシージャ、ストアドファンクションなどの資源を利用するためのUDFの作成を「作らないといけないなー」レベルでなんとなく予定していたのですが、今回の勉強会の影響で完成が早まるかもしれません。
 プロジェクトも登録してみました。
 http://forge.mysql.com/projects/project.php?id=349

 ご期待下さい。

Windows上でのMySQLビルド方法

GREEで行われた松信さんのセミナーが起爆剤になり、MyNAの坂井さんが下記のようにまとめてくださいました。


[mysql]Windows上でのMySQLビルド方法まとめ


現状VS2005では、次のような不具合があります。

Visual C++ 2005 cannot compile sql_locale.cc


そのため、当該部分をごまかすか、OSのロケールを英語にするしか、コンパイルを成功させる方法がありません。

詳細は坂井さんのページにまとめられてるのでご参照ください。

当外部分をごまかすとコンパイル時に大量のC4566警告がでます。

[さらに読む]
[MySQL][Spider]Spiderストレージエンジン 0.17リリース

Spiderストレージエンジンのバージョン 0.17をリリースしました。
このバージョンからRCとなります。
http://spiderformysql.com/

今回の主な変更は以下です。
・テーブルパラメータに「use_table_charset」を追加しました。
・サーバパラメータに「spider_use_table_charset」「spider_local_lock_table」を追加しました。

[さらに読む]
勉強会「MySQL Hackingの手引き」を終えて

 昨日は、グリー勉強会にて「MySQLハッキングの手引き」というテーマで発表をしました。資料とデモに使用したソースコードやビルドスクリプト等はこちらに公開しています(サンプルプログラムのコンパイルにはソースからビルドしたMySQL5.1以降が必要)。声をかけてくださったグリーの一井さんや、会場準備など諸手続きを行なってくださったグリーのスタッフの方々、参加された皆さまありがとうございました。

●参加者数の意外な多さ

[さらに読む]
YAPC::Asia 2009 で「スケールするウェブアプリケーションを20分で作る方法」について話します

 このところ、MySQL と Perl 関連のエントリをいろいろ書いていますが、それは、スケールアウト可能で、かつ、管理が容易なウェブアプリケーションを、簡単に書けるようにしたい、という理由があるからです。

 ただ、ブログエントリだとどうしても細切れになるので、一連のモジュールやプログラムを組み合わせて、どうやってスケールするウェブアプリケーションを作るのかという話を YAPC::Asia 2009 でさせていただくことにしました。

 YAPC::Asia 2009 は9月10日(木)と11日(金)の2日間、東京工業大学大岡山キャンパスで開催されます。今日からチケット販売も始まったので、興味のある方はお越しいただければ、と思います。

[さらに読む]
Deployment of MySQL using daemontools, XtraBackup

I am sure many people have already done similar things, but to ease my pain of setting up mysqld on a large-scale environment (I am trying to create a set of database nodes, each node consists of a MySQL failover cluster using semi-sync replication, that can be administered easily), I have just finished writing a deployment script called mysqld_jumpstart.  The caveats are:

  • integration with daemontools (mysqld is automatically started)
  • setup of masters and slaves
  • can setup slaves from backup data generated by XtraBackup

The last feature was the one I especially needed, since thanks to the people at Percona, things have become much …

[さらに読む]
ActiveRecord でbulk insert/update

mala さんのMySQLにおけるbulk insert と bulk update - 金利0無利息キャッシング – キャッシングできます - subtechのエントリーを見て, MySQL でbulk update ができることを知り, 丁度欲しい機能だったのでとりあえず動くだけのメソッドを実装.

# User.extend BulkExecuteMethods
# User.update_multi([:id, :name, :age], [[1, 'bob', 11], [2, 'mary', 21]])
#
# refs
#  http://dev.mysql.com/doc/refman/4.1/ja/insert.html
#  http://subtech.g.hatena.ne.jp/mala/20090729/1248880239
module BulkExecuteMethods
  def update_multi(columns, values)
    cols = columns.map{|c| self.connection.quote_column_name(c) }

    ph = (['(?)'] * values.size).join(',')
    vals = sanitize_sql([ph, *values])
    
    expr = cols.map{|c| "#{c}=VALUES(#{c})" …
[さらに読む]
Perl のテスト用に MySQL 環境を自動で構築するモジュール Test::mysqld を書いた

 ORM やウェブアプリケーション関連のライブラリなどのテストケースを書くにあたっては、 RDBMS へのアクセスが必要になります。しかし、SQLite のようなスタンドアローンのデータベースと比較すると、サーバ型データベースである MySQL に接続してテストを書くのは、既存の MySQL の権限設定やデータベース名を気にする必要があったりと、いろいろ不便です。そこで、MySQL のインスタンスをテンポラリディレクトリに自動生成し、テストが終わったら削除してくれる Perl モジュール Test::mysqld を書きました。こんな感じで使います。

use DBI;
use Test::mysqld;
use Test::More;

my $mysqld = Test::mysqld->new(
    my_cnf => { 'skip-networking' => '' }, # TCP接続を使わない
) or plan skip_all => $Test::mysqld::errstr;

plan tests => 10;

my $dbh = …
[さらに読む]
[MySQL][Spider]Spiderストレージエンジン 0.16リリース

Spiderストレージエンジンのバージョン 0.16をリリースしました。
http://spiderformysql.com/

今回の主な変更は以下です。
・サーバパラメータに「spider_same_server_link」「spider_table_init_error_interval」を追加しました。
 「spider_same_server_link」は、同じMySQLにテーブルリンクを作成したい場合に利用します。
 「spider_table_init_error_interval」は、誤ってテーブルリンクをループさせてしまった場合に、コネクションを消費し続ける問題を抑止するために利用します。もし、テーブルリンクがループした際に、コネクションが増加し続ける場合はset globalコマンドを利用してこのパラメータを大きくしてください。

[さらに読む]
2033 件中 1761 - 1770 件を表示
« 前の 10 件 | 次の 10 件 »