インベントリのすべて

29のツール、1つのワークスペース。

これはCalíopeに実際に搭載されているワークスペースのタブで、宣伝用のツアーではありません。どれもネイティブのSwiftUIで、Mac、iPad、iPhone、Apple Vision Proで動き、固定・並べ替え・クローズができる専用のタブとして開きます。そのうち27がツールナビゲータにあり、テーブルビルダーと実行計画ビューアはカタログとSQLエディタからその場で開きます。MongoDBのセッションではさらに6つ、RedisやValkeyのセッションでは7つ、CassandraやScyllaDBのセッションでは7つが加わります。下に並べてあります。

SQLエディタ

スキーマを理解する自動補完、SQLリンター、フォーマッタ、そしてスクリプト全体を実行することも、1クエリーずつ進めることもできる複数文のプレーヤー。

ダッシュボード

サーバの鼓動をライブで:接続、毎秒のクエリー数、キャッシュヒット率、稼働時間、毎秒のスロークエリー数を、指定した間隔で取得します。

AIアシスタント

アクティブなデータベースのスキーマに対して、ふつうの言葉で質問します。Apple IntelligenceとOllamaはキーが一切不要で、クラウドのプロバイダには自分のキーを使います。アプリの外に出るのはメタデータだけで、行や認証情報は決して出ません。

カタログ

データベース → テーブル → 列の完全なツリーと、インデックス、外部キー、ビュー、ルーチン、トリガ、イベントそれぞれの専用タブ。

クエリービルダー

ビジュアルな構築ツール:テーブルをキャンバスにドラッグし、列とWHERE条件を選ぶと、組み立てるそばからSQLのプレビューが更新されます。

サーバ情報

グローバル変数とセッション変数、ライブのステータスカウンタ、HDDの使用量。すべてを1つのパネルで見られ、どの一覧の上にもフィルタ欄があります。

プロセスリスト

フィルタ付きの実行中のスレッド、ガイド付きのKILL QUERY / KILL CONNECTION、アイドルまたは処理中のセッションの一括強制終了。破壊的な操作の前には必ず確認があります。

SQLアラート

独自のヘルスチェック:SQLのプローブ、しきい値、演算子を定義し、メトリクスが一線を越えたらアラートを受け取ります。ダッシュボードが気づくずっと前に。

バックアップ

データベース、テーブル、ビュー、ルーチンを細かく選べ、.sqlまたは.sql.gzファイルから復元できます。保持ルール付きのスケジューラ(毎日、毎週、平日、毎月、N時間ごと)、オンデマンドのプリセット、gzip圧縮(任意)。

ユーザ管理

ユーザを作成・変更し、スコープごとに権限を管理し、認証プラグインを切り替えます。GRANT / REVOKEを記憶を頼りに手で書く必要はもうありません。識別子は端から端までエスケープされます。

テーブルメンテナンス

MySQLとMariaDBでは、複数選択したテーブルにCHECK、REPAIR、OPTIMIZE、ANALYZE、CHECKSUMを実行します。PostgreSQLではANALYZEとVACUUM + REINDEX、SQL ServerではUPDATE STATISTICS、DBCC CHECKTABLE、インデックスの再構築、ClickHouseではCHECK TABLEとOPTIMIZE(テーブル全体または1つのパーティション)、Oracle DatabaseではDBMS_STATSによる統計。進行状況とテーブルごとのエラー報告つきです。

データ移行

テーブル、ビュー、トリガ、イベント、ストアドプロシージャを別のサーバへ、または同じサーバの別のデータベースへコピーします。mysqldump | mysqlは不要です。

ER図

ドラッグできるテーブル、編集できる外部キー、PNG / PDFの書き出しを備えた、インタラクティブなリレーション図。古いスキーマも30秒で理解できます。

スキーマ比較

2つのスキーマを並べて比較し、両者をそろえるALTERスクリプトを生成します。マイグレーションを手で書かずに、ステージングを本番に合わせられます。

レプリケーションモニタ

レプリカの状態、レプリケーションの遅延、バイナリログの座標をリアルタイムで更新します。止まったレプリカを見つけ、そのエラーを、マシンにSSHで入らずに読めます。

