3088 件中 1 - 10 件を表示
次の 10 件 »
レプリケーション構成でない2つのMySQLに確実にデータを書き込みたいメモ
  • それぞれのMySQLはSemisyncで正しくフェイルオーバーしたりGroup Replicationだったりで書き込みは信用できることにする
  • サロゲートキー(だけ)でなくて比較可能なPRIMARY KEYが存在することにする
  • 取り敢えず簡単なINSERTで考えるけどUPDATEもありそう

という前提で考え事。
FEDERATEDストレージエンジンはそもそもトランザクションをサポートしないので論外とする。

App側の2層コミットっぽいもの

2 Phase Commitはそもそもコーディネーターの障害に対する耐性がない…。

eval
{
  $dbh1->begin;
  $dbh1->do("INSERT INTO ..");
  $dbh2->begin;
  $dbh2->do("INSERT INTO ..");
};

if ($@)
{
  $dbh1->rollback;
  $dbh2->rollback;
}

$dbh1->commit;

### この瞬間にAppのプロセスが落ちるとダメ
$dbh2->commit; …
[さらに読む]
今日から『自由』にMySQLの性能改善始めます。(MySQL開発チームを退職しました)

前回の在籍も含めると、累計9年半、本家MySQLチームでInnoDBの性能改善をターゲットに開発の仕事してきました。5.7でのb-tree index scaleや、8.0の初期の新機能で入ってしまった性能問題の修正など貢献できましたが、ここ数年は開発が進む度に導入される性能劣化に追いつけなくなってしまいました。悪いコードを見つけて直そうとしても抵抗が大きいのも大きな要因です。(遅くしたいのでしょうか?遅いことが認識できないのでしょうか?)

[さらに読む]
HeatWave MySQL が 9.0 で Auto Scheduling を実装したことでクエリの実行時間がかえって延びた件

この記事は何? 去る 2025/4/17 に、HeatWave ユーザーコミュニティである HeatWavejp(MySQL HeatWave Japan User Group) の 2 周年記念 …

Oracle Linux 8.10でのMySQL 9.3.0ビルド

MySQL Bugs: #117993: cmake failed MySQL 9.3.0 + Oracle Linux 8.10 で再現しなかったらしく、フレッシュインストールで試す。

$ wget https://dev.mysql.com/get/Downloads/MySQL-9.3/mysql-9.3.0.tar.gz
$ tar xf mysql-9.3.0.tar.gz
$ cd mysql-9.3.0/
$ sudo dnf install -y cmake

$ cmake -DCMAKE_INSTALL_PREFIX=/usr/mysql/9.3.0 -DMINIMAL_RELWITHDEBINFO=OFF -DFORCE_INSOURCE_BUILD=1
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.

-- Running cmake version 3.26.5
-- Could NOT find Git (missing: GIT_EXECUTABLE)
-- This is .el8. as found from 'rpm -qf /'
-- Looking for a devtoolset compiler
CMake Warning at CMakeLists.txt:393 (MESSAGE):
  Could not find devtoolset compiler/linker in /opt/rh/gcc-toolset-13

CMake …
[さらに読む]
HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / 読み取りレプリカ編その2

日々の覚書: HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / 読み取りレプリカ編 の続き。

読み取りレプリカを1つ足してみた。ついでなので “MySQL.8.HA” にしてみたんだけれどこれは単に無視されるのかしら…(クラスタトータルのECPUも8ECPUしか増えなかったので、たぶんこれは関係なく1台だけ足されるんだと思う)

mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+-----------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME              | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK | …
[さらに読む]
HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / 読み取りレプリカ編

WEB画面から作るレプリケーションの話。

「読み取りレプリカ」を “MySQL.8.Standalone” で1つ追加

ソースから観測

ソースから見ると名前解決が有効になってるのでIPアドレスはわからない。
skip_name_resolve はOFFで変えられない。

mysql> SHOW PROCESSLIST;
..
*************************** 4. row ***************************
     Id: 81
   User: ocirpl
   Host: gh7wpmau16ovyk9e.db0vcn0.mysqlcdbnrt.oraclevcn.com:52048
     db: NULL
Command: Binlog Dump GTID
   Time: 107046
  State: Source has sent all binlog to replica; waiting for more updates
   Info: NULL

..

mysql> SHOW REPLICAS;
+------------+------+------+------------+--------------------------------------+
| Server_Id  | Host | Port | Source_Id  | Replica_UUID …
[さらに読む]
HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / performance_schema編

このへんからHeatWave MySQLが9.2から8.4のものに変わっている。

全体として sar の代わりに使えそうなものがそろっている感じ。

2a3
> component_scheduler_tasks
53a55,57
> health_block_device
> health_process_memory
> health_system_memory
58a63,64
> lakehouse_query_stats
> lakehouse_table_query_stats
86a93,101
> rpd_column_id
> rpd_columns
> rpd_exec_stats
> rpd_mirror
> rpd_nodes
> rpd_preload_stats
> rpd_query_stats
> rpd_table_id
> rpd_tables
105a121,128
> system_cpu_stats
> system_cpu_stats_history
> system_disk_stats
> system_disk_stats_history
> system_memory_stats
> system_memory_stats_history
> system_process_stats
> system_process_stats_history
111a135,138
> tp_connections
> tp_thread_group_state
> tp_thread_group_stats
> tp_thread_state

[さらに読む]
HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / コマンド編

試したHeatWaveが9.2.2だったことに影響しているものもある

[さらに読む]
HeatWave MySQLがどれくらいVanilla MySQL GPL版と同じくらいか考える旅 / 管理者権限
  • CHANGE REPLICATION SOURCE TO ができないのでレプリカになれないしグループレプリケーションも自分で構築することはできない(そりゃそうだ)
  • 暗号化やAudit, Firewallを回避するようなのはダメ(そりゃそうだ)
  • BINLOG_ADMIN はないけど REPLICATION_APPLIER はあるので、 mysqlbinlog で吸い上げたバイナリログを適用することはできる (人力レプリケーションの機運か)
  • mysql スキーマに書き込めないので INSTALL PLUGIN, INSTALL COMPONENT はできない(そりゃそうだ)
  • SET GLOBALSET PERSIST もできない(そりゃそうだ)

HeatWave側の管理者にないもの。

  • RELOAD
[さらに読む]
MySQLのSRS定義の原典たる EPSGデータを見てみる

ちゃんと原典となるデータを見ておきたいと長いこと思っていたのですが、ようやく少しまとまった時間が取れたので、眺めてみました。EPSGデータです。 EPSGのデータは、こちらからダウンロードできます。今回は 12.005データを。 https://epsg.org/download-dataset.html 諸RDBMSへとインポート(登録)するためのスクリプトが提供されているので、今回はMySQL用のものをダウンロードして、登録してみました。 ざっくりテーブル構造はこんな感じ。意外とでかい。 今回の目的は、MySQLの ST_SPATIAL_REFERENCE_SYSTEMSに登録されている値…

3088 件中 1 - 10 件を表示
次の 10 件 »