Emprress とSQLiteの比較
EmpressとSQLiteの機能差についてご説明いたします。
| Empress | SQLite | |
|---|---|---|
| ライブラリ提供 | ○ | ○ |
| 扱うデータ量 | ○ 大量データも対応可能 |
△ 中・小規模に最適 |
| 断電復旧機能 | ○ | × |
| 非断片化構造 | ○ | × |
| SDカードの書き込み制限の対応 | ○ | × |
| メンテナンスフリー | ○ | × 非断片化構造でないためバキュームが必要 |
| システムの定時制保証 | ○ | × |
| バキューム必要としない機能 | ○ | × |
| マルチアクセス | ○ | × コネクション単位なのですべてシングルアクセス |
| 負荷分散 | ○ | × ローカル接続以外方法はないがないので負荷分散出来ない |
| サポート | ○ 有償で日本語対応 |
× |
| ドキュメント | 日本語 | △ 英語がほとんど |
| コマンドラインツール | ○ | ○ |
| Empress | SQLite | |
|---|---|---|
| SQL データタイプ | ANSI92 準拠 | Null/Integer/Real/Text/BLOBのみ |
| ODBC データタイプ | ODBC準拠 | Null/Integer/Real/Text/BLOBのみ |
| Empress | SQLite | |
|---|---|---|
| SQL サポート | SQL92準拠 | SQL92ほぼ準拠, 一部サポート外 |
| UTF-8対応 | ○ | ○ |
| トランザクション | ○ | ○ |
| ビュー | ○ | ○ |
| トリガー | ○ | ○ |
| 全文検索 | ○ | ○ |
| 上位の互換性 | ○ | SQLite2とSQLite3は互換性がない |
| Empress | SQLite | |
|---|---|---|
| 暗号化 | ○ | × サードパーティによるファイルの暗号化 |
| カーネル暗号化より性能向上 | ○ | × |
| Empress | SQLite | |
|---|---|---|
| レプリケーション | ○ | × |
| 自ノード内のレプリケーション | ○ | × |
| オンラインバックアップ | ○ | ○ |
| Empress | SQLite | |
|---|---|---|
| ODBC サポート | ○ | × |
| JDBC サポート | ○ | × |
| PHP サポート | ○ | ○ |
サポートの有無
EmpressとSQLiteの一番の差は有償であるか否かです。Empressは商用データベースで有償です。そのため、日本語のマニュアル、日本語での技術サポート、上位と下位バージョン互換性が保証されています。これに対してSQLiteは、上位と下位バージョン互換性の保証はなく、サポートはなく、ドキュメントもほとんど英語です。
Empressはマルチアクセスが可能
機能的な違いは、SQLiteは、1コネクト単位のシングルアクセスのローカルDBであるのに対して、Empressはライブラリで提供される組込みDBでありながら、ローカルDBの無制限のマルチアクセス、外部デバイスからの無制限のマルチアクセス機能を有しています。結果として、SQLiteはソフトウエアで良く使用されますが、通信、FAでは使用された実例は聞きません。これに対し、Empressは、本来はエンタープライズデータベースが使用される金融・保険分野を含め、ほとんどの分野で使用されています。
Empressはバキュームする必要がない
Empressは上記の実現するためにDBのストレージファイルの非断片化構造を持ち、バキュームする必要がありません。EmpressはDBに対するマルチアクセス機能を有するためにIoT化のためのローカルDBとしての機能を充実させています。DBのカーネル暗号化、レプリケーション、M2Mレプリケーションなど多くの機能を提供していますが、SQLiteはあくまでもローカルDBですのでそもそもこれらの機能を必要とされていません。