ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

DB

【DB】ClickHouse で特定のテーブルが存在するかどうかを確認

ClickHouse で特定のテーブルが存在するかどうかを確認する方法をここにメモします。 system.tables から検索 クエリ 結果が1件以上返ってくれば存在します。 SELECT database, name, engine FROM system.tables WHERE database = '{{__database__}}' AND na…

【SQLite3】縦横を変えて表示

SQLite3 で縦横を変えて表示する方法をここにメモします。 [.mode column] を使う(CLI) [.mode line] を使う(CLI) 出力例 [UNION ALL] を使う(SQLクエリ内で縦変換) 出力例(縦表示) [.mode json] を使う(CLI) 出力例 [.mode column] を使う(CLI)…

【SQLite3】コマンドから直接 .mode json の出力を得たい場合について

sqlite3 コマンドラインツールから直接 [.mode json] の出力を取得する方法をここにメモします。 方法 1: sqlite3 コマンドに直接渡す コマンド ポイント 方法 2: echo コマンドで .mode json を実行 ポイント 方法 3: sqlite3 の対話モードで実行 コマンド …

【SQLite3】テーブルのカラムを確認する方法

SQLite3でテーブルのカラム(列)を確認する方法をここにメモします。 [.schema] コマンド(SQLiteの対話モード) 例 [PRAGMA table_info] を使う 例 出力 sqlite_master テーブルを使う 例 [.schema] コマンド(SQLiteの対話モード) SQLite の対話モード(CLI…

Google Chrome ブラウザに保存されているクッキー情報を確認

mac で Google Chrome ブラウザに保存されているクッキー情報を確認してみました。 ここにメモを残します。 クッキーの場所 クッキーの格納場所は以下にありました。 % sudo find ~/Library/Application\ Support/Google/Chrome/Default/ -name Cookies /Use…

【memorystore】memorystore と cloudrun の通信について

memorystore と cloudrun の通信を vpc を使用しないで使うことはできないかダメもとで調べてみました。 (結果ダメでした。) なぜVPCが必須なのか? Memorystore のネットワーク要件 Cloud Runの接続要件 推奨される構成 サーバーレス VPC アクセスコネクタ…

【Firestore】カウントアップする ID を返す API 作成(失敗編)

以前考案した Firestore でカウントアップする ID を返す API ですが、うまくいかなかったので、その時のメモをここに残します。 背景 Firestore の分散カウンタについてメモ 以前考えていたもの 処理の流れ 図 説明 問題点 背景 Firestore のドキュメントへ…

【Firestore】Firestore で高負荷なシステムでオートインクリメントIDを採番

Firestore で高負荷なシステムでオートインクリメントIDを採番する方法をここにメモします。(失敗例も含め ...) 負荷テスト1 テスト内容 条件 cloud function Firestore コード 結果 次の案 再度負荷テスト2 分散カウンターの概念 カウンターシャード IDの…

【Memorystore】カウントアップする ID を返す API 作成

Cloud Run で Memorystore(Redis)を利用してカウントアップする ID を返す API を構築する方法について、手順を簡単にまとめてみました。 Memorystore(Redis)のインスタンスの作成方法 手順 インスタンス画面の行き方 インスタンスの設定入力 Cloud Run …

【lua】redis でメモリ使用量の大きいキーを探す

redis でメモリ使用量の大きいキーを探したときに使用したスクリプトをここにメモします。 redis と lua について redis は、サーバー上で lua スクリプトを実行させることができます。 実装 コマンド $ redis-cli --eval mem_usage.lua | head -200 スクリ…

【clickhouse】clickhouse で連続してクエリを実行したい場合

clickhouse で連続してクエリを実行しようとしたところ、処理が失敗してしまったのでその時の回避方法をここにメモします。 エラー 以下のように、2つのクエリをセミコロンで繋げて処理するとエラーになってしまいます。 :) select 1; select 2 Syntax error…

【SQLite3】複数レコード削除

ある DataBase のテーブルに対し id のリスト (1、3、5、7、9、11) を持つすべてのレコードを削除する方法を調べました。 DELETE FROM table WHERE id IN (1, 3, 5, 7, 9, 11)

【BigQuery】python で BigQuery のテーブルを削除

python で BigQuery のテーブルを削除する方法をここにメモします。 from google.cloud import bigquery import traceback try: table_id = "{{__project_id__}}.{{__dataset_id__}}.{{__table_name__}}" client.delete_table(table_id, not_found_ok=True) …

【Mysql】「Illegal mix of collations」というエラーに出会う

Mysql でダンプファイル を生成しようとしたら「Illegal mix of collations」というエラーが表示されました。 その時調べたことをここにメモします。 エラー発生時 「Illegal mix of collations」とは 解決策 調査時のコマンドのメモ 関連 エラー発生時 パス…

【MySQL】mysqldump のオプションをまとめてみました

