最近のアクセス:
GeneXus での DynamoDB のサポート

GeneXus では、拡張性の面でメリットがあることから、DynamoDB データベースの利用が可能になっています。DynamoDB では、ハードウェアの管理を意識することなく、データの読み取りと書き込みをほぼ無限に行うことができます。また、支払いは従量制になっています。
これは、リレーショナル DBMS の ACID (原子性、一貫性、独立性、永続性) 特性が必要ではなく、データ挿入時にデータ一貫性が最重要要素ではない場合に特に適しています。
GeneXus で NoSQL DynamoDB 外部データベースを使用するには、次の手順に従います。
: GeneXus 18 以降では、マルチメディア (画像/音声/動画) のフィールドはサポートされません。Blob はサポートされますが、DynamoDB にバイナリフィールドの制限 (400 KB) があるため、推奨されません。

DynamoDB のデータベースを考えます:
1. GeneXus のメインメニューで、 [ ツール ] > [ アプリケーションの統合 ] > [ 外部データストアサービスインポート ] を選択します。
次のダイアログが表示されます:
イメージ:50501.png
[ サービスプロバイダー ] コンボボックスで DynamoDB を選択します。 [ 名前 ] と [ デスクリプション ] のフィールドは自動で入力されます。
[ データストア ] コンボボックスで、サービスタイプのナレッジベースで定義されているものを選択します。存在しない場合は、 [ 新規 ] ボタンを使用してここで作成できます。
[ サービス URI ] フィールドは空のままにします。
[ ユーザー ] と [ パスワード ] には、Amazon から指定されたアクセスキー IDシークレット アクセス キーを追加します。
[ 接続情報 ] には、場合によって次の内容を追加できます:
A. ローカルで作業している場合は、ローカルの DynamoDB テストサービスの URL を指定する必要があります。次に例を示します:
localurl=http://localhost:8000
: NoSQL Workbench と .NET ジェネレーターを使用してローカルで作業している場合は、次に示すように、サービスの URL に接続先のリージョン (localhost) も追加する必要があります:
localurl=http://localhost:8000;region=localhost
B. クラウドで作業している場合は、接続先のリージョンを指定できます。次に例を示します:
region=us-east-1
また、スキーマを取得するために各テーブルから読み取るレコード数を制御できます (既定値は 15)。次に例を示します:
importitems=5
次の手順として、 [ 検査 ] をクリックします。GeneXus が DynamoDB データベースに接続し、既存のテーブルからメタデータとアイテムを取得します。
2. ダイアログボックスが開き、インポートが可能なテーブルが表示されます。必要なテーブルを選択します:
インポートプロセスでは、選択したテーブルのインポートに加え、セカンダリーインデックスがすべてインポートされます。これらのインデックスにより、順序付きクエリの実行が可能になります。
選択したテーブルごとに、GeneXus によりトランザクションが作成されます。また、対応するデータビューが生成されます:
イメージ:50502.png
インポートプロセスでは、最初の 15 アイテムを読み取るため、テーブルに対するクエリも実行されます。DynamoDB は NoSQL データベースであるため、項目属性が異なるアイテムがある可能性があります。このため、GeneXus では、テーブルのほかのアイテムに含まれるすべての項目属性が取得されます。
データが格納されていない項目属性はインポートされないため、トランザクションとデータビューに手動で追加する必要があります。
現時点では、スカラー データ タイプのみがサポートされており、そこから最も適切な GeneXus データタイプの推論が試行されます。たとえば、String タイプは、コンテキストによって Character、VarChar、DateTime のいずれかにマッピングできます。
スカラー以外のデータをインポートすると、GeneXus で警告が生成され、データは VarChar に設定されます。その後、実行時の読み取り処理で、対応する JSON が String として返されます。
このインポートプロセスにより、DynamoDB データベースにアクセスするトランザクションビジネスコンポーネントFor Each コマンドデータセレクターの作業が可能になります。

考慮事項 

データストアは、 [ 設定 ] からサービスプロバイダーを使用して手動で作成できます。この場合、データストアを右クリックし、表示されるドロップダウンメニューから [ Service ] を選択します:
イメージ:53450.png
ポップアップウィンドウが開き、名前を入力できます。データストアには [ Service ] を選択します。設定が完了したら [ OK ] をクリックします。
最後に、接続情報を入力する必要があります:
[ Server name ] : 空白
[ User id ] : アクセスキー
[ User password ] : シークレット アクセス キー
[ Datastore Provider ] : DynamoDB
[ Additional conecction string attributes ] : 前述の接続情報。ここにリージョンを入力することもできます。リージョンを設定しなかった場合、既定では us-east-1 になります。
たとえば次の図は、NoSQL Workbench と .NET ジェネレーターを使用したローカル接続の場合を示しています: 
イメージ:53452.png

適用範囲

ジェネレーター: .NET.NET FrameworkJava

参考情報

ナビゲーションの制限
DynamoDB の簡単な例
FestivalTickets - 高い拡張性のサンプル

動画

イメージ:20668.png Amazon Web Services and GeneXus: The Key to Building Mission-Critical Systems
イメージ:20668.png Next-Gen Trends: NOSQL and Serverless Apps in the Cloud
イメージ:20668.png Creating Mission-Critical Applications
イメージ:20668.png Modern and Scalable Applications in the Cloud with GeneXus 18
 

バックリンク
目次: DynamoDB
DynamoDB の簡単な例
サブページ
Created: 23/04/24 18:11 by Admin Last update: 25/12/10 18:03 by Admin
カテゴリ
Powered by GXwiki 3.0