Forguncyでは内部データベース以外にも、SQL Server、Oracle Database、MySQL、PostgreSQLといった外部のデータベース、またはODBCデータソースを使用できます。データベースの基礎知識では、はじめてデータベースに触れる方向けにデータベースの基本的な概念について説明しています。
Forguncy Builderから外部データベースに対して、新規テーブルを作成することも可能です。詳細はテーブルの作成方法を参照してください。
外部データベースに既に存在するテーブルを利用するには、接続したいテーブルをリンクテーブルとしてForguncy上に作成する必要があります。こうすることで、リンクテーブルを通して外部データベースのデータにアクセスできます。
接続先のデータソースに依存して制限事項が存在します。特にODBCデータソースの場合、ネイティブ接続のSQL Server、Oracle Database、MySQL、PostgreSQLと比較して、Forguncyが持つ機能の一部を使用できません。詳細は Forguncyの仕様と制限を参照してください。また、ODBCデータソースは、その接続先、もしくは使用するODBCドライバーが多種多様に存在するためForguncyの仕様と制限に記載のない制限が存在する場合があります。そのため、使用するODBCドライバーにどのような制限が存在するかはお客様ご自身で確認する必要があります。なお、CData Software Japan社が提供する特定のODBC Driverについては、メシウスが動作確認を行っています。詳細についてはCData ODBC Driversを参照してください。
外部データベースの接続はプラグイン形式で実装されており、プリインストールプラグインとしてForguncy Builderにインストールされています。
外部データベースの種類によって、テーブルやフィールドに対しロールごとの権限を付与できるものとできないものがあります。
SQL Server、Oracle Database、MySQL、PostgreSQLの場合
テーブルやフィールドに対しロールごとの権限を付与できます。これによりロールごとにアクセスを制御したり、ワークフローで権限に応じたアクセスが可能になります。権限を付与すると、Forguncyではこれらの外部データベースに対してそれを管理するために必要となるテーブルやフィールドを自動的に作成しようとします。詳細は アクセス許可とワークフロー(ODBCデータソース除く)を参照してください。
ODBCデータソースの場合
テーブルやフィールドに対しロールごとの権限を付与できません。このため、ODBCデータソースを使用すると、ワークフローやテーブルに権限を設定するForguncyの機能は使用できません。
既存データベースにあるデータを使った新しいアプリを手軽に作りたい場合
社内の基幹システム等で使用しているデータベースが既に存在し、その蓄積されているデータを使うサブシステムを構築したい場合、リンクテーブルを使用します。データは常に最新のデータを参照できるため、たとえば売り上げデータが格納されている社内のデータベースに接続し、Forguncyを使って必要な売り上げデータを抽出、分析するようなシステムを構築できます。
既存データベースの構造変更や拡張が困難な場合
リンクテーブルは、Forguncyの内部テーブルと連結して1つの表として表示することができます。本来既存のデータベースに追加したい項目をForguncyの内部テーブル上に作成することで、既存データベースに一切変更を加えることなく、新たな項目を付加することが可能です。
複数のForguncyアプリで共通のデータを参照、更新したい場合
Forguncyの内部テーブルの場合、1つのプロジェクトに対して1つの独立したデータベースが作成されます。そのため、Forguncyファイル(FGCP)として別々にアプリケーションを作成した場合、共通のデータを参照、更新することはできません。このような場合、リンクテーブルとしてSQL Serverなどのデータベースを利用することで、複数の異なるForguncyアプリケーションから共通のデータを参照、更新することが可能です。
2TB以上の大量データを扱うことが予想される場合
内部テーブルが保持できるデータの合計量は2TBです。より多くのデータを処理する場合は、外部データベースを使用する必要があります。
高負荷な同時書き込み操作が要求される場合
高負荷な同時書き込みが必要な場合は、外部データベースを使用する必要があります。同時に(数秒以内に)、100人が同時に(数秒以内に)データベースに対して書き込みを行うような場合、内部データベースはパフォーマンスが低下したり、書き込みに失敗したりする可能性があります。