NASでも動く! Excel感覚で使えるウェブデータベース「Baserow」と「NocoDB」【イニシャルB】
ローコードプラットフォームの一種として、「Airtableの代替(Alternative)」をうたうサービスが増えてきた。
Excelライクにデータベースを扱えるサービスで、KintoneやPower Appsよりもカジュアルな簡易ウェブアプリ開発環境といったところだ。
中でもオープンソースとして無料で提供される「Baserow」と「NocoDB」はNASでも動くため、個人や小規模オフィスの業務効率化に一役買う可能性がある。実際にテストしてみた。
「Airtable」の代替をうたうウェブデータベースサービスが登場している。画面は「Baserow」
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/922eb326-c9ec-40ec-8f93-3385887e7d04/d63cb9c16480e96052dfb03d3885b810.png)
Excelライクなウェブデータベース
顧客名簿や売上管理、日報、経費精算などの業務に、Excelを使っているというケースは、小規模なオフィスなら多いだろう。
今回取り上げるBaserowやNocoDBは、こうした業務をウェブ上のデータベースで実現するサービスだ。
データ入力用のフォームなども作成できる
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/4117e394-fa1a-433d-ac75-85daa316ef5c/713a0ab9319945d2f5b36e4a38e62c84.png)
実質的には、MySQLやPostgreSQLなどのデータベースにデータを保存するサービスだが、見た目はExcelのような表データとして手軽に扱えるようになっていて、データ入力用のフォームなども手軽に作成できる。
Excelというよりは、ずばりAccessと言った方が適切かもしれないし、クラウドに馴染み深いなら、GoogleスプレッドシートとGoogleフォームを合わせたようなサービスと考えた方が分かりやすいかもしれない。
先行するサービスとして、海外で注目されつつある「Airtable」が挙げられるが、BaserowやNocoDBも、現時点ではAirtableほど多機能ではないもの、両者とも「Airtable Alternative(代替)」を大々的にうたっている。
ちなみに、国内では有名な「Kintone」ほど多機能ではなく、あくまでも表計算が主体で、フォームはおまけ程度だ。Excelを使った業務を改善したいが、Excel的な操作感は維持したいというイメージだろうか。
NASで動く
こうしたサービスは、いずれもクラウド上で提供されるのが一般的で、フリープランを利用すれば無料で利用することができる。データ数が少なければ、こうしたクラウドサービスを利用する方が効率的だ。
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/b4f0ef21-1db1-475b-8333-695ac4a41ff2/b6da04077beec93be82fdebcbf0290ce.png)
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/de3e7c8c-a29c-471e-bc1d-8246575f1a46/7ce052662c80362bfdd75141628825ff.png)
クラウドとオンプレの両方を利用可能なサービス。英語のみ。クラウドのフリープランは3000レコード、2GBまで。オンプレのオープンライセンス版はデータ制限なしも一部機能制限あり。
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/0715ea32-0998-4a3e-b963-13517507ba7c/53b8bf2e686d474364c40ccf79a2fb81.png)
2022年7月時点ではオープンソースのオンプレ版のみ提供するサービス。一部日本語対応。
業務によっては、レコード数やデータ容量における制限がネックになる場合もあるだろう。せっかくなら制限なしに利用したいところだ。
そこで活用したいのがNASだ。SynologyやQNAPなど、自宅やオフィスで利用しているNASがDockerをサポートしていれば、こうしたオープンソースのアプリを簡単にNAS上で稼働させることができる。
Docker対応のNASに限られるため、ARM系CPU搭載の家庭向けNASでは利用できない場合があるが、NASで動けば無料で業務システムとして活用できる。
今回は、BaserowとNocoDBの2つを、筆者の手元にあったSynology「DS716+」を使って試してみた。
Dockerに対応したNASがあれば、こうしたサービスをローカルで手軽に利用できる
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/13f9dd95-244d-4cce-9627-20a36cc5a968/a3d04cffe614fdf7be9f1113d89fb431.png)
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」にマウント
詳細設定から環境変数でデータの保存先を指定
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/aedbf8c6-5bd7-46ea-ae63-d665b304aaa9/549d505470d4bd3315e54fc48d8c82a4.png)
データ保存先をNAS上のフォルダーにマウントする
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/507a92a7-bb86-4ce1-b923-9a086827aea4/20619595e5bdadd429c6729710d8f91a.png)
これでコンテナを起動すれば、「http://192.168.200.171:8000」へウェブブラウザーからアクセスすることで、Baserowを利用できる。
このイメージを使った場合、データベースはコンテナ内部に含まれているため、データのみがNAS上にマウントされた「/docker/brdat」フォルダーに保存されるかたちとなる。このため、バックアップはこれを取得しておけばいい。
使ってみた印象としては、粗削りだが現時点ではかなりAirtableに近い印象だ。コラムをドラッグ&ドロップで移動させられたり、Excelからコピーした範囲をそのまま貼り付けられたり、間違った操作を[Ctrl]+[Z]キーでやり直せたりと、なかなか扱いやすい。
現時点での完成度は高い。ドラッグでのコラムの移動やアンドゥなどができるのは秀逸
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/eebd8471-e21a-4bd8-82ad-268093590149/13a6019820f51c9a42c8e339f0ee480c.png)
テンプレートが豊富に用意されているのも特徴で、コンテンツ管理や教育機関向けの生徒管理システム、レストラン向けシステムなど、さまざまなひな型を利用可能だ。
テンプレートも豊富
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/d6c66925-7db6-449c-ac91-29428e47cbdc/6cc5a49d0a0a219feb6b4d816f612d92.png)
もちろん、データベースらしく、テーブルのリンクも簡単だ。コラムのプロパティで「Link to table」を選び、リンク先のテーブルを選択するだけでいい。これで、例えばマスタデータから商品の商品名や金額などを参照するといったことができる。
また、関数も利用可能だ。「field('価格')*field('個数')」といった計算をしたり、「if(field('売上小計')>1000,0,500)」といった条件を指定することも可能だ。
関数を利用可能
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/0a141f99-7a13-4d5c-8c69-38ca3b6d0aa0/6a6fef81dfed398b7ddac24135d1125f.png)
ただ、データやフォームで日本語を使うことは可能だが、UIは、残念ながら英語のみとなる。また、データのインポートはCSVからは可能だが、Excel(.xlsx)からは現状はサポートしていない。
このほか、無料版では、利用できるビューが「Grid」「Gallery」「Form」のみに制限される。オンプレ版でも月額で5米国ドルの有料版にすると「Kanban」が利用可能になる仕組みだ。
NocoDBを試す
続いてNocoDBだが、これは2通りの方法がある。1つはデータベースに内部のSQLiteを利用する方法で、もう1つは外部のデータベースを利用する方法だ。
簡単なのは、前者のSQLiteを利用する方法だ。コンテナの設定でポートとフォルダーのマウント先のみを設定すれば動作する。しかし、この場合、一度、コラムのプロパティを設定すると後から変更できないので、あまりお勧めしない。
- パッケージセンターから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の場合はなくても動作する)
NAS上のMariaDBにコンテナからアクセス可能なユーザーを作成しておく
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/a9d37a63-66bc-4105-8d19-d2f7afc9386e/c57d5e18fed68fce1fb24ae5bcace3c7.png)
環境変数として外部データベースに接続するためのパラメーターを設定しておく
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/e21de6b5-779a-46e9-bca1-6fef249558fc/dca71724ce943149baded9b80cedf6dc.png)
使用感としては、かなり粗削りでα版といわざるを得ないような機能もあるが、将来性は感じられる。
Baserowとの違いで言えば、現状のバージョンではテンプレートが用意されない。また、ドラッグ&ドロップによるコラム移動や、レコードのコピー&ペースト不可、アンドゥなしとなっており、Excel的な操作と呼ぶには、少々物足りないところもある。
このほか、リンクしたテーブルを参照する際に選択候補としてキー列のデータしか表示されない。このため、商品マスタを参照して、商品名やコード、金額などを入力したくても、コード番号などのキー列のデータしか見えないため、値を選びにくい。
リンク先のテーブルの主キーの値しか参照できない
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/49448e66-7d1d-4004-8434-fb1063ae291b/d65a4fd651ab7ea0095e97b868ab1d68.png)
Baserowでは参照先のテーブル全体が表示されるためコードや金額などのデータも参照しながら値を選択できる
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/dc04c719-f2ea-4ba4-a073-b1a9307266b6/7f6b022633574cbfff612f20fa563383.png)
ただし、Excelとの連携はBaserowより優秀だ。テーブル作成時にExcelファイルを指定すると、Excelの複数シートのテーブルを自動的に認識してくれる。その代わり、CSVはUTF-8以外が文字化けするので要注意だ。なお、Baserowは文字コードを選択してインポートできる。
Excelファイルのインポートに対応。複数シートも認識してくれる
![](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/gijutsuya/dbd7d220-57d0-4b52-a5d3-58bddcd9a900/0964f2aaf38ca702ae6646a45ae53e6f.png)
また、現状はデータを表示するビューが「グリッド」「ギャラリー」「フォーム」のみだが、開発のロードマップでは「カンバン」と「カレンダー」が計画されており、今後のバージョンで提供される予定だ。おそらく無料だと考えられるので、今後、開発が進み、細かな改善や機能強化が実現すれば、かなり完成度が高くなりそうな有望株といったところか。
NASをファイル保存にだけ使うのはもったいない
以上、BaserowとNocoDBをNASで利用する方法を解説した。ビジネス向けのDocker対応NASなら簡単に動かすことができるので、試してみる価値はあるだろう。
今回試した2製品は進化途中のため、商用サービスと比べると、まだ機能が物足りない印象がある上、ビジネスシーンでの実用も限定的かと思われる。しかし、NASを単なるファイルサーバーとしてだけでなく、業務サーバーとしても活用できる道が開けるはずだ。
もちろん、Excelの進化も著しいので、今のレベルのサービスなら、オンライン版Excelの共同編集でよくないか? という気もする。
なので、この手のサービスの課題としては、今後テンプレートをいかに充実させるか、カンバンやカレンダーなどのビューをいかに増やせるか、BI的なダッシュボードをどこまで実装できるかが課題になりそうだ。
現段階では、まだまだお試しという色合いが強いので、今後のバージョンアップにも注目していきたいところだ。