NoSQL 概要
- 簡単なキーバリュー型データストア
- リレーショナルデータモデルはサポートしない。
- 標準SQLはサポートしない。 - 構造化データを保存するように設計されていない
- 非構造化データ向けに設計されているため、データ消失が発生する可能性がある。 - 重複を許容するスキーマ構造により、UPDATEのような複雑な演算等を処理するOLTPには向いていない
- UPDATE文には合わず、簡単なINSERT、SELECT文に適している。 - データ重複の許容
- 管理が難しい。 - 製品の成熟度が低い
- 標準がなく、まだ製品と言える水準まで至っていない。 - NoSQLをサポートする会社は少ない
- オープンソースソフトウェアの最も大きな弱点。
- NoSQLのセットアップおよび運用にはかなりの技術力と努力が必要になる。 - NoSQLは、Ad-Hoc Queryと分析のための一部機能のみサポート(OLAPに向いていない。)
- NoSQLに詳しい専門家が足りないこと。
- NoSQL専門家より、リレーショナルDBMS開発者や管理者の数が遥かに多い。
一般
| 区分 | ALTIBASE | NoSQL |
| 目的 | 汎用系 | 特殊目的 |
| 製品の成熟度 | 15年以上 | 4~5年以下 |
| ライセンス | 商用 | オープンソース |
| BI | リアルタイムOLAP | サポートしない |
アーキテクチャ
| 区分 | ALTIBASE | NoSQL |
| データベースモデル | リレーショナル | キーバリュー保存型 |
| Query Language | ANSI SQL | 標準化されていない |
| Data Types | 全タイプをサポート | 限定されたデータタイプ |
| 拡張性 | Scale up/out | Scale out |
トランザクション
| 区分 | ALTIBASE | NoSQL |
| トランザクション | ACID | - |
| データ消失 | なし | あり |
| MVCC | サポート | サポートしない |
特徴
| 区分 | ALTIBASE | NoSQL |
| Secondary Indexes | サポート | 限定的にサポート |
| Foreign Keys | サポート | サポートしない |
| Triggers | サポート | サポートしない |
| Server-Side Scripts | サポート | サポートしない |
| Spatial Data Type | サポート | サポートしない |
| Lob Type | サポート | サポートしない |
| Database Link | サポート | サポートしない |
| Complex Query | サポート | サポートしない |
| Analytic Query | サポート | サポートしない |
| Sorting by Query Language | サポート | サポートしない |
| Join | サポート | サポートしない |
| Grouping | サポート | サポートしない |
| Range Query | サポート | サポートしない |
開発
| 区分 | ALTIBASE | NoSQL |
| ODBCインターフェース | サポート | サポートしない |
| JDBCインターフェース | サポート | サポートしない |
| ADO.Net インターフェース | サポート | サポートしない |
| 開発利便性 | 容易 | 煩雑 |
| テーブルデザイン | 一般的、柔軟 | 複雑、柔軟ではない |
| データ重複 | 使用者が意図的に行う場合を除き、許可されない | 頻発(規格化できない。) |
| データスキーマ | スキーマの管理 | スキーマの管理ではない |
| ツールやユーティリティの提供有無 | 多数 | 限定的 |
その他
| 区分 | ALTIBASE | NoSQL |
| 技術サポート | 良好 | 限定的 |
| バックアップ/復旧 | 簡単かつ多様な方法(オンライン&オフライン) | 出来るが煩雑 |
| 専門家グループ | 多数 | 少ない |
| 導入事例 | 多数 | 少ない |
| トレーニング | 容易 | 煩雑 |
| システム管理 | 容易 | 煩雑 |
| 保守 | 容易 | 煩雑 |
| 保守費用 | 安価 | 高価 |
| セキュリティ | 強い | 弱い |
| Eco-システム | 多様 | 限定的 |
