古くて新しい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アクセスともに商用データベースよりも高速という結果も出ている。応答速度はいろんな要素が混じるものの、そう遅くはないと考えていいだろう。