古くて新しいActian XとActian Zen
前回、古くて新しいデータベースとしてActian Xを紹介した。これはリレーショナルデータベースのIngresと分析向け列指向データベースVectorにさらにETLが加わったハイブリッドデータベースだ。今回紹介するActian Zenもまた古くて新しい。
Actian Zenの名前になじみがなくても、恐らくエンジニアであればいつかどこかで使ったことがあるはず。このデータベースは1982年から提供されており、実に36年もの実績がある。当初はBtrieve、後にPervasiveやActian PSQLと改名しながらも進化を続けてきた。例えば90年代にNetWareを用いていたならBtrieveが標準データベースだったため、気づいていなくても使っていた可能性が高い。
現在はActian Zenとなり、2018年7月12日にはIoTに最適化されたActian Zen Edgeをリリースした。近年では組み込みでの用途を広げていたため、自然な流れと言えるかもしれない。Actian XとActian Zenの日本語版を提供しているエージーテック 代表取締役CEO西上悟氏によると、Actian Xは商用のエンタープライズ系RDBMSであり、TCOで見ると非常に安価、Actian Zenの機能は必要最小限に絞り安価に抑えている。
なお正確にはActian Zenとは総称で、いくつかのエディションに分かれている。パソコンやサーバー向けにはActian Zen ServerやActian Zen Workgroupがあり、これらは前身となるActian PSQLとほぼ同じと考えていい。さらに7月にリリースされたばかりのActian Zen Edge、年内リリース予定のActian Zen Coreがある(詳しくは後述)。
組み込みやIoTに適したActian Zenの特徴
ここから改めてActian Zenの特徴を見ていこう。
なんといってもフットプリントが小さくてすむデータベースであるということ。データベースの標準的な機能を実装しながらも、インストールフットプリントはActian Zen ServerとWorkgroupなら175MB、組み込みデバイスやIoTゲートウェイデバイスに使うActian Zen Edgeならその半分以下(30~40MB)、スマートフォンなどエッジデバイスに使うActian Zen Coreならライブラリ・エンジンで2MB以下だ。
データベースとしてアクセスする時には、NoSQL的なAPIとRDB的なSQL、どちらからもアクセスできる。C/C++やC#からはBtrieve API、Python、PHP、PerlなどからはBtrieve2 APIが使える。ODBC、JDBC、ADO.NETなどからSQLが使える。
内部的にはデータは「Common PSQL Data Format」で格納されている。その手前にAPIのエンジンとSQLのエンジンの両方があり、どちらからでもアクセスできるようになっている。また意外かもしれないがレプリケーションやバックアップ機能もついている。前者にはDataExchange、後者にはBackup Agentからバックアップソリューションを利用できる。
ライセンス体系はCPUやコア数に依存せず(そのためハードウェアをアップグレードする時に追加費用が発生することはない)、シンプルに接続ユーザー数でカウントする。Actian Zen ServerとWorkgroupならユーザーあたり1~2万円台、Actian Zen Edgeならユーザーあたり2~3千円台(100または1000台分のロットで販売される)。Actian Zen Serverには無制限ライセンスもある。
利用可能なプラットフォームが幅広いのも特徴だ。パソコンやサーバーならWindows、Windows Server、Linuxは当然として、Macもサポートしている。またエッジ向けにはWindows IoT Core(IntelとARM)とRaspbian(ARM)をサポートしており、近日中にiOSとAndroidも追加される予定だ。
なおデータベースファイルだけではなくAPIは上位互換なので、互換性が高い。また、インストールやセットアップが簡単で安定稼働できるため、運用管理の手間が少なくてすむ。
Actian Zenは簡易版データベースというイメージがあるものの、性能は決して悪くはない。Actian社が前身となるPSQL v12をベースにしたテストでは、APIアクセスとSQLアクセスともに商用データベースよりも高速という結果も出ている。応答速度はいろんな要素が混じるものの、そう遅くはないと考えていいだろう。
多様なエッジデバイスをサポートし、IoTの可能性を広げる
実際にどのようなところで使えるのか、事例を見てみよう。例えば会計や製造管理などのパッケージなどで採用された実績が多数あり、国内では3000ヶ所以上の医療関連システムで稼働している。組み込みでは調剤機器やPOSシステムでの採用もある。
IoT版が追加されたことで今後はエッジコンピューティングでの採用が期待できる。例えば製造工場なら、ポンプなどの機器やタブレットなどのデバイスにActian Zen Core、ゲートウェイにActian Zen Edgeを導入することができる。
もしActian Zenを使わなければ、エッジデバイスにBerkeley DBやSQLite、ゲートウェイやサーバーにMySQLやPostgreSQLを使い分けることになるだろう。プラットフォームの制約で使用するデータベースがデバイスごとに分かれると、ETLなどのデータ変換が必要になる。もし暗号化をするならデータベースをまたぐときに復号と暗号化といったオーバーヘッドも生じてしまう。なおデータベースの中には暗号化が難しいものもある。
Actian Zenなら多種多様なデバイスをカバーできるため、全体をActian Zenで固めることができる。そうするとETLや暗号の処理は不要となり、Actian Zenならデータ通信そのものも暗号化できるため、セキュリティを高めながらオーバーヘッドを少なくすることができる。
IoTや組み込みで収集したデータを分析するなら、Actian Xに渡すことも可能だ。Actian ZenとActian Xは異なるデータベースなのでデータ変換が必要となるものの、Actian XにはDataConnectがあるのでデータの接続はそう難しくはない。
サンプルとして西上氏が見せてくれたのはRaspberry Piに温度・湿度のセンサーを付けたもの。Actian Zen Edgeがインストールされており、センサーからのデータを蓄積し、必要に応じて別のサーバーに送信するなどゲートウェイ的に使うこともできる。
今後、IoTを推進していくなら、Actian Zenは豊富にプラットフォームをサポートしているため、ETL不要で一貫したアクセスが可能になる。西上氏は「適材適所にデータベースを提供できて、1社でサポートが完結できるのが強みです」と話す。
なお日本においては新規導入およびアップグレードなどテクニカルサポートが無償提供されているのも他にはないサービス体制である。
さらに、エージーテックでは、Actian Zen製品をはじめとするデータベースに関する紹介セミナーや評価キットの提供など特別なプログラムが用意されている。詳しくはこちら。