MongoDB schema は、多形性、スパース性、ネストされた構造化データなど、 MongoDBに存在するデータを記述するJSON schema です。Atlas Data Federation は、コレクションまたはビュー内のドキュメントからデータをサンプリングしてスキーマを自動的に生成できます。SQLベースのツールを Atlas データソースに接続する場合は、MongoDB スキーマが必要です。
MongoSQL は、 クエリエンジンとして Atlas Data Federation を活用します。フェデレーティッドデータベースレベルで MongoSQL スキーマを構成します。
SQL接続を作成したら、MongoDBスキーマが設定されていることを確認します。MongoDB のクイック スタート設定用に、Atlas Data Federation はコレクションまたはビュー内のドキュメントのデータをサンプリングしてスキーマを自動的に生成します。MongoSQL の高度な構成設定については、 SQLベースのツールから分析する Atlas Data Federationコレクション用の MongoSQL を生成します。
すでにスキーマがあるコレクションまたはビューの名前を変更すると、スキーマの名前も変更されます。
さらに、ワイルドカード( * )コレクションの場合、Atlas Data Federation は、ワイルドカード( * )コレクションの名前空間カタログでコレクションを検出するときにスキーマを生成します。
スキーマを管理する
UI またはmongoshを使用して、すべてのコレクションとビューのスキーマを手動で生成したり、スキーマの更新を設定またはスケジュールしたり、保存されたスキーマを表示したりできます。 定期的なスキーマ更新をスケジュールすることもできます。
空のスキーマ ドキュメントでmongoshを使用してスキーマを編集コマンドを実行すると、コレクションまたはビューのスキーマを手動で削除できます。 Data Federation は、次の場合にコレクションまたはビューのスキーマを自動的に削除します。
ストレージ構成からコレクションまたはビューを削除します。
ストレージ構成を変更して、ストレージ構成からコレクションまたはビューを削除します。
コレクションまたは ビュー を含むデータベースをストレージ構成から削除します。
さらに、ワイルドカード( * )コレクションの場合、Atlas Data Federation は、コレクションが名前空間カタログから削除されたことを検出すると、スキーマを削除します。
JSON schema 形式
コレクションのスキーマは、 jsonSchemaとversionの 2 つのフィールドを持つドキュメントです。
"schema" : { "version" : NumberLong(1), "jsonSchema" : <JSON Schema object> }
versionフィールドは、ドキュメントが使用するスキーマ形式のバージョンを表します。 値は常に1です。 jsonSchemaフィールドは、 名前空間のスキーマを記述するドキュメントです。
サポートされている JSON schema フィールド
MongoSQL は次のJSON スキーマフィールドをサポートしています。
bsonTypeitemspropertiesadditionalPropertiesrequired
注意
itemsフィールドには単一のドキュメントまたはドキュメントの配列を指定できます。 スキーマを取得すると、 itemsフィールドにはスキーマの設定に使用したフォームが表示されます。
これらのフィールドの詳細については、「 JSON schema キーワード 」を参照してください。