たまに使う mysqldump ですが、オプションの指定方法が覚えられないのでここにメモします。 オプション よく使うオプション たまに使うオプション コマンド(サンプル) ダンプ データベース テーブル 複数データベースを指定してダンプ データベース 定義の…

【Mysql】v5.7 -> v8.0 バージョンアップ時のパラメータグループについて

AWS RDS にて MySQL v4.5 -> v8.0 に切り替える際に v8.0 のパラメータグループを作成する必要があります。 今回は、MySQL v5.7 / v8.0 の差分を比較し8.0用のパラメータを検討します。 RDSパラメータグループとは default.mysql8.0 と default.mysql5.7 の…

【MySQL】AWS の RDS で作成した DB の作業の切り戻し方法検討

AWS の RDS で作成した DB の作業の切り戻し方法を調べてみました。 切り戻し方法検討 スナップショットから復元 RDS のスナップショットメニューを開いて、自動スナップショットを確認する。 「RDS」 -> スナップショット -> (直前に保存したスナップショッ…

【mysql】5.7 -> 8.0 アップグレードで SSL モードを無効にして接続

Mysql を 5.7 から、8.0 にアップグレードしたところ、作業後に同様の接続方法を試みたところ以下のエラーになり接続ができませんでした。 mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2026 (HY000): SSL conn…

【postgresql】カラム名からテーブルを検索する方法

information_schema.columns テーブルはカラム数が多いので絞って表示します。 select table_name, column_name from information_schema.columns where column_name ='カラム名';

【Google】BigQuery について

BigQuery の機能や用途などの基礎的な知識について調べてみたのでここにメモします。 BigQuery 特徴・メリット データ処理が高速 各種ツールとの連携 利用コスト 技術的なハードルが低い GA4 との連携が可能 利用方法 「BigQueryの無料トライアル」 データ分…

【Google】GA4 と BigQuery 連携

GA4 と BigQuery 連携について調べたことをここにメモします。 BigQuery GA4 と BigQuery 連携 できること 費用(無料枠) ストレージへの保存費用 クエリの実行サイズに応じた費用 設定手順 BigQueryでプロジェクトを作成 BigQuery APIの有効化 GA4 を BigQue…

【DB】データベースのトレンドを調べてみました

現状のデータベースのトレンドを調べたので、ここにメモします。 参考 ランキング db-engines.com 評価 db-engines.com ランキング 2023/04/19時点のものです。 データベース全体 RDBMS Key-value Stores ドキュメントデータベース Graphデータベース 時系列…

【redis】redis-cli でメモリ使用量の多いキーを探す

reids でメモリ使用量の多いキーを探す方法を調査したので、ここにメモします。 コマンド --bigkeys キーの型によって出力される情報が異なるようです。(hash ならフィールド数など) $ redis-cli --bigkeys --memkeys [MEMORY USAGE] で調べたバイト数が表示…

【redis】dump.rdb ファイルからリストア

redis のバックアップデータからのリストアする方法をここにメモします。 バックアップ dump.rdb 作成 dump ファイル移動 リストア redis 停止 dump.rdb コピー redis 起動 バックアップ dump.rdb 作成 以下のコマンドで、dump ファイルが生成されます。 $ r…

【redis】キーの削除

redis のキーの削除方法をここにメモします。サンプルキー登録 $ redis-cli 127.0.0.1:6379> 127.0.0.1:6379> hset sample sample_key sample_val (integer) 1Key の確認 127.0.0.1:6379> keys sample 1) "sample" 127.0.0.1:6379> hgetall sample 1) "sampl…

【Clickhouse】 query パラメータ

query パラメータを使用すると以下のように SQL を実行することができます。 $ clickhouse-client -h "localhost" --query="{{__SQL__}}"

【MySQL】データベースから何処かにあるテーブルのカラム名を検索するクエリ

何処かのテーブルにあるはずのカラムを検索する場合、以下のクエリを実行します。 SELECT table_name, column_name FROM information_schema.columns WHERE column_name = '検索したいカラム名' AND table_schema = '検索したいデータベース名';

【Elasticsearch】ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.

以下のコマンドを実行後にエラーで困ったので対応方法をここにメモします。 $ docker run --name es01 --net elastic -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.5.1 ・ ・ ・ ERROR: [1] bootstrap checks failed. Yo…

MeiliSearch を使ってみました

MeiliSearch を触る機会があったのでここにメモします。 環境 Ubuntu: 22.04.1 LTS meilisearch: v0.29.1 MeiliSearch とは? 高速なオープンソースの検索エンジン、またはRESTベースの検索APIです。 github.com Rust で実装されているようで、メイリサーチと…

SchemaSpy を使ってテーブル定義書を作成してみる

ドキュメントのないアプリケーションを引き継ぐことが多く、最近はデータベースからER図を作ってドキュメントの整備を行なってます。 今回は、SchemaSpy を使うとその作業がとても楽になったためここにメモを残します。 SchemaSpy とは 使い方 事前準備 java…