Microsoft office ACCESSとファイルメーカー社のFilemakerを両方業務で統計や開発に使って感じた違いの備忘録
筆者は統計業務をしているので、日頃からpythonとSQLをメインにごりごりプログラムを書いています(上司には過程における工程数の理解が得れないのが辛いとこ)
統計に疲れると他部門の帳票システムや集計システムをEXCELやACCESS(VBA含む)を用いて作ったりもしています。
つい先日会社でなんとなく前々から気になっていたfilemaker購入の稟議を上げたらIT部門にとやかく言われながらも無事稟議が通ってしまった為、filemakerを使う機会がやっと訪れました。
「pythonistaならtkinterで作れよ」とか「kivyがイケイケだぜ!」なんてことは聞き飽きたので考慮せずに今回はファイルメーカーとACCESSに主役の座を持たせてます。
とにもかくにもDB~帳票出力まで一貫して構築できるソフトウェアの代表格であるACCESSと似た者同士として捉えられるfilemakerですが、使ってみると色々な良いとこ悪いとこが見えてきたので備忘録として記録しておきます。
価格比較
ACCESSの圧倒的勝利です。
価格はファイルメーカーの最大の弱点かもしれません。
ACCESS 月額 約1,300円(年額 約15,600円)
Filemaker 一本約50,000円
これはファイルメーカーは永続ライセンスだから納得・・・・・とはいかないのです。
ファイルメーカーって何故か毎年バージョンアップします。しかも見ていると公表はメジャーバージョンアップですが、内容はマイナーバージョンアップじゃね?なんて思うことも主観的に多々あり毎年買い直しを検討することになるので、他のoffice製品もすべて使えるoffice365に価格効果で勝てることはないでしょう。
何度も言ってしまいますが、毎年有料バージョンアップって、、、ビルゲイツも真っ青ですね(winは約4年一回。MACは知ってるが知らん)
一応バージョンアップ価格もあるのですが、これもまた財布に優しい値段ではないので対抗馬にもなりそうにありません。
実はまだfilemaker serverというお金のかかる化け物をファイルメーカー社はお抱えしておりまして、これがなんと、、、
年間数十万円以上。
何か色々強気すぎませんか?って言いたくなるくらいの価格です。
もちろん小規模であれば値段も変わってきますが、それでも最低年間10万円。
実は筆者、このfilemaker serverのライセンス関係がややこしくてサポートに電話したのですが、対応してくれた方が日本語の発音のおかしい中国人?のカスタマーサポートでして、ファイルメーカーライセンスのこともよくわかっていないのか間違った回答をいただき、最初は最低数十万かかると思っていました。サポートに中国人を置くのはいいけども、もう少し日本語ができればありがたかったかな。
多少の愚痴はここまでにしておいて、価格だけを見ればコスパはACCESSに軍配が上がると言えるでしょう。
統計性能比較
データベースといえば統計・集計性能です。筆者は先ほども述べました通り統計を生業としていますので、どうしてもDB=SQL=集計余裕という公式ができてしまうのですが、ここも大きな違いがありました。
結果から言えば、ACCESSの圧倒的勝利です!(2連勝!!!)
決して贔屓はしていませんが、ACCESSに圧倒的有利があるように感じました。
データベースと言えばSQL、つまりクエリによるリレーショナルなデータの構築が出来ることが最大の有用性かと思います。現代の技術からすると単なるデータ貯蔵庫ならNASで十分な気がするのです(パスでリンクさせて大抵応用できるという意味で)
筆者はPostgresqlを好んで利用していますが、皆さんもご存知の通りACCESSはPostgresqlを含むその他DBを上回るクエリ性能を持っています。
それが「自動SQL構築機能」
性能というと語弊があるのですが、とにかくSQLを書かなくてもデータとデータをGUIで繋いでしまうだけでリレーショナルデータベースとして完結してしまう効率性。
もうここに関して言えばある程度のデータ量であればDBにデータを落とし込むことひとつを取ってもACCESSに勝てるものはないのではないでしょうか?覚えるまでもなくビューも簡単にできますしね。
データベースエンジニアを時折脅かすほどの効率性を見せるACCESSは凄いとしかいいようがありません。
一方でfilemakerにもデータベースと名乗る限りクエリは搭載されて・・・・・え・・・・いません・・・・?(公式解回答)
「DBなのにSQL書けないってそれDBじゃなくない?」
データベースエンジニアたちの声が今にも聞こえてきそうです。分かります。
一応ファイルメーカーにはテーブルオカレンスというリレーショナルデータベースが存在するのですが、これはなんといいますか、統計用に作られたものではないです。
上手く伝わるか分からないのですが、テーブルオカレンスはSQLとは大きく根本から違います。SQLはデータ構造を複雑に組み込めるのに対してテーブルオカレンスは、簡単なことをより簡単にできるが難しいリレーショナルデータベースは組みずらいのです。
更に言えばACCESSはSQLの記述もできたのですが、ファイルメーカーはSQL抽出ができません。これが統計上の有用性比較に一番影響した内容です。
一点だけ勝っているとこがあるとすれば許容容量です。ACCESSは2GB制限に対してfilemakerは8TB制限です。この点だけは褒めれますが、8TB入ってもSQLが記述できないのはいただけない。
とにもかくにも、統計用としてDBの性能比較をするのであればACCESSの圧勝でしょう。
フォーム・帳票性能比較
filemakerの勝利です(初勝利!やったね)
正直に言うと出来ることに違いはたいしてありません。
しかし、VBAの記述が不要で用意されているスクリプトで大半が実装できてしまう効率性及び修繕性で、システムとしての機能はfilemakerが圧勝していると感じました。
具体的に言うならば、ACCESSでVBAを用いて開発したシステムが100時間/人であったならば、50時間/人でシステム構築でき、なおかつ修繕にかかるコストを大幅に軽減できる可能性を秘めています。これには筆者も触ってみてびっくりした程でした。
もちろん場合によってはプログラムの代わりに規定スクリプトを自由に組めますので、VBA程細かいことはできませんがシステムで欲しい機能はほぼ全て実装できると思って頂いて構わないです。それほどに作りこまれたソフトウェアであると感じます。
更に、一番違う点が「デザイン性能」
語るより見せましょう↓
ACCESS
Filemaker
・・・・・デザイン性能の違は明らかです。
デザインが違うだけで機能は一緒と言われるとそうなのですが、やっぱりシステムを作るならばキレイなフォームを作りたいのがエンジニアではないでしょうか。
システム共有性能
Filemakerの勝利です(結果→2勝2敗)
システムを作った時に陥る障害の一つがシステムの共同利用に耐えられるかどうかではないでしょうか?
ACCESSの最大の弱みは許容容量の少なさの他にこの共同利用への弱さがあると筆者はもちろん多くのaccess開発者が思っていることでしょう。
ACCESSもFilemakerも外部DBとの連携が可能で、フロントエンドをACCESSやFilemaker、バックエンドをオラクルやポスグレということが可能です。
しかし、それで多少壊れにくくはなりますが、どうしてもACCESSでは頻繁に壊れます。
元来シングルユーザーでの利用を目的に作られたソフトウェアであるACCESSは排他処理などに致命的な欠陥があるようで、何をどうしても故障を免れるのは筆者の視点からは難しく感じます。
一方でFilemakerでは同時操作5人という制限付きですが、そこそこ共同利用に耐えうるシステムを構築可能です。ファイルメーカーサーバーではもっと大規模な共同作業が可能になります。
更に言えばAWSでのアプリケーション開発も可能であったりと、「システム開発」という一面を異常に簡潔に済ませれるように特化したソフトウェアであると強く感じます。
結果として、ACCESSは簡易な統計では未だ健在というところですが、システム開発という面ではファイルメーカーに一歩、もしかすると2,3歩遅れている気がします。
価格面やクエリが作れないという点でFilemakerの選択を躊躇してしまうかもしれませんが、filemakerもACCESSに比較して十分有効なシステム開発ツールと言えそうな気がします。