クライムトップ > 製品・サービス > DBMoto > 他社製品との比較

DBMotoと他社レプリケーションソフト3製品を各項目で比較しました。
○・・・対応 ×・・・対応なし △・・・一部対応
| 機能 | DBMoto | ソフトG | ソフトR |
|---|---|---|---|
| 異種DBサポート | ○ | ○ | ○ |
| 対応DB | DB2 for AS/400 DB2 for z/OS DB2 UDB Oracle SQL Server MySQL Access PostgreSQL Infomix IBM Cloudscape Firebird(Windows) Ingres SQL Anywhere Netezza | DB2 for z/OS DB2 UDB Oracle SQL Server Sybase ASE Teradata | DB2 for AS/400 DB2 for z/OS DB2 UDB SQL Server Infomix Sybase Teradata |
| リフレッシュ (全件レプリケーション) |
○ | ○ | ○ |
| ミラーリング (片方向差分レプリケーション) |
○ | ○ | ○ |
| シンクロナイゼーション (双方向差分レプリケーション) |
○ | ○ | ○ |
| マルチシンクロナイゼーション (3台以上のマルチレプリケーション) |
○ | × | × |
| リアルタイム性 | 周期間隔 (デフォルト60秒間隔) | ほぼリアルタイム | ほぼリアルタイム |
| 接続ドライバ | .NET(推奨) ODBC OLEDB | JDBC ODBC | JDBC |
| エージェントレス | ○ | × | × |
| クロスプラットフォーム対応 | ○ | △ | △ |
| インストールマシン | DBMoto専用マシンのみ(Windows) | ソース・ターゲットDBマシン両方に必要 | ソフトR専用マシンのみ(Windows) |
| トランザクションログ参照 | ○ | ○ | × |
| コンサルタント | 不要 | 必要 | 不要 |
| コーディング | 不要 | 必要 | 不要 |
| グループ化レプリケーション | ○ | △ (要コンサルタント) | △ |
| エラー管理 | ○ | △ (要コンサルタント) | △ |
| レプリケーション結果比較 | ○ | △ (要コンサルタント) | △ |
| データ変換 | ○ | ○ | ○ |
| スクリプトによるカスタマイズ | ○ | ○ | △ |
| API提供 | ○ | ○ | ○ |
| 設定の容易さ | ○ | △ | ○ |
| フットプリント | ○ | △ | ○ |
DBMotoはソースとターゲットが異なるデータベースの場合でもレプリケーションをサポートします。
双方のデータベースの文字コードが異なっている場合でも、DBMoto内部でUnicodeに変換して処理しますので、データベース側で文字コードを調整する必要はありません。
下記の図のように文字コードがEBCDICのAS/400から文字コードがShift_JISのOracleにレプリケーションする際も、DBMotoが自動で変換処理を行います。
3つ以上のデータベースで同期を取りたい場合は、DBMotoのマルチシンクロナイゼーションにより実現可能です。
下の図では複数台のOracleがあり、いずれか1つのOracleでデータの更新があれば、
他すべてのOracleに対してレプリケーションし、常にすべてのOracleでデータの同期を取ることができます。

DBMotoは.NET Framework上で動作するWindowsアプリケーションなので、
データベースへの接続ドライバは.NETドライバを採用しています。
ODBCやOLEDBと比較してより高速なレプリケーションを実現しました。(DBMotoはODBCとOLEDB接続もサポートしております)
特に、IBM DB2 for i(AS/400)への接続にはRitmo/iが、
IBM DB2 for z/OS(OS/390)やIBM DB2 UDB(Windows, AIX, Linux, HP/UX, Solaris)への接続にはRitmo/DB2が
DBMoto用に標準で同梱されておりますので、より高速なレプリケーションが可能です。
DBMotoマシンからリモートでデータベースマシンに接続してレプリケーションを行うため、
データベースマシンへエージェントを導入必要がありません。
DBMoto自体はWindows上にインストールしますが、データベースのOSには依存しません。
例えばOracleの場合は、Windows・Linux・Solaris・HP-UX・AIXいずれも可能です。
DB2の場合はWindows・Linux・AIX・AS/400・z/OSいずれも可能です。
DBMotoではテーブルごとにレプリケーション定義を作成するため、例えばテーブル数が5の場合はデータベースに接続するセッション数も5になります。このセッション数を減らす「グループ化」を行うことで、複数のセッションを1つのグループにまとめることでセッション数の削減が可能となり、結果データーベースへの負荷を抑えられます。
例えば、テーブル数が5の場合、5テーブルを1グループにまとめることでセッション数も1に減らすことができます。

1テーブルごとにレプリケーション定義を作成した場合、
セッション数は5となります。
1テーブルごとに作成したレプリケーション定義を
グループ化した場合、セッション数は1となります。

※クリックすると拡大表示されます
DBMotoでは万が一のエラーの際にはログビューワで容易に確認可能です。
ログビューワではエラーの他、レプリケーションに成功したレコード数も合わせて確認できます。
また、DBMoto側でのエラーだけでなく、DB側が原因のエラーも;ログビューワで確認できます。
エラーの際にメール通知するようにしておくことで、いち早く対応することも可能です。

※クリックすると拡大表示されます
正しくレプリケーションが行われてデータの整合性が取れているかを確認する「Verify」機能があります。
データの不整合が発生している場合に視覚的に確認することが可能です。
DBMotoにVB.NETスクリプトを埋め込むことで、より複雑なレプリケーションを行うことができます。
例えば、値が数値100より大きい場合のみレプリケーションするといった条件指定レプリケーションはスクリプトで実現できます。

※クリックすると拡大表示されます
.NETのC#・VB・C++のAPIが豊富に用意されております。
APIを使用して外部からDBMotoを制御したり、既存の.NETシステムにDBMotoの機能を埋め込むことが可能です。