2373 件中 1 - 10 件を表示
次の 10 件 »
データベースの分離レベルをめぐる冒険(I.イントロダクションとII.MySQLの場合)

とある原稿を書いていて、トランザクションまわりをチト調べている私です。

あまり深みに入らなければ、4つのトランザクション分離レベルと、それぞれのアノーマリを説明して、はい、終わり、ということにしたいのですが、私には以前気づいてしまった以下の記事があり「あれ、四つ多くない?」を細かく調べることなく放置していたのでした。

Web開発者が知っておくべき八つの分離レベル

しかし、ここで調べなければもやもやは晴れないですし、
神林さんがシリアライズでもパフォーマンスに問題のないRDBMSの実装が終わり、

[さらに読む]
「標準的なバスフォーマット(GTFS-JP)」勉強会#1 参画

 「標準的なバスフォーマット/GTFS 勉強会」(https://gtfs-jp20190420study.peatix.com/)に参加してきました。GTFSは、バスなどの交通機関の停車場や時刻などの記述方法を定めたもので、このフォーマットで作成したファイルを Google駅すぱあと や 乗換案内 などの会社さんに提供することで活用されます。分かりやすいところでは、Googleの経路検索などでの活用で、例えば遅延情報や臨時便/迂回運行などの情報を …

[さらに読む]
gh-ostのinteractive-commandを使う

gh-ost には interactive-command なるものが用意されている。 これは gh-ost起動しちゃった後 、後からオプションを変更したりする機能を提供しているっぽい。 デフォルトではソケットファイルのみオープンする。デフォルトのパスは /tmp/gh-ost.<スキーマ名>.<テーブル名>.sock
パスを変えたかったりTCP経由も受け付けてほしい時は gh-ost --serve-socket-file=/tmp/hogegh-ost --serve-tcp-port=9999 とかで設定できる。

$ gh-ost --database=mysqlslap --table=t1 --alter="ADD KEY (intcol1)" --host=127.0.0.1 --port=21801 --user=msandbox …
[さらに読む]
CharsetとCollationの設定がMySQLのパフォーマンスに与える影響

MySQL 8 は MySQL 5.7 より常に高速とは限らない(MySQL 8 is not always faster than MySQL 5.7) に続いて、 今回は、データがメモリに収まっており、CPUバウンドな、read only のとてもシンプルなワークロードのテストをすると決めました。このワークロードにIO処理はありません、メモリとCPUの処理だけです。

テスト環境

環境のスペック

  • Release | Ubuntu 18.04 LTS (bionic)
  • Kernel | 4.15.0-20-generic
  • Processors | physical = 2, cores = 28, virtual = 56, hyperthreading = yes
  • Models | 56xIntel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz<
  • Memory Total | 376.6G
  • Provider | packet.net x2.xlarge.x86 instance

oltp_read_only と oltp_point_select …

[さらに読む]
gh-ostでスレーブの遅延を見ながら処理速度を調整する

TL;DR

  • マスターに接続する( --allow-on-master )場合、 --throttle-control-replicas myhost1.com:3306,myhost2.com:3306 で遅延監視対象を指定する
    • スレーブからbinlogを吸い上げてマスターに当て込む場合は、接続先のスレーブで遅延監視をする
  • 閾値は gh-ost --max-lag-millis 1000 で指定する (デフォルト1500ミリ秒)
  • SHOW SLAVE STATUS は叩かず、 *_ghc テーブルに書き込んだハートビートの行と現在時刻の差分で計算する
    • --test-on-replica--migrate-on-replica の時だけ SHOW SLAVE STATUS するっぽい
  • SHOW SLAVE STATUS
[さらに読む]
簡易キープアライブの設定

キープアライブはしばらく前から存在していましたが、それでも多くの人にとって謎です。
したがって、これはkeepalivedがMySQLでどのように機能するかを示す非常に単純な例です。 うまくいけば、これは質問がある人を助けることができます。

Simple master to slaveをセットアップします。 意味..あるイベントで2番目にフェイルオーバーしない限り、1つに書き込みます。

1日 - インストールkeepalived


#yum検索キープアライブ keepalived .x86_64:ロードバランサと高可用性サービス
  名前と要約の一致のみ 。すべてを "search all"で検索してください。 #yum -y install keepalived
これで設定ファイルができました
#ls -ltr /etc/keepalived/keepalived.conf  

[さらに読む]
MySQL 8の新機能 LATERAL句によるSQLチューニング

MySQL 8.0.14でLATERAL句がサポートされました。
一瞬、LITERALに空目しましたが、LATERAL(側面)でした。

LATERAL句を試してみます。

サンプルとしてこのようなテーブルを扱います。
従業員の一覧(employees)と、各従業員の特定の期間の月額給与(salaries)のテーブルです。

mysql> SELECT * FROM employees LIMIT 5;
+--------+-<snip>-+-----------+
| emp_no | <snip>-| last_name |
+--------+-<snip>-+-----------+
|  10001 | <snip>-| Facello   |
|  10002 | <snip>-| Simmel    |
|  10003 | <snip>-| Bamford   |
|  10004 | <snip>-| Koblick   |
|  10005 | <snip>-| Maliniak  |
+--------+-<snip>-+-----------+
5 rows in set (0.00 sec) …

[さらに読む]
時々遅いデータベースはデータベースではありません...

だから私は最近更新されたMySQL 5、6がなぜ古い5.5より遅いのかを調べるように依頼されました。

それで私は標準変数やキャッシュなどを見回すことから始めました。

テストケースは、5.5よりも5.6で実行するのに約2倍の時間がかかる単純なルーチンでした。

ミックスに追加するために、5.6バージョンはInnodb_buffer_pool_sizeの2倍、そしてもちろん全体的にもっと多くのramを持っていました。

だから私はMySQLslapでいくつかのテストを始めました...

Mysqlslapテストでは5.6では遅くなります

5.6:
mysqlslap --defaults-file =。/。my.cnf --concurrency = 150 --iterations = 130 -query = / test.sql --create-schema = applicationdata --verbose
基準

[さらに読む]
MySQLと「令和」その2

MySQLでは異なる字が等しいと見なされることがあるということを書きました。

tmtms.hatenablog.com

この動きはMySQLが独自に変なことをしているわけではなく、Unicodeの規則に従っています。

MySQL 8.0 のデフォルトのCollationは Unicode 9.0.0Unicode Collation Algorithm(UCA) に従っています。

文字にはそれぞれ Weight という値が設定されていてソートに使用されています。この値が同じなら等しい文字とみなされます。

Collation

utf8mb4 のデフォルトの Collation は utf8mb4_0900_ai_ci

[さらに読む]
[便乗企画] 「SQL大量発行処理をいかにして高速化するか」for MySQL

ツイッターでこういうのがあったので、便乗してMySQLで考えてみるエントリ。

AP屋さんは読むべき。-- SQL大量発行処理をいかにして高速化するか #linux #oracle https://t.co/UkAMBc7KIB @SlideShareから

— ABE Masanori (@abe_masanori) 2019年4月4日


高速化手法として#1-#10の十個がリストアップされています。

#1 SQL発行数の削減 その?

[さらに読む]
2373 件中 1 - 10 件を表示
次の 10 件 »