データベース

MySQL 上のログテーブルの扱い方

保存期限を3か月とか、任意の期間で自動削除する仕組みについて。 ログっていうのは、アクセスログとかアクティビティーログを想定している。 単純にログテーブルを作成してデータを入れていくのは簡単だけど、古いデータをどのタイミングで、どのように消す…

Kyoto Tycoon をマスター・スレーブ構成で起動

起動の為のスクリプトを客先では作ったが、自宅には無いのでとても不便だ・・・。 とりあえず起動。 ktserver -port 1978 -ulog master-ulog -sid 1 master.kch & ktserver -port 1979 -sid 2 -mhost localhost -mport 1978 -rts slave.rts &

Kyoto Tycoon のインストールメモ

Kyoto Tycoon のインストールメモAWS 環境だけど、root さえあれば特に変わるところ無し。 root 無い場合はディレクトリ指定が必要。 今回は指定しなかったので、そこはパス。root あると楽だわ・・・。ちなみに、AMI は、これ使った。一番普通のやつだと思…

MySQL 5.1 の varchar カラムの怪しい動き-その2

2009-12-2追記: またしても神コメントを頂く。本記事末尾に、追記。 ※ テストに使用した MySQL5.1 は最新ではないので、既に修正済みかもしれない。 ※ Server version: 5.1.31 を使用してテストした。MySQL5.1 の varchar カラムの怪しい動き - kameidの備…

amazon が MySQL をクラウドで提供

まだ beta ですが、amazon が MySQL をウェブサービスで利用出来るようにするサービスを始めましたね。利用できる MySQL は、データのバックアップも勝手に取ってくれます。Amazon Relational Database Service (RDS) – AWSお値段は、Small DB Instance で月…

MySQL で、server has gone away エラー頻発

wait_timeout はデフォルトの 8 時間。ただし、別にタイムアウトしてるわけではない。起動してすぐに1分に一回くらい MySQL が居なくなる症状。予想だにしない症状だったが、 my $dbh = DBI->connect( $dsn, $user, $pass, {mysql_auto_reconnect=>1}) or cr…

Q4M のレプリケーション

Google グループQ4M ってレプリケーションできないの? という質問がMLで。 奥さんからの回答は、 「出来ないです。個人的にはキューにレプリケーションは必要ないと思ってるけど、Q4M テーブルは DRBD でレプリケーション出来ますよ」(超意訳) まーそーっ…

楽天技研 ROMA

KVS(key value store)が最近またさらに注目を浴びるようになってきているのか、身近でも勉強会なんかが急に開かれたりするようになった。採用事例も溜まってきているようだ。 かなり製品数もあるように思う。DBM 系はもちろん、memcached, Tokyo Tyrant, Fla…

Tokyo Cabinet の1億件時のランダムアクセスベンチマーク

他にはあんまり見当たらない1億件時のベンチマーク。 ・・・よく見たらmikioさん自身が公開していた。mixi engineer blogSSD との比較ということでの公開だけど、参考になる。 数万 qps の数字が出ることが多い 100 万件時に比べ、100万件 → 数万 qps 1000万…

MySQL の限界

早速昨日、役にたったのだが、漢(オトコ)のコンピュータ道: 限界までMySQLを使い尽くす!!自分のためにエントリーが立ったのか?というくらいのタイミングで驚いた。とても参考になりましたmm

MySQL の benchmark(), compress()

MySQL にこんな関数ついてるんだな・・・。任意のファンクションを指定回数実行する関数 benchmark() select benchmark(10000, 'abcd'); 'abcd' という文字列の返却を 10000 回行う場合は上記。(表示等はされない) ファンクションの実行時間を調べたいとき…

ubuntu9.04 で Berkeley DB のインストール

BerkeleyDB は、最初から入ってるので、あんまり入れる機会もないと思うが、最新のをゲットして入れてみた。簡単。ちょっとコンパイルに時間がかかったが、問題なくインストールできた。 $ tar zxvf db-4.7.25.tar.gz $ cd db-4.7.25 $ cd build_unix/ $ ../…

mysql 最適化

http://linux.mini13i.gotdns.org/MySQL%2F%BA%C7%C5%AC%B2%BD%2F%A5%B5%A1%BC%A5%D0%A5%D1%A5%E9%A5%E1%A5%BF.html 未検証

MySQL 5.1 プラガブルストレージについて

http://forge.mysql.com/wiki/MySQL_Internals_Custom_Engine唯一の資料かな?サイボウズ株式会社日本語だとここにさわりの紹介が。

ubuntu9.04 で mysql 5.1.33 のインストール

ソースからインストール。従前の手順と変わるところはない。 恥ずかしいハマりポイントが一点あった。 090412 01:22:13 mysqld_safe mysqld from pid file /usr/local/var/ubuntu904.pid ended 090412 01:23:10 mysqld_safe Starting mysqld daemon with dat…

