MySQLのコネクション関連

接続数関連

現在の接続数
show status like 'Threads_connected';
最大接続数
show global variables like 'max_connections';

接続時間

非対話式

アプリケーションやスクリプトなど
デフォルトは28800(8時間)

show global variables like 'wait_timeout';
対話式

MySQL Workbenchやコマンドラインツールなど
デフォルトは28800(8時間)

show global variables like 'interactive_timeout';

コネクション関連

30分以上接続しているコネクションを抽出

但し、環境によっては必要な場合あるため、必ずuserは確認すること!(ex. rdsadmin)

SELECT * FROM information_schema.PROCESSLIST WHERE time >= 1800 ORDER BY time;
不要なコネクションを止める

上のコマンドの実行結果で得たID列の値を入れて殺る

kill ID;
processlistとinformation_schema.PROCESSLISTの違い
項目 processlist information_schema.PROCESSLIST
確認方法 show processlist select * from information_schema.PROCESSLIST
詠唱文表示数 100文字まで 全て
スレッドの状態 Stateカラムで簡易管理 Stageカラムで詳細管理
優先度 非表示 表示有
用途 ぱぱっと 詳細確認

その他

接続が常にmax_connectionのまま

SLEEPが動いてないのでは?
→基本はそんなことない(特殊設定していたらしらないけど)。
 例えば、コネクションプールみたいなの利用していたら、切れたらまた接続しにやってくる。
 そのため、コネクション切断しても再度接続して常に満員御礼状態になる。
→max_connectionsの設定値を増やすか、接続元の接続数を減らす必要がある。

接続数エラーはクライアント側でも分かるの?

分からない場合がある。
MySQL5.7に対して、A5:SQL Mk-2で接続するとエラーと表示されたが、MySQL Workbench 8.0ではエラーとしか表示されなかった。
そのため、利用するクライアントの種類や、"バージョン"によってはエラーが表示されないかもしれない。
(上記ケースは、MySQL Workbench8.0では接続してもエラーになる古いMySQL5.7だったというオチな気がしている)

show statusとshow global variablesの違い
  • show status:現在値を閲覧するコマンド
  • show global variables:設定値を閲覧するコマンド

証明書の登録方法

随時追加予定

事前準備

  1. 追加したい証明書を取得する
  2. どこかに配置する(ex. {JAVA_HOME}/lib/security) ※1

※1 導入するところ付近なら何追加したのか直感的に分かりやすい。
  もしくはpemなど管理しているフォルダとか。

Java

  1. 管理者権限でコマンドプロンプトを実行
  2. コマンドを実行 ※2
  3. パスワードを聞かれるので、changeit(※3)と入力しEnter
  4. 登録する?と聞かれるので、yキーを入力しEnter

※2 以下のコマンドを実行する。

keytool -import -trustcacerts -file "配置した証明書" -keystore "{JAVA_HOME}/lib/security/cacerts" -alias hoge
  • cacertsはJavaの証明書を管理しているデフォルトのファイル名
  • hogeとしている箇所はcacertsに登録する名前なので、分かりやすい名前を付けてあげること

※3 デフォルトに changeit というパスワードが設定されている。
  パスワードの値で「変えろ」と示唆してくれてる。

GIt for Windows

  1. c:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crtをca-bundle-custom.crtなどコピーする。
  2. コピーしたファイルを開き、追加したい証明書の内容を末尾に貼り付け保存する。
  3. 管理者権限でコマンドプロンプトを実行し、証明書のディレクトリに移動する。
  4. コマンドを実行する。
git config --global http.sslCAInfo ca-bundle-custom.crt

MySQL8.0にアップデートしたら一部環境で通信エラーが発生する

事象

MySQL8.0にアップデート
実はしたら、一部環境でのみ通信エラーが発生する。
発生する箇所はWindowsクライアントであったり、Linuxのサーバーであったり。

原因(の一つ)

クライアントが古いから

対応方法

  • MySQL Workbenchなどクライアントをバージョンアップする
  • LinuxWindowsサーバーにインストールしているクライアントをバージョンアップする

備考

  • MySQL5.x系なら問題無かったので今まで爆発していなかったパターンと思われる。
  • 季節柄発生しやすいかなと思い記載してみた。
  • とはいえ、当然一例でありそれ以外の場合も当然あるかとは思う。

 が、偶発的に発生している場合はこのパターンが多い気がする。

VSCodeの画面が英語で表示される

事象

VSCodeの画面がいきなり日本語から英語になってしまった。
拡張確認したが、Japanese Language Packは導入済のままであった。

対応方法

  1. コマンドパレット(ctrl + shift + p)を呼び出し
  2. Configure Display Languageと入力
  3. 日本語(ja)を選択し、再起動

