Data Connect

Data Connect

Summary

Data Connect 是 Google Firebase 的其中一項產品。在 Firebase 眾多服務中,現有的資料庫產品主要是 Firestore,這是一種非關聯式資料庫,資料結構包括 collections(集合)、documents(文件)與 data(資料)。然而,由於關聯式資料庫的需求仍然相當龐大,Google 開發了一項全新的產品,也就是 Data Connect。

Data Connect 是一種關聯式資料庫,其書寫語法採用 GraphQL,但其底層基礎仍然是 PostgreSQL。值得一提的是,GraphQL 最初是 Facebook 的內部技術,後來被開放為開源項目。相較於 SQL,GraphQL 的語法更為簡單,但靈活性與表達能力可能不如 SQL 那般接近自然語言。

Data Connect 的另一大特色在於其對向量資料的支持。它提供了模型來計算矩陣數值,讓使用者能夠方便地存取與操作向量資料。這一特性使得 Data Connect 在需要處理向量或高維數據的應用場景中,具備極大的優勢。

Q&A

  1. Q:GraphQL 語法的驚嘆號是什麼? A:代表欄位一定要有值
  2. 可以實現Emebedding功能嗎? A: 可以,只是要開啟Verext ai收費功能。

資料夾結構

image

Transaction

:::info Cloud Firestore 支援讀取和寫入資料的不可部分完成作業。在一系列不可分割的作業中,所有作業都會成功,或是全部不予套用。Cloud Firestore 中有兩種原子作業:

交易:交易是一或多個文件上的一組讀取和寫入作業。 批次寫入:批次寫入是指一或多份文件上的一組寫入作業。 :::

try { await runTransaction(db, async (transaction) => { const sfDoc = await transaction.get(sfDocRef); if (!sfDoc.exists()) { throw “Document does not exist!”; }

const newPopulation = sfDoc.data().population + 1;
transaction.update(sfDocRef, { population: newPopulation });   });   console.log("Transaction successfully committed!"); } catch (e) {   console.log("Transaction failed: ", e); } ```

交易失敗

實作練習

參考