Datastream 可讓您從 MongoDB 來源複製歷來資料和變更事件,以便進行即時分析及同步處理資料庫。MongoDB 是開放原始碼 NoSQL 資料庫,可將類似 JSON 的文件 (包括內嵌文件) 整理成集合。MongoDB 不使用關聯式資料列和資料欄,而是以二進位 JSON (BSON) 格式儲存每筆記錄,並以 JSON 格式擷取。
設定 MongoDB 來源前,請先查看 Datastream 的重要詞彙、複製行為、支援的版本和已知限制。
重要詞彙
使用 MongoDB 來源時,您需要瞭解下列重要詞彙:
SRV 連線:主機名稱與網域名稱服務 (DNS) 服務記錄 (SRV) 對應的連線字串。字串格式如下:
mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]詳情請參閱 MongoDB 說明文件。
標準連線字串:MongoDB 連線 URI 的標準格式,用於連線至自行託管的 MongoDB 獨立部署項目、副本集或已 shard 的叢集。字串格式如下:
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]詳情請參閱 MongoDB 說明文件。
副本集:MongoDB 伺服器叢集,可實作複製和自動容錯移轉。副本集提供備援和高可用性,是所有正式環境部署作業的基礎。
已 shard 的叢集:MongoDB 已 shard 的叢集包含 shard、mongos 和設定伺服器。MongoDB 會在集合層級對資料進行 shard,將集合資料分散到叢集中的各個 shard。
mongos:用戶端應用程式和 sharded 叢集之間的介面。
mongos則做為查詢路由器,並將作業寫入 shard。集合:MongoDB 以階層結構組織資料。MongoDB 部署作業包含一或多個資料庫,每個資料庫包含一或多個集合。在每個集合中,MongoDB 會將資料儲存為包含欄位和值組合的文件。集合類似於關聯式資料庫中的資料表。
行為
來源 MongoDB 資料庫會依據變更串流,將變更複製到目的地。變更串流可讓您存取即時資料,並支援副本集和 sharded 叢集。
- 設定完成後,系統會複製所含物件的所有歷來資料。
- 所有變更 (例如從指定物件插入、更新和刪除) 都會複製。
版本
Datastream 支援 5.0 以上的 MongoDB 版本。
已知限制
使用 MongoDB 做為來源的已知限制包括:
- 使用 Datastream API 時,您只能指定要從串流中排除哪些欄位。不支援指定欄位的納入清單。
- 嚴格模式不支援
Infinity、-Infinity和NaN數值。如果文件在嚴格模式下包含這些值,系統會捨棄文件。如果資料庫包含這些值,請使用標準模式 (預設)。詳情請參閱「MongoDB 資料類型」。 - Datastream 不支援以要求單位 (RU) 為基礎的 Azure Cosmos DB。
- Datastream 不支援 Amazon DocumentDB 彈性叢集。
- Datastream 不會複製 MongoDB 時間序列集合中的變更事件,因為 MongoDB 不支援這些集合的變更串流。Datastream 只會回填時間序列集合,不會複製回填後執行的插入、更新或刪除作業。
後續步驟
- 瞭解如何設定 MongoDB 來源,以便與 Datastream 搭配使用。
- 瞭解如何使用 API 和 gcloud CLI 建立 MongoDB 串流。