バイナリログビューア

サーバにシェルで入らずに、バイナリログのイベントを読み、絞り込めます。行単位の変更、トランザクション、GTIDを、Mac、iPad、iPhone、Apple Vision Proから追えます。

スニペット

エンジンごと(MariaDB / MySQL / TiDB / PostgreSQL / SQL Server / ClickHouse / Oracle Database)にまとめた、再利用できるSQLのライブラリ。組み込みのデフォルトをエンジンごとに一度で投入できます。カテゴリ分けされ、検索でき、iCloud同期をオンにすれば、同じApple IDのすべてのMac、iPad、iPhone、Apple Vision Proで同期されます。

クエリーログ

実行したすべてのクエリーの履歴を、ローカルのSQLiteに残します。検索、絞り込み、書き出しができ、iCloud同期はオプトインです。

サーバヘルスモニタ

サーバのメトリクス(接続、毎秒のクエリー数、キャッシュヒット率、実行中の文、ネットワーク、DML)の履歴を、選んだサーバに保存し、Calíopeが開いているあいだバックグラウンドで収集します。

SQLiteエディタ

サーバなしで、ローカルのSQLiteファイルを開いて編集します:構造デザイナ、データグリッド、ハイライトと自動補完つきの「SQLを実行」、編集できるプラグマ、保存/元に戻すのトランザクション、CSV/JSON/SQLの読み込みと書き出し。暗号化されていないデータベースのみ。

DuckDBエディタ

サーバなしで、ローカルのDuckDBファイルを開きます:シーケンス、型、マクロを含むスキーマツリー、データグリッド、行数の上限と停止のある「SQLを実行」、設定、ファイルをその場に置いたままのCSV/Parquet/JSONへのクエリー、データベース全体の書き出しと読み込み、そして別のデータベースの読み取り専用でのアタッチ。

ファイルプレビュー

.md、.sql、.json、.csv、.rtf、.logのための読み取り専用のビューア:レンダリングされたMarkdown、ハイライトされたSQL、インデントし直したJSON、表としてのCSV、文書としてのRTF。ディスク上のファイルが変わると更新され、何も実行しません。

エラーログ

アプリで起きた問題を、日付、デバイス、対処法とともに。オフラインでも使えます。

一括検索と置換

データベースのすべてのテキスト列からテキストを探し、まとめて置換します。何かが書き込まれる前に、各行がどうなるかを確認できます。

レポート

クエリーを、そのパラメータと定義された出力とともに保存します。同じレポートは、手動でもスケジュールでも、何度実行しても同じ結果になります。

レプリケーショントポロジ

どのマシンがプライマリで、どれがレプリカかを宣言すると、グループ全体をひと目で見られます。上にバイナリログとその位置、下にレプリカごとの行があり、遅延、2つのスレッド、GTIDのずれを示します。

スロークエリーログ

しきい値を超えたクエリーについてサーバ自身が記録したもの。このクライアントの分だけでなく、すべてのクライアントの分です。設定はいちばん上に置いてあります。オフのログには見せるものがなく、空の一覧はそのどちらなのかを教えてくれないからです。

さらに2つのコンテキストツール、テーブルビルダー(ビジュアルな作成/変更)と実行計画ビューア(クエリープランのビューア)は、カタログとSQLエディタからその場で開きます。

どのセッションも接続マネージャから始まります:保存したサーバ、グループ、SSL/TLSとSSHトンネル、そしてワークスペースを開くボタン。

ドキュメントデータベース

セッションがMongoDBなら、さらに6つ。

MongoDBの接続は、専用のタブ一式を開きます。ドキュメントデータベースにはSQLエディタもER図もバイナリログもなく、あるふりをしても空の画面ができるだけです。どの値にも型が表示されます。スキーマのないコレクションでは、隣り合う2つのドキュメントに共通のフィールドが1つもないこともあるからです。

MongoDBコレクション

データベース、コレクション、ドキュメントを見て、JSONとして編集します。

MongoDBクエリー

ドキュメントを絞り込むか、集計パイプラインを実行します。

