質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
InnoDB

InnoDBは、MySQLの規定のストレージエンジンです。信頼性とパフォーマンスが高く、汎用性があります。レコードにロックを掛けられることに加え、ACID互換のトランザクションにも対応しています。

ストレージ

ストレージとは、データを長期で保管・保存しておくための記憶装置。ハードディスクやDVD、CDなどが主なストレージとして挙げられます。PCでは作成データの他、OSやアプリケーションがインストールされています。

DLL

DLL(Dynamic Link Library)とは、他のモジュールからも使用する事が出来る、関数とデータが格納されているモジュールのことです。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

0回答

93閲覧

XAMMPで動作しているMariaDBにRocksDB ストレージエンジンを導入したい

dendoushishi

総合スコア14

InnoDB

InnoDBは、MySQLの規定のストレージエンジンです。信頼性とパフォーマンスが高く、汎用性があります。レコードにロックを掛けられることに加え、ACID互換のトランザクションにも対応しています。

ストレージ

ストレージとは、データを長期で保管・保存しておくための記憶装置。ハードディスクやDVD、CDなどが主なストレージとして挙げられます。PCでは作成データの他、OSやアプリケーションがインストールされています。

DLL

DLL(Dynamic Link Library)とは、他のモジュールからも使用する事が出来る、関数とデータが格納されているモジュールのことです。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2025/04/30 01:57

実現したいこと

漠然とした質問で申し訳ありません。
XAMMP:MariDBのデータをPHPでSQL処理し、円グラフを描かせている。
MariaDBのストレージエンジンはデフォルトのInnoDBであるが、RocksDBに変更して処理速度を上げたい。
参考文献:https://iifx.dev/ja/articles/337163604

発生している問題・分からないこと

既に動作している環境にRocksDBのDLLを組込めば良いらしいが、ネット上の情報を基に色々試しても上手く行きません。
XAMMP環境下で動かしているのが原因かもしれませんが、よく分かりません。
SQLも初心者なので、1処理毎にtemporary table を作成して SSDに書込んでいる状況なので処理が遅いと思います。
本来ならば、SQLプログラムを整理して、できるだけストレージに書込まないように処理をすべきなのでしょうが、どこまでSQL文を複雑化していいのかが分かっていません。
当該プログラムは複数のユーザーが同時に利用する状態なので、
既にインストールされているMEMORYエンジンは使えないような気がします。
INDEXも付与して比較しましたが、付与の仕方が悪いのか変化無し。
先ずは ストレージエンジンを高速化して処理速度が上がるか確認したいです。

該当のソースコード

1200行程度あり、あまりにも長く・お粗末なので記載できません・・・・・ 一部のみ記載致します。 こんなレベルで多数の temp table に書込みながら進めています。 不要になった temp table はできるだけ早く DROP で削除しています。 $stt3 = "DROP table if exists p_data_temp2;"; $result3 = $db->query($stt3); // 2025.03.04 mid = {$machine} 追加 $stt2 = "create temporary table p_data_temp2 as select * from p_data_temp where datetime like '{$where_month}%' and mid = {$machine} order by datetime ASC;"; $temp_table = $db->query($stt2); // 2025.04.29 for speed up /////////////////////////////////////////////////////// $stt2_1 = "create index d_indx on p_data_temp2(datetime);"; $result2_1 = $db->query($stt2_1); ////////////////////////////////////////////////////////////////////////////////// $stt2_2 = "insert into p_data_temp2 select * from p_data_temp where datetime like '{$where_month}%' and mid = {$machine} order by datetime ASC;"; $result2_2 = $db->query($stt2_2); /////////////////////////////////////////////////////////////////////////////////// $sql70 = "DROP table if exists p_data_temp7;"; $result70 = $db->query($sql70); // 2024.02.13 p_data_temp7 作成 p_data_temp2 の datetime をコピーし、1行目を削除する // change for MariaDB & id INT PRIMARY KEY AUTO_INCREMENT $sql71 = "create temporary table p_data_temp7( id INT PRIMARY KEY AUTO_INCREMENT, new_dd varchar(19), mid INT );"; $result71 = $db->query($sql71); //# 2024.02.14 add (new_dd) // 2024.02.28 p_data_temp2 から抽出 に変更 // 2025.02.27 change for MariaDB $sql7 = "insert into p_data_temp7(new_dd, mid) select datetime, mid from p_data_temp2 order by datetime ASC;"; $result7 = $db->query($sql7);

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

ストレージエンジンを ha_rocksdb に指定したところ以下エラー発生
ERROR 1126 (HY000): Can't open shared library 'C:\xampp\mysql\lib\plugin\ha_rocksdb.dll'      
(errno: 2, The specified module could not be found.

MariaDBのコマンドラインにて dll 保存場所を聞くと
C:\xampp\mysql\lib\plugin
と答えるが、lib ディレクトリ自体無し

https://mariadb.com/kb/en/getting-started-with-myrocks/
に従って ha_rocksdb プラグインをインストールしようとしているが
INSTALL SONAME も INSTALL PLUGIN も実施できない。

補足

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問