リポジトリ製品 Metanoah

メタデータ管理を始めようと考えている企業のスモールスタートによさげ

システム環境概要

なお、本書内には当システム環境構成図や、実際の画面サンプル有
www.it-innovation.co.jp

Amazon Kinesis シリーズ

簡易比較表

名称 主目的
Video Streams ストリーム動画の保存、再生、分析
Data Streams ストリームデータを高速に加工、配信
Data Firehose ストリームデータの配信
Data Analytics ストリームデータの分析

各機能の主な機能およびキーワード

Amazon Kinesis Video Streams
  • 取込(カメラ、ゲートウェイ)
  • 保存(フラグメント、チャンク、フレーム、暗号化)
  • 再生(ライブ/オンデマンド再生、ビューアー)
  • 分析(リアルタイム/バッチ処理APIAmazon Rekognition Videoとの連携)
Amazon Kinesis Data Streams
  • プロデューサーからのデータを一時保存(ストリーム、シャード、データレコード)
  • コンシューマーがデータを要求し取得することでデータを配信
Amazon Kinesis Data Firehose
  • 配信先に応じて配信ストリームを作成
  • プロデューサーからデータを取得し、データを配信
  • 配信時にデータ圧縮、暗号化、フォーマット変換を簡単に可能
Amazon Kinesis Data Analytics
  • Kinesis Data Streams / Data Firehose がデータソース
  • SQLJava, Pythonなどを用いてリアルタイムにデータ分析
  • 分析結果を後続処理へ連携

データ基盤関連の本(2024年4月時点)

随時更新中

設計

エンジニアのためのデータ分析基盤入門

まずはここからスタートと言える一冊、神本
どれか一冊勧めてと言われたらこの本を推します

実践的データ基盤への処方箋

データ分析基盤入門で書いている内容を更に掘り下げて書いてくれている

DX時代のデータマネジメント大全

色々広範囲に実際の製品のことを書いてくれている
移行などについても触れている
広範囲をカバーしているため内容は薄くなっているが、色々な気づきが得られる一冊

大規模データ管理

オライリー本としてはかなり読みやすかった。
内容もうまく纏まっており、内容も理解しやすかった。
上記導入本読んだ後に読むと理解深まると思う。

データ指向アプリケーションデザイン

ちょっと私には難しすぎた…。
他のにない内容としては、構築後のインデックスの考え方など他の本には書いてない観点も多い。
とはいえ、それなりに頭知識入った上で読まないと辛いというのが正直なところ。

具体例

データ活用システム開発ガイド

具体的にどんな実装して実現できるかを記載してくれている
GCPベースなところが多い
APIゲートウェイなどデータを収集する際のパターンにも書かれている

データ基盤の設計パターン

データ活用システム開発ガイドはGCPベースで書かれているが、
こちらはAWSやAzureで実装しているパターンで記述してくれている
お金あるなら両方持っていて損はないと思う

データの考え方

仮説のつくりかた 多様なデータから新たな発想をつかめ

データ分析失敗事例集

考え方というより、どういう役回りをするかさせるかみたいなところが多いかも。
リソースマネジメントというかPM的な面が強い本かも。
一方、プレイングマネージャーする人は読んでおいた方がいいかと。

データ と デザイン

未購入
レビュー見たところ、難解で賛否両論ある模様

AWS

AWSの薄い本Ⅲ データ分析基盤を作ってみよう 〜設計編〜

(今のところ)boothでのみ販売
AWSに限らず全般について書いてくれている
まず軽く読み始めたい時に読む本
booth.pm

AWSではじめるデータレイク

構築するためのノウハウというより、そのための前提知識的立ち位置
AWSの各種コンポーネントや、それが何故必要か?などを解説してくれている

AWS認定 データ分析・専門知識

上記内容を更に詳しく描いた本
この試験範囲の内容を学習したいための本としても最適

エンタープライズアーキテクチャ

デジタルアーキテクチャー設計・構築ガイド

エンタープライズアーキテクチャ的な面が強い。
内容的には導入編、非IT向けを対象とした位の内容。
基盤構築だけでなく、プロジェクトの進め方、組織論などにも触れている。

ITアーキテクチャのセオリー

MDMなどを踏まえた企業システム全体の設計論を書かれている
エンタープライズアーキテクチャについても触れている
上で紹介した最低1, 2冊位はインプット後に読んだ方が良いと思う

その他

ビックデータ分析・活用のためのSQLレシピ

2017年なので少し古いかも

データ分析の教科書

(一応掲載するが、)あまり評判よくない本の模様
どんな用語や考え方があるのかまず知るのにはいい本なのかも