mysql に、localhost 以外から接続できなくてはまる。

やったこと無かったんで、基本的なとこではまった。。。 mysql> GRANT ALL PRIVILEGES ON *.* TO hogehoge@'%' IDENTIFIED BY 'aiueo' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 …

MySQL5.1 の varchar カラムの怪しい動き

追記2009-12-01: コメントいただいた!本件、新たに記事を一個立てた。↓ kameidの備忘録 - Sharpen the Saw! MySQL5.1 にて、長い varchar 項目をカラムに作ろうとした際に気付いた動作。 mysql> create table test_length ( -> value VARCHAR(21844) -> ) …

MySQL でバイナリログの出力先を変更

mysqld セクションの log-bin を追加するだけ。 # cat my.cnf [mysqld] log-bin=/tmp/mysql-bin これで、/tmp の下に、 /tmp/mysql-bin.000001 のように出来るようになる。

Q4M でバイナリログが吐かれない?

仕様なのか設定ミスなのか、おそらく仕様だと思うんだけど。普通のテーブルだと以下のようにバイナリログが吐かれる。 mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | …

MySQL5.1.30 でレプリケーション構成

MySQL5.1.30 でレプリケーション構成をテストしてみた。2台のマシンが確保できなかったので、同一マシンに2インスタンスを立てている。 レプリケーション設定を行うと、ユーザ名とパスワードは master.info ファイル内のテキスト ファイルに保存されるため、…

複数の MySQL を同一のサーバに立てる。

既に MySQL がインストールされている場合。そのインストールされたMySQLのクローンを同一サーバにもう一個立てたい場合。*1オプションでポートや、データディレクトリを指定して、mysqld_safe を起動するのが一番簡単。 まず、任意の場所に(以下例では /ho…

MySQL Cluster

MySQL Cluster について調べてみた。 NDB は高可用性およびデータ堅牢性を提供する in-memory のストレージ エンジンです。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 18.1.1 MySQL Cluster の主な概念 ということで、まず、MySQL そのものではなくて、…

MySQL5.1 の rpm を deban etch にインストール

MySQL をソースからコンパイルしてインストールしてきてたんだけど、バイナリ版は最初から最適化に最大限の注意を払っているということで、バイナリ版でインストールしたいというニーズはでかいと思う。そういう場合は、rpm が使える CentOS や Fedora を選…

MySQL5.1 の バイナリ を deban etch にインストール

以前 Ubuntu8.10 でもやったことある気がするけど、いやもうそのままで何の苦労も無く終わる。 Linux (non RPM, Intel C/C++ compiled, glibc-2.3) をダウンロード。特に注意点もない。以下の手順どおり。 # groupadd mysql # useradd -g mysql mysql # cd /…

mysql5.1 plugin のインストール時の謎のエラー

mysql> INSTALL PLUGIN queue SONAME 'libqueue_engine.so'; ERROR 1289 (HY000): The 'plugin' feature is disabled; you need MySQL built with 'HAVE_DLOPEN' to have it workingなにこれなにこれ。 ・・・と思ったら、mysql の configure 時のオプション…

RDBMSのトランザクションの上限

複数の変更を1つのトランザクションにまとめてください。InnoDB は、もしトランザクションがデータベースに変更を行うなら、各トランザクション コミットの際にディスクにログをフラッシュしなければいけません。もしディスクが OS を 「欺かなければ」、デ…

q4m のインストール

mysql の 5.1.30 で動く q4m のバイナリが現時点では無いみたいなんで、ソースから q4m をインストール。 q4mのバイナリは、http://q4m.31tools.com/dist/に置かれているが、 mysql-5.1.28-rc-linux-i686-glibc23-with-fast-mutexes-q4m-0.8.3.tar.gz という…

Ubuntu8.10 で mysql5.1 をインストール

ソースからインストールした覚え書き。ソースの tar.gz を mysql のサイトから持ってくる。 事前に /usr/local/mysql がホームディレクトリで、mysql グループの mysql ユーザを作成しておいた。http://dev.mysql.com/doc/refman/5.1/ja/quick-install.html …

JBoss Hibernate Search 3.1

めもめも。 Hibernate Searchは、パーシスタンスドメインモデルに対して全文検索を行える機能。JavaのO/Rマッピング「JBoss Hibernate」のアドオンコンポーネントで、JBoss.orgのHibernateプロジェクトで開発が進められている。内部の全文検索エンジンに「Ap…

Hibernate と裏で発行される SQL

JPAは、SQLを隠蔽するものではなく、「SQLを統一的に効率良く書けるようにするもの」だからです。Gavin(Hibernateのfounder)はいってました「HibernateはSQLを隠蔽するものではない。SQLを統一的に効率良く書けるようにするものだ。だから、SQLの知識はちゃ…