むるーん、ガッ(挨拶
このエントリーは 全文検索エンジンGroonga Advent Calendar 2013 の20日目です。
みなさん、最近、ロック刺さりましたか?
クラッシュ以外でそうそう刺さることはないと思うんですが、いざ刺さるとどうなるのか…というのは予め考えておいた方が良いと思います(こんなエントリーを書いている時点でお察しください)
復旧作業については @yoshi_kenさん の Y-Ken Studio: groonga/mroongaの.mrnファイルがlock
failedとなった場合の復旧方法 が詳しいですのでそちらで。
…
本日は、MySQL Casual Advent Calendar 2013の20日目である。というわけでカジュアルに小ネタを紹介しよう。
MVCC - Multi Version Concurrency Controlご存知の通り、InnoDBはMVCCを実装している。そのため、分離レベルがREPEATABLE READの場合には、行にロックをかけることなく、一貫した読み取りが可能になっている。
もし、あるトランザクションT1開始後に、別のトランザクションT2によって同じ行が書き換えられてしまった場合には、T1はロールバックセグメントにある古いバージョンの値を読み取ることができるので、T1内で実行したSELECTは常にT1開始時点のデータを参照することができるのである。大事なのでもう一度言うが、REPEATABLE READにおける単純なSELECTでは行ロックは必要ない。
このエントリーは 全文検索エンジンGroonga Advent Calendar 2013
の17日目です。
2013/05/29リリースの Mroonga 3.04 の新機能として、TritonnにあったWプラグマのバックポート(?)があります。重み付け検索というより、マルチセクションインデックスの一部を使って検索するために使うことが多いような気もします。
mysql> SHOW CREATE TABLE t1\G[さらに読む]
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` (
`num` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`val1` varchar(20) DEFAULT NULL,
`val2` varchar(20) DEFAULT NULL,
…
この記事は MySQL Casual Advent Calendar 2013 の15日目の記事です。
今、空前の SQL エスケープブームみたいなので、このビッグウェーブに乗っかってみます。
でも面倒なのでセキュリティについての話はしません。カジュアル!
文字列リテラルとエスケープ
MySQL では SQL 中の文字列リテラルは次のように表現します。
'abc' -- シングルクォートで括る
"abc" -- ダブルクォートで括る
0x616263 -- 16進数
x'616263' -- 16進数
0b011000010110001001100011 -- 2進数
b'011000010110001001100011' -- 2進数
各表記で charset を指定することができます
_utf8 'abc'
_utf8 "abc"
_utf8 0x616263
_utf8 x'616263'
_utf8 0b011000010110001001100011
_utf8 b'011000010110001001100011'
…[さらに読む]
Percona XtraDB Clusterでクラスターの初期化中に、
wsrep_sst_method= xtrabackup
wsrep_sst_auth= username:passwordとしてても、JOINER側で
131212 17:22:05 [Note] WSREP: State transfer required:[さらに読む]
Group state: 64863b36-62f7-11e3-bef2-a746941be182:1
Local state: 00000000-0000-0000-0000-000000000000:-1
131212 17:22:05 [Note] WSREP: New cluster view: global state: 64863b36-62f7-11e3-bef2-a746941be182:1, view# 10: Primary, numbe
r of nodes: 2, my index: 1, protocol version 2
131212 17:22:05 [Warning] WSREP: Gap in state sequence. Need state transfer.
131212 17:22:07 [Note] WSREP: Running: 'wsrep_sst_xtrabackup --role 'joiner' --address '192.168.xxx.xxx' --auth '' --datadir '/xxx' --defaults-file '/xxx/my.cnf' --parent '3382''
WSREP_SST: [INFO] Streaming with tar (20131212 17:22:08.058)
WSREP_SST: [INFO] Using socat as streamer (20131212 17:22:08.063)
WSREP_SST: …
JUGEMテーマ:コンピュータ
この記事は MySQL Casual Advent Calendar 2013 の 13 日目です。
カジュアル!
ということで、テストデータ作成時にいつも'AAAA'ばかりでは辛いので、MySQLで利用できる10行ほどのストアドファンクションをご紹介します。
拙書「プロになるためのデータベース技術入門」p.223では「それっぽい」苗字を返すrand_family_nameという以下のファンクションを紹介しました。
delimiter $
create function rand_family_name() returns varchar(10)
begin
declare v_family_name varchar(10) default '小笠原';
declare v_f1,v_f2 varchar(5);
set …
このエントリーは MySQL Casual Advent Calendar
2013 参加記事です。カジュアルカジュアル。
MySQL 5.6のGAリリースからはや10ヶ月、みなさんそろそろカジュアルに導入なされていることだと思います。
漢(オトコ)のコンピュータ道: 優れたMySQL DBAを見分ける27+3の質問
のオマージュです。
Islands in the byte stream:
「優れたPerlプログラマを見分ける27の質問」の日本語訳 の@__gfx__さん
からメンションをいただいたので作りました :)
@yoku0825 …
ログデータを活用してビジネスに役立てようという最近のトレンドは理解できる。
しかし、なぜログ収集ソフトウェアのFluentdがこれほどまで話題になるのか、不思議に感じている方もいるのではないだろうか。単にログデータを収集するならばsyslog-ngやrsyslogで十分ではないかという意見もあるだろう。
それらは既存のログシステムを置き換えるプロダクトであり、Fluentdのそれとは根本的に異なる。Fluentdは、既存のログシステムに手を入れることなく新たにログの収集を行い、ストリームデータ処理を実現するプロダクトなのである。
…
[さらに読む]