iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0

接下來,會開始學習Nosql的相關內容,我選擇firebase做為學習主軸,會選擇它的原因除了因為firebase提供Nosql資料庫(firestore、realtime database)外,還提供簡單的SDK與API,支持多個平台(如 Android、iOS 和 Web),對第一次接觸的我來說也比姣好上手!而且,Firebase也提供各種附加功能,也使它成為一個完整的後端服務平台BaaS,讓我它產生好奇~

補充:SDK(Software Development Kit),是開發者用來創建應用程式或其他軟體解決方案的一組工具和資源,可以幫助開發者快速且簡單地整合外部服務或開發應用

首先,先來認識關於關聯式資料庫與非關聯式資料庫

  • 資料庫

    • 關聯式資料庫(RDBMS)
      • 一種儲存並提供各資料表中彼此相關的數據關連起來訪問資料庫
      • 讓使用者存取和操控高結構化表格中的資料
      • 例如:MYSQL、SQL Server、Oracle、PostgreSQL
      • 特點:
        • 由多個資料表(table)組成
        • row表一筆資料,column表資料欄
        • schema需先定義好且只接受相同格式資料去做修改插入等異動,因此資料一致性
        • 使用關鍵字join做各種查詢(如合併查詢、外部查詢等)
        • 使用SQL做管理與查詢動作
        • 確保數據的一致性(ACID屬性)
    • 非關聯式資料庫(NOSQL)
      • 不需要定義scheme、沒有關聯的關係、不局限於表格結構
      • 廣泛用於即時 Web 應用程式和巨量資料
      • 例如:MongoDB(文檔型)、Redis(鍵值型)、Neo4j(圖形型)。
      • 資料庫類型:
        • 鍵值資料庫:把數據以鍵-值隊的形式做儲存,適用於儲存簡單的數據
        • 文件資料庫:以類似JSON格式的文檔來存儲數據,適合存複雜的結構化數據
        • 圖形資料庫:儲存和查詢節點和邊之間複雜關係的數據,常用於社群
        • 寬欄資料庫:以表格、資料列、資料欄的形式儲存管理資料
      • 特點:
        • 有自己專門的查詢語言或API
        • 資料庫由collection組成
        • collection中每一筆資料為一份document,且資料格式不需一致,因此方便做異動,開發更彈性
        • 高擴展性,常用於分散式雲端系統,適合做大規模數據的處裡
        • 高可用性,能自動在多個伺服器或雲端資源等之間複製資料
    • 關聯式資料庫(RDBMS) vs 非關聯式資料庫(NOSQL)
      • 以表格形式做比較
        https://ithelp.ithome.com.tw/upload/images/20240904/20168759MgC1NYsGXp.png
        接著,開始認識Firebase!!
    • 介紹:Firebase 是由 Google 提供的一個行動應用程式開發的平台服務,也就是BaaS(Backend-as-a-Service)。能同時支援Android、iOS以及Web的app雲端開發平台,可以幫助我們加快開發app的時間,協助在雲端建立一個服務所需的後台服務。主要核心為該數據分析功能。主要功能有即時資料庫、身分驗證、雲儲存、雲功能等等,接下來幾天會一一做分享
    • 安裝:
      Step1 以google搜尋firebase,並登入google帳號
      https://ithelp.ithome.com.tw/upload/images/20240904/20168759R7uh0306W6.png

    Step2 按開始使用firebase專案後,輸入專案名稱
    https://ithelp.ithome.com.tw/upload/images/20240904/20168759p1uU4uTNil.png
    Step3 按建立專案
    https://ithelp.ithome.com.tw/upload/images/20240904/20168759QWrOPFysmh.png
    Step4 跟著指示按繼續,出現以下畫面表示建立成功!!
    https://ithelp.ithome.com.tw/upload/images/20240904/20168759byQKaKIZV3.png
    Step5 設定環境 nodejs
    下載node.js並完成設定
    https://ithelp.ithome.com.tw/upload/images/20240906/20168759bL2xctI5XM.png
    https://ithelp.ithome.com.tw/upload/images/20240906/20168759ObDa9ZTUef.png

  • 參考資料:

下一章: Firebase Authentication 用戶驗證


上一篇
Day16 專題二 利用觸發器追蹤投票者資料異動(下)
下一篇
Day18 Firebase Authentication用戶驗證
系列文
從零開始的MySQL開發旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言