MongoDBインデックス

コレクションのインデックスを調べ、作成し、削除します。

MongoDBサーバ

サーバのステータス、実行中の操作、ユーザとロール。

MongoDBコマンド

サーバにコマンドを送り、その応答を見ます。

MongoDBプロファイラ

しきい値を超えたためにサーバが記録した操作と、各データベースのプロファイラのレベル。

キーバリューストア

セッションがRedisかValkeyなら、さらに7つ。

RedisやValkeyの接続は、専用のタブ一式を開きます。キーバリューストアにはテーブルも列もSQLもないので、これらのツールはキー、サーバ、そしてサーバが実行するコマンドを扱います。

キーブラウザ

キーをプレフィックスごとに、型とTTLつきで見て、それぞれを開いて値を見ます。

サーバパネル

メモリー、ヒット率、期限切れのキー、クライアント、毎秒の操作数に、永続化とpub/sub。

メモリーアナライザ

ブレーキをかけながらすべてのキーをたどり、プレフィックスごとに使っているメモリーを合計します。

スローコマンド

しきい値を超えたためにサーバが記録したコマンドと、そのログを決める2つの設定。

接続中のクライアント

サーバで開いているすべての接続と、それぞれが何をしているか、そして切断する手段。

コマンドコンソール

サーバにコマンドを送り、その応答を見ます。危険なコマンドは拒否されます。

ノードトポロジ

各ノードの役割、バイト単位のレプリケーションの遅延、そしてクラスタではどのスロットを担当しているか。

ワイドカラムストア

セッションがCassandraかScyllaDBなら、さらに7つ。

CassandraやScyllaDBの接続は、専用のタブ一式を開きます。CQLは構文がSQLに似ているだけでほかは何も似ていないので、これらのツールはキースペース、リング、そしてサーバが実行するクエリーを扱います。

CQLクエリー

選んだ整合性レベルで、ページごとにCQLを実行します。トレースとサーバの警告も表示します。

キースペースエクスプローラ

スキーマ内のキースペース、テーブル、ビュー、型、インデックスを、DDLと行のサンプルとともに表示します。

クラスタ

リング内のノード:データセンター、ラック、状態、バージョン、トークンの所有。

ノード

接続しているノード:設定、キャッシュ、スレッドプール、コンパクション、テーブルごとのディスク。

接続中のクライアント

ノードで開いているすべての接続:アドレス、ユーザ、ドライバ、プロトコル、TLS。

トレースとスロークエリー

トレースされたセッションとそのイベント、そしてサーバが遅いと記録したもの。

ロールと権限

ロール、その所属先、持っている権限。作成、付与、取り消しができます。

エンジン別のツール

各エンジンが各ツールから得るもの。

すべてのエンジンがすべてをできるわけではありません。私は空の画面を描くより、そう言うほうを選びます。この表はアプリ自身のコード、つまり各エンジンがサポートを宣言しているものから生成されるので、アプリが変われば表も変わります。各列は互換の製品も含みます(MySQLの下にMariaDBとAurora、PostgreSQLの下にAurora PostgreSQL)。同じコードで動くからです。ツールのインベントリがすでに書かれている場合、セルはそのエンジンが全機能のうちいくつを得るかを数え、注記は欠けているものを名指しします。ツール名からは、機能インベントリの完全な一覧に移れます。

