Elasticsearchクラスタ保護のためのINFINI Gatewayを用いた不正クエリブロック手法

本記事ではINFINI Gatewayを使用してElasticsearchクラスタに対して不正なクエリをブロックする手法について解説します。この手法はOpensearchやEasysearchにも適用可能です。 問題の背景 ElasticsearchのOOM(メモリ不足)問題の多くは、以下の2種類のクエリパターンに起因しています: クラスタの処理能力を超えるクエリスループット メモリを過剰に消費する不正 ...

6月20日 21:27 投稿

MySQLにおける大規模データ処理の最適化手法:1000万件レコードの高速集計実践

MySQLで1000万件を超えるデータを扱う場合、適切な設計が欠かせません。本稿では、既存スキーマの制約下でクエリ性能を劇的に改善する手法を解説します。 テスト環境構築 以下のスキーマで1500万件のトランザクションデータを生成します。 CREATE TABLE `transactions` ( `transaction_id` INT NOT NULL AUTO_INCREMENT, `customer_id` INT DEFAULT NULL, `transact ...

6月18日 20:36 投稿

MySQLクエリ性能最適化の実践手法

環境設定 Linuxサーバー:8GBメモリ MySQL 8.0.20 事前準備 テーブル設計 CREATE TABLE `orders` ( `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主キー', `order_code` VARCHAR(255) COMMENT '注文番号', `item_code` VARCHAR(255) COMMENT '商品コード', `item_name` VARCHAR(255) COMMENT '商品名', `client_code` VARCHAR(255) COMMENT '顧客コード' ...

6月5日 21:47 投稿

MySQLの基本概念と最適化

内部結合と外部結合 完全結合:2つのテーブルを結合する際、両方のテーブルで完全に一致する結果セットのみを保持します 左結合:2つのテーブルを結合する際、左側のテーブルのすべての行を返します。右側のテーブルに一致するレコードがなくても同様です。 右結合:2つのテーブルを結合する際、右側のテーブルのすべての行を返します。左側のテーブルに一致するレコードが ...

5月19日 11:15 投稿

SQL Serverにおけるビューインデックスの実装手法

SQL Serverのビューは保存されたT-SQLクエリであり、仮想テーブルとしてクエリを簡素化しセキュリティ層を追加します。ただし、インデックス作成には物理的実体が必要なため、標準ビューへの直接的なインデックス付与は不可能です。 インデックス付きビューの特性 SQL Server 2000以降で利用可能なインデックス付きビューは、データベース内に実体化(マテリアライズ)さ ...

5月16日 20:33 投稿

MySQLにおけるデータフィルタリングと高度なクエリ操作

重複排除によるデータ抽出(DISTINCT) 結果セット内の重複を排除して一意の値のみ取得するには、DISTINCTキーワードを使用します。 SELECT DISTINCT column_a, column_b FROM data_table; 取得行数の制限(LIMIT および OFFSET) 大量のデータから特定の範囲のレコードを取得する場合、LIMITとOFFSETが有効です。初期位置は0から始まります。 SELECT * FROM data_table ...

5月16日 17:27 投稿