なからなLife

geekに憧れと敬意を抱きながら、SE、ITコンサル、商品企画、事業企画、管理会計、総務・情シス、再び受託でDB屋さんと流浪する人のブログです。

HammerDB 4.1がリリースされていた - リリースノートチェック

今回はリリースノートチェックだけ 4/23にHammerDB v4.1がリリースされていました。 マイナーバージョンアップということで、どこぞのデータベースのような大きな機能追加はないです。 リリースノートには、大きく6つの変更点が記載されています。1.1. Nomen…

HammerDB 4.0がリリースされていた - 複数インスタンスへの接続・負荷試験 その2

HammerDB 4.0がリリースされていた - リリースノートチェック - なからなLife HammerDB 4.0がリリースされていた - 環境構築 - なからなLife HammerDB 4.0がリリースされていた - 設定まわりの変化 - なからなLife HammerDB 4.0がリリースされていた - ワー…

HammerDB 4.0がリリースされていた - 複数インスタンスへの接続・負荷試験 その1

HammerDB 4.0がリリースされていた - リリースノートチェック - なからなLife HammerDB 4.0がリリースされていた - 環境構築 - なからなLife HammerDB 4.0がリリースされていた - 設定まわりの変化 - なからなLife HammerDB 4.0がリリースされていた - ワー…

HammerDB 4.0がリリースされていた - ワークロードの実行

HammerDB 4.0がリリースされていた - リリースノートチェック - なからなLife HammerDB 4.0がリリースされていた - 環境構築 - なからなLife HammerDB 4.0がリリースされていた - 設定まわりの変化 - なからなLife の続きです。 基本実行はエビ省略 前回の一…

HammerDB 4.0がリリースされていた - 設定まわりの変化

HammerDB 4.0がリリースされていた - リリースノートチェック - なからなLife HammerDB 4.0がリリースされていた - 環境構築 - なからなLife の続きです。 基本的な手順は同じなので、差があるところだけ 対象データベースからRedisが消えている件 hammerdb>…

HammerDB 4.0がリリースされていた - 環境構築

HammerDB 4.0がリリースされていた - リリースノートチェック - なからなLife の続きです。 CentOS7環境用意 いつものごとく、Windows10+VirtualBox+CentOS 7、または、AWS EC2+AmazonLinux2の環境を使用しています。CentOS7をminimalインストールして、y…

HammerDB 4.0がリリースされていた - リリースノートチェック

おかげさまで、HammerDBについてのエントリが好評いただいております。 一部の人には知られていた、データベースに対するベンチマークツール「HammerDB」ですが、GUI操作がそこそこ簡単なものの、CLIはドキュメントをガッツリ読む必要があり、日本語ドキュメ…

新年あけまして2021

今年は年が明ける前から振り返ってみた だいたい、他の人の年初エントリ見て「自分もやらなきゃ」って感じで始めるのですが、2020年末は余裕があったので、振り返りも先に済ませておこう、と。 本当は、もっと短いサイクルで振り返り/軌道修正、いわゆるPDCA…

MySQLのデータ投入順序とデータファイルサイズのお話

穴があったら埋めたい! ということで、埋まっていたと思ったら空いていたMySQL Advent Calendar 2020 - Qiita の22日目、急遽登板です。小ネタにしては、エビデンス収集・整理に時間のかかるネタになってしまいましたが。 データ投入順とプライマリキーの関…

MySQLとPostgreSQLのランダム関数の挙動の違い(小ネタ)

MySQL Advent Calendar 2020 - Qiita の11日目の記事であり、同時に、PostgreSQL Advent Calendar 2020 - Qiita の11日目の記事です。両データベースについての挙動差のお話です。 MySQLとRAND関数の挙動の整理 その1 - なからなLife MySQLとRAND関数の挙動…

MySQLとRAND関数の挙動の整理 その2

MySQL Advent Calendar 2020 - Qiita の4日目の記事です。 昨日の記事 MySQLとRAND関数の挙動の整理 その1 - なからなLife の続きです。よって、前提条件も同じで MySQL 5.7.32 (エビデンスはこちらで取った) MySQL 8.0.22 CentOS7 on VirtualBox での挙動…

MySQLとRAND関数の挙動の整理 その1

MySQL Advent Calendar 2020 - Qiita の3日目の記事です。昨年のアドベントカレンダーは1つも記事も書かなかったので、今年は1つくらいは。。。 (ていうか、アドベントカレンダーのタイトルがMySQLだったりMySQL Casualだったりしてるのね) MySQLでテーブ…

MySQL ShellのdumpInstance()、dumpSchemas()をAWS RDS&AuroraMySQLに対して使用する

※初回執筆時から、追記・修正があります。MySQL Shell 8.0.21で存在した各種制約は、MySQL Shell 8.0.22によって緩和されています。 MySQL ShellのdumpInstance()/dumpSchemas()とは MySQLからのダンプエクスポートといえば、mysqldumpでした。しかし、シリ…

SELECT FOR UPDATE NOWAIT他のオプションにおける、MySQL、PostgreSQL、Oracleの挙動

MySQL8.0から、SELECT FOR UPDATE NOWAIT/SKIP LOCKEDがサポートされました。 パチパチパチ、といっても、MySQL8.0自体は2018-04-19にGA(8.0.11)していますし、この機能自体は8.0.1(2017-04-10, Development Milestone)のリリースノートですでに登場して…

「Linuxとpthreadsによるマルチスレッドプログラミング入門」を読んでみた