ツールMySQL · MariaDBPostgreSQLSQL ServerClickHouseOracleMongoDBRedisCassandra · ScyllaDBElasticsearch · OpenSearch
リレーショナルデータベースとローカルファイル
SQLエディタ65 / 66不足: Progress of the running query64 / 66不足: Progress of the running query、Execution Profile (SHOW PROFILE)64 / 66不足: Progress of the running query、Execution Profile (SHOW PROFILE)65 / 66不足: Transactions64 / 66不足: Progress of the running query、Execution Profile (SHOW PROFILE) 利用不可 利用不可 利用不可 利用不可
ダッシュボード25 / 26不足: Fullest storage19 / 26不足: Slow queries per second、Bytes sent per second、Bytes received per second、Aborted connections per second、Lock waits per second; +221 / 26不足: Slow queries per second、Bytes sent per second、Bytes received per second、Aborted connections per second、Fullest storage20 / 26不足: Slow queries per second、Aborted connections per second、Data cache hit rate、Lock waits per second、Fullest storage; +123 / 26不足: Slow queries per second、Aborted connections per second、Lock waits per second 利用不可 利用不可 利用不可 利用不可
AIアシスタント17 / 21不足: Send a sample of keys as context、Keyspace schema as context、Open a command in the console、Open in CQL Query17 / 21不足: Send a sample of keys as context、Keyspace schema as context、Open a command in the console、Open in CQL Query17 / 21不足: Send a sample of keys as context、Keyspace schema as context、Open a command in the console、Open in CQL Query17 / 21不足: Send a sample of keys as context、Keyspace schema as context、Open a command in the console、Open in CQL Query17 / 21不足: Send a sample of keys as context、Keyspace schema as context、Open a command in the console、Open in CQL Query 利用不可17 / 21不足: Send the schema as context、Keyspace schema as context、Open the SQL in the editor、Open in CQL Query17 / 21不足: Send the schema as context、Send a sample of keys as context、Open the SQL in the editor、Open a command in the console 利用不可
カタログ21 / 24不足: Materialized views、Keys、Sequences19 / 24不足: Materialized views、Keys、Events、Sequences、Event Scheduler Editor19 / 24不足: Materialized views、Keys、Events、Sequences、Event Scheduler Editor16 / 24不足: Indexes、Triggers、Events、Sequences、Index Editor; +318 / 24不足: Materialized views、Keys、Events、Routine and Function Editor、Trigger Editor; +1 利用不可 利用不可 利用不可 利用不可
サーバ情報12 / 1211 / 12不足: Warning on problem counters11 / 12不足: Warning on problem counters10 / 12不足: Session variables and status、Warning on problem counters11 / 12不足: Warning on problem counters 利用不可 利用不可 利用不可 利用不可
プロセスリスト7 / 11不足: Memory and rows read per query、Unfinished mutations、Cancel a mutation、My own session marked7 / 11不足: Memory and rows read per query、Unfinished mutations、Cancel a mutation、My own session marked6 / 11不足: Cancel long-running queries in bulk、Memory and rows read per query、Unfinished mutations、Cancel a mutation、My own session marked9 / 11不足: Close idle connections in bulk、My own session marked8 / 11不足: Memory and rows read per query、Unfinished mutations、Cancel a mutation 利用不可 利用不可 利用不可 利用不可
SQLアラート8 / 88 / 88 / 88 / 88 / 8 利用不可 利用不可 利用不可 利用不可
バックアップ20 / 21不足: Into schema20 / 21不足: Into schema20 / 21不足: Into schema20 / 21不足: Into schema21 / 21 利用不可 利用不可 利用不可 利用不可
ユーザ管理16 / 25不足: Connection privileges、Role attributes、Simultaneous connection limit、Password expiry date、Role membership; +420 / 25不足: Lock an account、Hourly resource limits、Global privileges、Reload privileges after each change、Denied privileges19 / 25不足: Hourly resource limits、Role attributes、Simultaneous connection limit、Password expiry date、Reload privileges after each change; +114 / 25不足: Lock an account、Hourly resource limits、Connection privileges、Routine privileges、Role attributes; +617 / 25不足: Hourly resource limits、Connection privileges、Role attributes、Simultaneous connection limit、Password expiry date; +3 利用不可 利用不可 利用不可 利用不可
テーブルメンテナンス10 / 12不足: Optimize one partition、Merge into a single part (FINAL)5 / 12不足: Check tables、Table checksum、Optimize one partition、Repair tables、Operation modifiers; +27 / 12不足: Table checksum、Optimize one partition、Repair tables、Keep out of the binary log、Merge into a single part (FINAL)7 / 12不足: Analyze tables、Table checksum、Repair tables、Operation modifiers、Keep out of the binary log4 / 12不足: Check tables、Table checksum、Optimize tables、Optimize one partition、Repair tables; +3 利用不可 利用不可 利用不可 利用不可
データ移行12 / 1212 / 1211 / 12不足: Skip foreign key checks11 / 12不足: Skip foreign key checks11 / 12不足: Skip foreign key checks 利用不可 利用不可 利用不可 利用不可
ER図12 / 1212 / 1212 / 1210 / 12不足: New foreign key、Drag a foreign key with ⌃12 / 12 利用不可 利用不可 利用不可 利用不可
スキーマ比較10 / 13不足: Compare custom types、Compare sequences、Compare packages10 / 13不足: Compare events、Compare sequences、Compare packages9 / 13不足: Compare events、Compare custom types、Compare sequences、Compare packages8 / 13不足: Compare triggers、Compare events、Compare custom types、Compare sequences、Compare packages12 / 13不足: Compare events 利用不可 利用不可 利用不可 利用不可
レプリケーションモニタ7 / 9不足: Per-table replication summary、Replicated tables, one by one 利用不可レプリケーションモニタなし 利用不可レプリケーションモニタなし5 / 9不足: Replica status at a glance、Replication errors、Binary log position、Full status 利用不可レプリケーションモニタなし 利用不可 利用不可 利用不可 利用不可
バイナリログビューア6 / 6 利用不可閲覧できるバイナリログなし 利用不可閲覧できるバイナリログなし 利用不可閲覧できるバイナリログなし 利用不可閲覧できるバイナリログなし 利用不可 利用不可 利用不可 利用不可
実行計画ビューア6 / 10不足: Granules read per table、Cost and bytes per node、Data-skipping index advice、Index advice that reads the predicate6 / 10不足: Granules read per table、Cost and bytes per node、Data-skipping index advice、Index advice that reads the predicate6 / 10不足: Granules read per table、Cost and bytes per node、Data-skipping index advice、Index advice that reads the predicate7 / 10不足: Cost and bytes per node、Index advisor findings、Index advice that reads the predicate7 / 10不足: Granules read per table、Index advisor findings、Data-skipping index advice 利用不可 利用不可 利用不可 利用不可
クエリーログ16 / 1616 / 1616 / 1616 / 1616 / 1614 / 16不足: Open in editor or console、Session history15 / 16不足: Session history15 / 16不足: Session history 利用不可
スニペット11 / 13不足: Open in console、Open in CQL Query11 / 13不足: Open in console、Open in CQL Query11 / 13不足: Open in console、Open in CQL Query11 / 13不足: Open in console、Open in CQL Query11 / 13不足: Open in console、Open in CQL Query9 / 13不足: Sample snippets per engine、Restore samples、Open in console、Open in CQL Query12 / 13不足: Open in CQL Query12 / 13不足: Open in console 利用不可
テーブルビルダー26 / 28不足: Skip indexes、Table keys20 / 28不足: Unsigned、Column character set and collation、FULLTEXT and SPATIAL indexes、Skip indexes、Storage engine; +320 / 28不足: Unsigned、Column character set and collation、FULLTEXT and SPATIAL indexes、Skip indexes、Storage engine; +319 / 28不足: UNIQUE constraints、Automatic numbering、Unsigned、Column character set and collation、FULLTEXT and SPATIAL indexes; +419 / 28不足: Unsigned、Column character set and collation、FULLTEXT and SPATIAL indexes、Skip indexes、ON UPDATE action; +4 利用不可 利用不可 利用不可 利用不可
サーバヘルスモニタ27 / 2725 / 27不足: Network traffic chart、Statements by verb chart25 / 27不足: Network traffic chart、Statements by verb chart24 / 27不足: Cache hit rate chart、Statements by verb chart、History storage server25 / 27不足: Statements by verb chart、History storage server 利用不可 利用不可 利用不可 利用不可
クエリービルダー14 / 15不足: Tables from other schemas of the same database14 / 15不足: Tables from other schemas of the same database15 / 1513 / 15不足: Tables from other schemas of the same database、JOIN from foreign keys14 / 15不足: Tables from other schemas of the same database 利用不可 利用不可 利用不可 利用不可
SQLiteエディタ29 / 2929 / 2929 / 2929 / 2929 / 29 利用不可 利用不可 利用不可 利用不可
DuckDBエディタ38 / 3838 / 3838 / 3838 / 3838 / 38 利用不可 利用不可 利用不可 利用不可
ファイルプレビュー20 / 2020 / 2020 / 2020 / 2020 / 2020 / 2020 / 2020 / 20 利用不可
エラーログ14 / 1414 / 1414 / 1414 / 1414 / 1414 / 1414 / 1414 / 14 利用不可
一括検索と置換14 / 1414 / 1414 / 1414 / 1414 / 14 利用不可 利用不可 利用不可 利用不可
レポート19 / 22不足: MongoDB collection and shape、Redis key scan、CassandraとScyllaDBのCQLレポート19 / 22不足: MongoDB collection and shape、Redis key scan、CassandraとScyllaDBのCQLレポート19 / 22不足: MongoDB collection and shape、Redis key scan、CassandraとScyllaDBのCQLレポート19 / 22不足: MongoDB collection and shape、Redis key scan、CassandraとScyllaDBのCQLレポート19 / 22不足: MongoDB collection and shape、Redis key scan、CassandraとScyllaDBのCQLレポート17 / 22不足: Redis key scan、CassandraとScyllaDBのCQLレポート、Stop a running report、Script with preparation、Schedule a report17 / 22不足: Query text、MongoDB collection and shape、CassandraとScyllaDBのCQLレポート、Script with preparation、Schedule a report18 / 22不足: MongoDB collection and shape、Redis key scan、Script with preparation、Schedule a report 利用不可
レプリケーショントポロジ12 / 13不足: Topology the server declares 利用不可レプリケーションモニタなし 利用不可レプリケーションモニタなし1 / 13不足: Choose the group、Declare a replication group、Edit, pause or delete a group、Members whose connection was deleted、Polling the whole group; +7 利用不可レプリケーションモニタなし 利用不可 利用不可 利用不可 利用不可
スロークエリーログ17 / 18不足: Hide Calíope's own14 / 18不足: Where the log writes、Recorded executions、Empty the log、Hide Calíope's own11 / 18不足: Turn the log on or off、Slow query threshold、Where the log writes、Recorded executions、Empty the log; +216 / 18不足: Where the log writes、Variables around the log12 / 18不足: Turn the log on or off、Where the log writes、Variables around the log、Empty the log、Reset statistics; +1 利用不可 利用不可 利用不可 利用不可
MongoDB
MongoDBコレクション 利用不可 利用不可 利用不可 利用不可 利用不可13 / 13 利用不可 利用不可 利用不可
MongoDBクエリー 利用不可 利用不可 利用不可 利用不可 利用不可10 / 10 利用不可 利用不可 利用不可
MongoDBインデックス 利用不可 利用不可 利用不可 利用不可 利用不可4 / 4 利用不可 利用不可 利用不可
MongoDBサーバ 利用不可 利用不可 利用不可 利用不可 利用不可8 / 8 利用不可 利用不可 利用不可
MongoDBコマンド 利用不可 利用不可 利用不可 利用不可 利用不可7 / 7 利用不可 利用不可 利用不可
MongoDBプロファイラ 利用不可 利用不可 利用不可 利用不可 利用不可9 / 9 利用不可 利用不可 利用不可
Redis
キーブラウザ 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可20 / 20 利用不可 利用不可
サーバパネル 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可12 / 12 利用不可 利用不可
メモリーアナライザ 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可10 / 10 利用不可 利用不可
スローコマンド 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可15 / 15 利用不可 利用不可
接続中のクライアント 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可12 / 12 利用不可 利用不可
コマンドコンソール 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可15 / 15 利用不可 利用不可
ノードトポロジ 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可13 / 13 利用不可 利用不可
Cassandra · ScyllaDB
CQLクエリー 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可5 / 5 利用不可
キースペースエクスプローラ 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可4 / 4 利用不可
クラスタ 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可3 / 3 利用不可
ノード 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可4 / 4 利用不可
接続中のクライアント 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可2 / 2 利用不可
トレースとスロークエリー 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可4 / 4 利用不可
ロールと権限 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可 利用不可5 / 5 利用不可