オープンソース

サーバ構築のデージーネットTOP > OSS情報 > OSS紹介 > Adminer〜OSSのデータベース管理〜

Adminer〜OSSのデータベース管理〜

MySQLのデーターベース管理といえば、phpMyAdminが有名ですが、AdminerはphpMyAdminを強く意識して開発されています。ここでは、Adminerを利用することで、どのようなことができるのか。どのようなところが優れているのかを紹介します。

Adminerとは

Adminerは、PHP で作成されたフル機能のデータベース管理ツールです。ライセンスはApache License version 2 またはGPLv2で公開されています。phpMyAdminとは異なり、1つのファイルでデータベースの管理ができるソフトウェアです。

ログイン画面

Adminerの特徴

Adminerは次のような特徴を持つソフトウェアです。

使いやすいインターフェース

Adminerのインターフェースは非常にシンプルでphpMyAdminに比べ多くの機能が備わっています。またAdminerは複数の画面テーマが用意されており、使いやすさや好みに合わせてテーマを適用することができます。公式サイトには、次のようにテーマの一覧があります。

画面テーマ

テーマの一覧の多くは、adminer.cssというファイルへのハイパーリンクになっています。このadminer.cssをadminer.phpと同じディレクトリに保存するだけで、テーマを適用することができます。

対応するデータベースが豊富

データベースを管理するOSSは、単一のデータベースにしか対応していない場合が多くあります。phpMyAdminではMySQL、phpPgAdminではPostgreSQLなど、その他のデータベースを扱うことはできません。Adminerはその他のデータベース管理ソフトウェアとは異なり、様々なデータベースに対応しています。

データベース

Adminerで対応しているデータベースは下記です。

  • MySQL
  • SQLite
  • PostgreSQL
  • Oracle(beta)
  • MSSql(beta)
  • Firebird(alpha)
  • SimpleDB
  • MongoDB
  • ElasticSearch(beta)
  • ClickHouse(alpha)

様々なデータベースに対応していますが、対応状況が、アルファ版であったりベータ版であるものが多くあります。MongoDBやElasticSearchでは、データの追加はできるが削除・更新や検索ができないため現段階では利用が難しい状態です。

単一のphpファイルで動作する

Adminerは、1つのファイルをウェブサーバに設置することで動作します。ファイルサイズも約500kBと軽量で、内部的にプログラムコードが最適化されているため、処理も早く行うことができます。phpMyAdminに比べ、平均で28%も高速に動作することが可能です。

プラグイン機能が豊富

Adminerでデータベースを管理するためには、必ず認証が必要になります。MySQLやPostgreSQLは、データーベース内に認証の機能があるため、この認証機能を利用します。しかしSQLiteなどの認証機能がないデータベースの場合、Adminerのプラグインを利用し認証を行います。Adminerは認証のプラグインの他にも設計の切り替えを行うプラグインや、すべてのクエリをSQLファイルに記録するプラグインなど多く存在します。また自分でプラグインを作成することも可能です。

多言語対応

Adminerは日本語の他にも、韓国語や中国語など42の言語に対応しています。

多言語対応

Adminerの機能

Adminerには以下の機能があります。

データベースの作成

Adminerはリンクを選択するだけでデーターベースを作成することができます。またデータベースの作成する際には、データベースの名前の他、言語情報も選択することができます。

データベースの作成

テーブルの作成

テーブルを作成する際に、InnoDBやMyISAM等のエンジンの変更やカラムの既定値やコメントの追加などの基本的なMySQLテーブルの作成に必要な機能が備わっています。またインターフェースとして、カラムの順序の変更やカラムとカラムの間への追加などのユーザに便利な機能も存在しています。テーブルの他にビューを作成することもできます。

テーブルの作成

レコードの追加や検索

レコードの追加はテーブルのカラム毎に入力のフォームが存在し、カラム毎に値を入力できるようになっています。また入力時に適用する関数を選択することもできるようになっています。検索画面では、カラムと比較演算子等を選択し、条件を絞って行うこともできます。また検索結果に適用する関数を選んだり、結果の最大数を指定することもできるようになっています。

レコードの追加や検索

SQLクエリの実行

Adminer の検索機能では、単一テーブル内の検索しか行うことができません。その代わりに複雑なSQL クエリを実行するための、インターフェースが用意されています。

エクスポートとインポート

Adminerでは、データベースやテーブルをエクスポート・インポートすることができます。エクスポートはSQL形式の他、CSVやTSV形式で行うことができ、インポートは、SQLの形式のみで行うことができます。

phpMyAdminとの違い

  • サポートされるデータベース

    phpMyAdminはサポートしているデータベースがMySQLのみに対し、AdminerはMySQLはもちろん、SQLiteやPostgreSQLなど複数のデータベースに対応しています。

  • ファイルサイズ

    Adminerは、1つのファイルで動作するのに対し、phpMyAdminは、膨大なデータベースでも表示/編集できるようになっているためファイルサイズが大きく非常に重いといわれています。処理の速さに関してもAdminerの方が高速に動作します。

  • 操作性

    Adminerは、シンプルな画面構成のためphpMyAdminに比べて操作がわかりやすく、テーブルを作成する場合に、自由な場所にカラムを追加することができます。またテーブルの情報を一斉に更新することも可能です。

  • プラグインによるカスタマイズが可能

    phpMyAdminはプラグインができないのに対し、Adminerは数多くのプラグインが用意されています。

Adminerの用途

Adminerの仕様方法として以下があります。

複数のデータベース管理

Adminerは、MySQLやPostgreSQLなどにも対応しているため、複数のデータベースを管理することができます。MySQLの管理のためにphpMyAdminを利用することや、PostgreSQLを管理するためにphpPgAdminを利用するという運用の手間を省くことができます。またSQLite は、OSSのWEB管理ツールが、ほとんど存在しないためAdminerは非常に便利です。

用途が異なる環境での利用

Adminerは、軽量でインストールが簡単という特徴があります。これは、用途の異なるデータベースの管理インターフェースを複数用意したい場合に、利用することができます。例えばホスティング環境で、テナントごとにデータベースを用意する場合など、データベースのインスタンスと共にAdminerも簡単に増やすことができます。

また、リモートで接続できないSQLiteなどのデータベースを管理する場合、環境ごとに管理インターフェースが必要になります。このような場合も、Adminerを利用することで設定が簡単に可能になります。

デージーネットのAdminerに対する取り組み

デージーネットでは、Adminerをより便利に利用できるようにするため、わかりにくい日本語の修正やプラグインの使い方の調査を検討しています。またお客様の用途に合わせ、Adminerを利用したシステムをご提案いたします。Adminerを使用したシステム構築サービスを提供したお客様には、導入後支援サービスとして、Open Smart Assistanceを提供しています。これは、Adminer単体のサポートではなく、Linuxなどを含むシステム全体に対するサポートです。Open Smart Assistanceでは、Adminerにバグがあった場合には、回避方法の調査、コミュニティへの連絡による改善促進といったサポートを受けることができます。

Adminer〜OSSのデータベース管理〜の先頭へ