きっかけ 「MySQLで接続数増やして同じテーブルへのアクセスが増えると、SHOW ENGINE INNODB STATUSのSEMAPHOREのところにいっぱい情報が出てくる「Mutex」がイマイチ分からん」と、MySQLを触り初めて以来、ずっと思っていました。 MySQLのSHOW ENGINE INNOD…

MySQL8.0.21の「Redoログ無効化」で大量書込処理を加速する

7/13 に MySQL 8.0.21 がリリースされました。 リリースノートを読んでいて「Functionality Added or Changed」の3つ目に InnoDB: Redo logging can now be enabled and disabled using ALTER INSTANCE {ENABLE|DISABLE} INNODB REDO_LOG syntax. This funct…

AWS RDSの各種DBにおけるメモリ管理の指定方法

超親切設計な、インスタンスサイズからの自動計算、だけど パラメータグループには、デフォルトでDBInstanceClassMemoryからの自動計算になっていて、インスタンスサイズの変更時に手動でパラメータ変更をする必要がないような超親切設計になっています。し…

「15 Stepで習得 Dockerから入るKubernates」を読んでEC2で演ってみた:(2)各演習(Step)でのメモ

この本、15Stepで習得 Dockerから入るKubernetes コンテナ開発からK8s本番運用まで (StepUp!選書)作者:高良 真穂発売日: 2019/09/27メディア: 単行本(ソフトカバー)半分くらいまでは、DockerとKubernetesについての解説で、後半が15 Stepの演習になってま…

「15 Stepで習得 Dockerから入るKubernates」を読んでEC2で演ってみた:(1)概要と環境構築

やっとkubernetesに手を出した 本職がDB専業、MySQL、PostgreSQL、Oracleの導入、チューニング、移行などの支援がメインということもあり、k8sを使うインセンティブもモチベーションも非常に低かったのです。 しかし、流石にぼちぼち触っておこうと思い、こ…

MySQLのゾンビプロセスの話

エビデンス的なものを貼り付けてもイマイチ伝わらないので、文字通り雑記レベルで。 複数セッション用意してタイミングに依存した実験の結果を伝える時、難しいよね、ってことで、ダラっとした解説になってしまいます。 MySQLのサーバーに重いクエリを投げつ…

PostgreSQLのpsqlで実行時間だけ欲しい場合

用途 時間計測したいけど、結果の行表示とか余計なものは全くいらない、ってケースありますよね。性能検証やってるときとか。何百行何千行も取れるようなSQL流すと、表示するのも萎える。 pager有効だと「--More--」って出て止まる。これは「q」で残りの表示…

新年あけまして2020

毎年年初になんか書いてたっけ? くらいに、中身のあること書いてなかったことを、過去ブログ見て思い返すなど。ブログの更新頻度は、2018年の15本に対して2019年は24本と伸びているのですが、ここ2ヶ月サボってますね。個人的にはOSSベンチマークツール「H…

MySQL8.0.18新機能「EXPLAIN ANALYZE」で外部結合の実行計画が取れなかった件

祝:8.0.18リリース! 今回のメンテナンスリリースは盛りだくさんです。詳細は、リリースノートを読んでいただくか、今度の9/21(月)に更新されるであろうMySQL Weeklyを確認してください。リリース前から話題沸騰だったのは、「NestedLooop一本勝負っだったM…

HammerDBをCLIで使うなど:まとめ、あるいは、目次の代わりに

「10回分の目次」的な何か 2週間平日連載?で10回に分けて書いてきた「HammerDBをCLIで使う」のエントリのリストです。(1)環境構築 (2)MySQLにTPC-Cを実行してみる (3)PostgreSQLにTPC-Cを実行してみる (4)OracleにTPC-Cを実行してみる (5)Re…

HammerDBをCLIで使うなど(10):テストデータをテキストファイルに出力する

DBによっては、データファイルの一括ロードが速いよね OracleのSQL*Loaderとか、MYSQLのLOAD DATAコマンドとか、PostgreSQLのCOPYコマンドとか。 HammerDBのドキュメントの中でも、そういったツールを使うことを推奨しています。そういったツールに読み込ま…

HammerDBをCLIで使うなど(9):OracleにTPC-Hを実行してみる

基本的な流れ 「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…

HammerDBをCLIで使うなど(8):PostgreSQLにTPC-Hを実行してみる

基本的な流れ 前回の「MySQLにTPC-H」とほぼ一緒です。 淡々と進めていきましょう。 対象DBMSとベンチマークの選択 hammerdb>dbset db pg Database set to PostgreSQL hammerdb>dbset bm TPC-H Benchmark set to TPC-H for PostgreSQL 詳細パラメータの表示…

HammerDBをCLIで使うなど(7):MySQLにTPC-Hを実行してみる

基本的な流れ ここからは、分析系クエリのベンチマーク「TPC-H」です。 やりかたは、TPC-Cとほとんど同じなので、淡々と進めていきます。 TPC-Hは、定められた22本1セットの分析クエリ(要はMySQLがあまり得意としない複雑でデカイSQL)についての処理性能…

HammerDBをCLIで使うなど(6):自動でテストを繰り返す

TPC-Hの話に行く前に、自動化の件に触れておきたい このHammerDBには、ベンチマークテストを繰り返し自動実行する「Autopilot」機能がついています。 「異なる数のユーザー数で、同じテストを繰り返す」というケースに対応するものです。GUIだと「Autopilot…

HammerDBをCLIで使うなど(5):RedisにTPC-Cを実行してみる

基本的な流れ 流れはやっぱりおなじです。Redisで業務的な意味でのトランザクションを扱うイメージあんまりないですが、ツールとして対応しているので、ためしておきたいなと。 単純性能みるだけなら、redisのパッケージにベンチマークツール「redis-benchma…