2019-01-01から1年間の記事一覧
祝:8.0.18リリース! 今回のメンテナンスリリースは盛りだくさんです。詳細は、リリースノートを読んでいただくか、今度の9/21(月)に更新されるであろうMySQL Weeklyを確認してください。リリース前から話題沸騰だったのは、「NestedLooop一本勝負っだったM…
「10回分の目次」的な何か 2週間平日連載?で10回に分けて書いてきた「HammerDBをCLIで使う」のエントリのリストです。(1)環境構築 (2)MySQLにTPC-Cを実行してみる (3)PostgreSQLにTPC-Cを実行してみる (4)OracleにTPC-Cを実行してみる (5)Re…
DBによっては、データファイルの一括ロードが速いよね OracleのSQL*Loaderとか、MYSQLのLOAD DATAコマンドとか、PostgreSQLのCOPYコマンドとか。 HammerDBのドキュメントの中でも、そういったツールを使うことを推奨しています。そういったツールに読み込ま…
基本的な流れ 「MySQLにTPC-H」「PostgreSQLにTPC-H」とほぼ一緒です。 対象DBMSとベンチマークの選択 hammerdb>dbset db ora Database set to Oracle hammerdb>dbset bm TPC-H Benchmark set to TPC-H for Oracle 詳細パラメータの表示と設定 hammerdb>prin…
基本的な流れ 前回の「MySQLにTPC-H」とほぼ一緒です。 淡々と進めていきましょう。 対象DBMSとベンチマークの選択 hammerdb>dbset db pg Database set to PostgreSQL hammerdb>dbset bm TPC-H Benchmark set to TPC-H for PostgreSQL 詳細パラメータの表示…
基本的な流れ ここからは、分析系クエリのベンチマーク「TPC-H」です。 やりかたは、TPC-Cとほとんど同じなので、淡々と進めていきます。 TPC-Hは、定められた22本1セットの分析クエリ(要はMySQLがあまり得意としない複雑でデカイSQL)についての処理性能…
TPC-Hの話に行く前に、自動化の件に触れておきたい このHammerDBには、ベンチマークテストを繰り返し自動実行する「Autopilot」機能がついています。 「異なる数のユーザー数で、同じテストを繰り返す」というケースに対応するものです。GUIだと「Autopilot…
基本的な流れ 流れはやっぱりおなじです。Redisで業務的な意味でのトランザクションを扱うイメージあんまりないですが、ツールとして対応しているので、ためしておきたいなと。 単純性能みるだけなら、redisのパッケージにベンチマークツール「redis-benchma…
基本的な流れ 流れはMySQLやPostgreSQL同じですが、やっぱりパラメータがちょっと違います。 さっそく順を追ってみていきましょう。 対象DBMSとベンチマークの選択 hammerdb>dbset db ora Database set to Oracle hammerdb>dbset bm TPC-C Benchmark set to …
基本的な流れ 流れはMySQLと同じですが、パラメータがちょっと違います。 さっそく順を追ってみていきましょう。 対象DBMSとベンチマークの選択 hammerdb>dbset db pg Database set to PostgreSQL hammerdb>dbset bm TPC-C Benchmark set to TPC-C for Postg…
基本的な流れ どのDBに対して、どのワークロードをかける場合でも共通ですが、まずは「MySQLにTPC-C」を実行して、その流れを見ておきます。 GUIで一度経験しておくと、イメージがよりつかみやすいかもしれません。 DB種類選択 ベンチマーク種類選択 スキー…
TPC-C、TPC-Hワークロードを各種DBMSに対して実行できるベンチマークソフト「HammerDB」 HammerDBは、フリーでOSSなDBMSベンチマークソフトです。 各DB専用に用意されたベンチマークソフトではなく、同じ条件(同じソフト)で負荷をかけて性能を見たいときに…
Jupyter Notebook環境構築エントリとか、世の中に溢れかえっているのは承知の上なんで、ほぼ自分用の備忘です。 未来の自分に語りかけてます。この手順、絶対忘れる。。。 皆さんよく使うゴリゴリのPython+pandasなど各種ライブラリではなく、「RDBMSの中身…
端的にいうと SELECTのWHEREの条件の「右辺」に、RAND()やSYSDATE()のような非決定性関数を使うと、想定外のことが起こる。 戻ってくる行数が想定と異なる。 Indexが効かなくなる。(テーブルフルスキャン走る) どっちもなかなかのインパクトです。 追記:2…
OracleともMySQLともちがう、「豊富な拡張」 PostgreSQLの特徴的なところだと思います。 なんなら最初から入っていてくれよ、と愚痴りたくなる程度に、結構めんどくさかったので、備忘録的な意味合いで残しておこうかと。いや、この拡張機能を利用者自らが開…
呼ばれたきがしたので soudai.hatenablog.comなお、InnoDB限定のお話ですよ。MyISAMを(システムテーブル以外で)使ったことない若輩者なので。ちょっと余裕がないこともあり、思いつく最小限のことだけ書きます。追加で思いついたら後ほど&温かいフォロー…
久しぶりにPostgreSQLの門に入ったので 前に触ったのは、8.1.2~8.1.6くらいだったと思います。その間、非エンジニア業もやってた(企画系および管理系)ので、完全に忘れてた。なので、謙虚に入門したいと思います。 OracleやMySQLから移ってくるにあたって…
MySQL 8.0.14でSELECT COUNT(*)が加速する!- 「innodb_parallel_read_threads」検証その1 - なからなLife MySQL 8.0.14でSELECT COUNT(*)が加速しない!- 「innodb_parallel_read_threads」検証その2 - なからなLife MySQL 8.0.14で全件 COUNT(*)でも加速…
ココまでのおさらい MySQL 8.0.14でSELECT COUNT(*)が加速する!- 「innodb_parallel_read_threads」検証その1 - なからなLife MySQL 8.0.14でSELECT COUNT(*)が加速しない!- 「innodb_parallel_read_threads」検証その2 - なからなLife MySQL 8.0.14で全…
MySQL 8.0.14でSELECT COUNT(*)が加速する!- 「innodb_parallel_read_threads」検証その1 - なからなLife MySQL 8.0.14でSELECT COUNT(*)が加速しない!- 「innodb_parallel_read_threads」検証その2 - なからなLife の続きです。まさかの、ネガティブ情…
「その1」と真逆のタイトル atsuizo.hatenadiary.jp の続きです。要するに、innodb_parallel_read_threadsの効果がないケースの話です。いや、思った以上に、効果がない。。。 というわけで、暗い感じのスタートになりましたが、前回の続きで 「3.「innodb_…
それは突然やってきた MySQL 8.0.14がGAされました。dev.mysql.comまあ、MySQLは結構な頻度でリリースがありますし、「GAとはなんぞや」との名言が生まれる程度に、マイナーリリースでも機能が増える、パラメータが増える、既存パラメータのデフォルト値が変…
後で「やっぱ足りない」ってなるのが、ゲストマシンのストレージ割り当て なれてないと、躓くところが2点ありますね。<自分・VirtualBoxの仮想ストレージ自体を増やす ・ゲストマシンのOSから、増やしたストレージを認識させるたまにしかやらないので、すぐ…
例年通り 休み=家族にふりまわされサービスやら帰省やらで、振り返りも展望も整理できない日々です。 2017年末の家庭内インフルエンザ・ラッシュは2018年末にはなく、クリスマスの週末に一人微熱を出し、年末最後の仕事に影響出さないように連休中は一人布…