清水理史の「イニシャルB」
NASでも動く! Excel感覚で使えるウェブデータベース「Baserow」と「NocoDB」
2022年8月8日 06:00
ローコードプラットフォームの一種として、「Airtableの代替(Alternative)」をうたうサービスが増えてきた。
Excelライクにデータベースを扱えるサービスで、KintoneやPower Appsよりもカジュアルな簡易ウェブアプリ開発環境といったところだ。
中でもオープンソースとして無料で提供される「Baserow」と「NocoDB」はNASでも動くため、個人や小規模オフィスの業務効率化に一役買う可能性がある。実際にテストしてみた。
Excelライクなウェブデータベース
顧客名簿や売上管理、日報、経費精算などの業務に、Excelを使っているというケースは、小規模なオフィスなら多いだろう。
今回取り上げるBaserowやNocoDBは、こうした業務をウェブ上のデータベースで実現するサービスだ。
実質的には、MySQLやPostgreSQLなどのデータベースにデータを保存するサービスだが、見た目はExcelのような表データとして手軽に扱えるようになっていて、データ入力用のフォームなども手軽に作成できる。
Excelというよりは、ずばりAccessと言った方が適切かもしれないし、クラウドに馴染み深いなら、GoogleスプレッドシートとGoogleフォームを合わせたようなサービスと考えた方が分かりやすいかもしれない。
先行するサービスとして、海外で注目されつつある「Airtable」が挙げられるが、BaserowやNocoDBも、現時点ではAirtableほど多機能ではないもの、両者とも「Airtable Alternative(代替)」を大々的にうたっている。
ちなみに、国内では有名な「Kintone」ほど多機能ではなく、あくまでも表計算が主体で、フォームはおまけ程度だ。Excelを使った業務を改善したいが、Excel的な操作感は維持したいというイメージだろうか。
NASで動く
こうしたサービスは、いずれもクラウド上で提供されるのが一般的で、フリープランを利用すれば無料で利用することができる。データ数が少なければ、こうしたクラウドサービスを利用する方が効率的だ。
Baserow
クラウドとオンプレの両方を利用可能なサービス。英語のみ。クラウドのフリープランは3000レコード、2GBまで。オンプレのオープンライセンス版はデータ制限なしも一部機能制限あり。
NocoDB
2022年7月時点ではオープンソースのオンプレ版のみ提供するサービス。一部日本語対応。
業務によっては、レコード数やデータ容量における制限がネックになる場合もあるだろう。せっかくなら制限なしに利用したいところだ。
そこで活用したいのがNASだ。SynologyやQNAPなど、自宅やオフィスで利用しているNASがDockerをサポートしていれば、こうしたオープンソースのアプリを簡単にNAS上で稼働させることができる。
Docker対応のNASに限られるため、ARM系CPU搭載の家庭向けNASでは利用できない場合があるが、NASで動けば無料で業務システムとして活用できる。
今回は、BaserowとNocoDBの2つを、筆者の手元にあったSynology「DS716+」を使って試してみた。
Baserowを試す
まずはBaserowから動かしてみよう。と言っても、シンプルに動かすだけなら、設定らしい設定は不要で、手順も以下の通りと、それなりに簡単だ。
- 「パッケージセンター」で「Docker」をインストールしておく
- Dockerの「レジストリ」で「baserow」を検索し、「baserow/baserow」をダウンロード
- 「イメージ」でダウンロードしたイメージを選択し「起動」をクリック
- ウィザードに従って以下を設定
A)「詳細設定」の「変数」に「BASEROW_PUBLIC_URL」を追加し「http://NASのIP:ポート」を指定(例:http://192.168.200.171:8000)
B)「ポート設定」でコンテナポートの「80」に対して「8000」などのポートを設定(上のポートと一致させること)
C)「ボリューム設定」で「/docker/brdat」などのNAS上のフォルダーを作成し、コンテナの「/baserow/data」にマウント
これでコンテナを起動すれば、「http://192.168.200.171:8000」へウェブブラウザーからアクセスすることで、Baserowを利用できる。
このイメージを使った場合、データベースはコンテナ内部に含まれているため、データのみがNAS上にマウントされた「/docker/brdat」フォルダーに保存されるかたちとなる。このため、バックアップはこれを取得しておけばいい。
使ってみた印象としては、粗削りだが現時点ではかなりAirtableに近い印象だ。コラムをドラッグ&ドロップで移動させられたり、Excelからコピーした範囲をそのまま貼り付けられたり、間違った操作を[Ctrl]+[Z]キーでやり直せたりと、なかなか扱いやすい。
テンプレートが豊富に用意されているのも特徴で、コンテンツ管理や教育機関向けの生徒管理システム、レストラン向けシステムなど、さまざまなひな型を利用可能だ。
もちろん、データベースらしく、テーブルのリンクも簡単だ。コラムのプロパティで「Link to table」を選び、リンク先のテーブルを選択するだけでいい。これで、例えばマスタデータから商品の商品名や金額などを参照するといったことができる。
また、関数も利用可能だ。「field('価格')*field('個数')」といった計算をしたり、「if(field('売上小計')>1000,0,500)」といった条件を指定することも可能だ。
ただ、データやフォームで日本語を使うことは可能だが、UIは、残念ながら英語のみとなる。また、データのインポートはCSVからは可能だが、Excel(.xlsx)からは現状はサポートしていない。
このほか、無料版では、利用できるビューが「Grid」「Gallery」「Form」のみに制限される。オンプレ版でも月額で5米国ドルの有料版にすると「Kanban」が利用可能になる仕組みだ。
NocoDBを試す
続いてNocoDBだが、これは2通りの方法がある。1つはデータベースに内部のSQLiteを利用する方法で、もう1つは外部のデータベースを利用する方法だ。
簡単なのは、前者のSQLiteを利用する方法だ。コンテナの設定でポートとフォルダーのマウント先のみを設定すれば動作する。しかし、この場合、一度、コラムのプロパティを設定すると後から変更できないので、あまりお勧めしない。
NASの場合、パッケージでデータベースをインストール可能なので、これを利用する方が本来の実力を発揮させられるため、こちらの方法を紹介しよう。こちらのウェブページも参考にして欲しい。
- パッケージセンターからMariaDBとphpMyAdminをインストールする
- MariaDBでTCP接続を有効化する
- phpMyAdminを利用してNocoDB用ユーザーを作成。ホスト名を「172.17.%」のように設定しコンテナからのアクセスを許可しておく
- Dockerのレジストリから「nocodb/nocodb」をダウンロード
- コンテナの詳細設定で以下を設定
A)NC_DBにデータベースの接続情報を設定(mysql2://NASのIP:ポート?u=データベースユーザー名&p=データベースパスワード&d=データベース名) - ポート設定でコンテナの「8080」を任意のポート(例えば5080など)に割り当て
- ボリューム設定でコンテナの「/usr/app/data」をNASの「/docker/nocodata」などにマウント(SQLite用の設定。外部DBの場合はなくても動作する)
使用感としては、かなり粗削りでα版といわざるを得ないような機能もあるが、将来性は感じられる。
Baserowとの違いで言えば、現状のバージョンではテンプレートが用意されない。また、ドラッグ&ドロップによるコラム移動や、レコードのコピー&ペースト不可、アンドゥなしとなっており、Excel的な操作と呼ぶには、少々物足りないところもある。
このほか、リンクしたテーブルを参照する際に選択候補としてキー列のデータしか表示されない。このため、商品マスタを参照して、商品名やコード、金額などを入力したくても、コード番号などのキー列のデータしか見えないため、値を選びにくい。
ただし、Excelとの連携はBaserowより優秀だ。テーブル作成時にExcelファイルを指定すると、Excelの複数シートのテーブルを自動的に認識してくれる。その代わり、CSVはUTF-8以外が文字化けするので要注意だ。なお、Baserowは文字コードを選択してインポートできる。
また、現状はデータを表示するビューが「グリッド」「ギャラリー」「フォーム」のみだが、開発のロードマップでは「カンバン」と「カレンダー」が計画されており、今後のバージョンで提供される予定だ。おそらく無料だと考えられるので、今後、開発が進み、細かな改善や機能強化が実現すれば、かなり完成度が高くなりそうな有望株といったところか。
NASをファイル保存にだけ使うのはもったいない
以上、BaserowとNocoDBをNASで利用する方法を解説した。ビジネス向けのDocker対応NASなら簡単に動かすことができるので、試してみる価値はあるだろう。
今回試した2製品は進化途中のため、商用サービスと比べると、まだ機能が物足りない印象がある上、ビジネスシーンでの実用も限定的かと思われる。しかし、NASを単なるファイルサーバーとしてだけでなく、業務サーバーとしても活用できる道が開けるはずだ。
もちろん、Excelの進化も著しいので、今のレベルのサービスなら、オンライン版Excelの共同編集でよくないか? という気もする。
なので、この手のサービスの課題としては、今後テンプレートをいかに充実させるか、カンバンやカレンダーなどのビューをいかに増やせるか、BI的なダッシュボードをどこまで実装できるかが課題になりそうだ。
現段階では、まだまだお試しという色合いが強いので、今後のバージョンアップにも注目していきたいところだ。