iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
Software Development

IT邦鐵人賽文章搜尋引擎系列 第 10

[Day 10] Serverless Database - 我才不會喜歡上像 supabase 這樣的資料庫呢!! |【搜尋引擎製作錄】

  • 分享至 

  • xImage
  •  

Github, Over Engineering

前面三篇我麼講述了如何實作網路爬蟲,從網頁上擷取資料。
接下來我們要用一天的篇幅,
簡單介紹如何將爬蟲所擷取的初始資料存入資料庫,
以用後續的資料處理。

礙於篇幅緣故,過多細節的部分,會挑重點講述,如有疑問歡迎留言討論

Supabase

首先,我們要先介紹這次所使用的 serverless postgres,supabase

serveless 資料庫幫我省去了自己架設資料庫的功夫,
我們只需要在 supabase 上創建帳號後,
開一個新的 project,便可以透過 API key 連接資料庫,開始使用。

Client 端,目前 suapbase 有支援 javascript 的函式庫 supabase-js
python 的 alpha 版函式庫 supabase-py
我們在爬蟲及後續資料處理、後端時,都有用到。

此外,supabase 網站上有提供 SQL Editor 及 Table Viewer,
透過 UI 介面下指令,建立新的資料庫或是瀏覽資料。

建立 Tables

這次在建立 tables 時,
主要要考慮到存取對象的需求及會用到的 fields,
這次我們建立並使用的主要 table 是 articles
下方有它的 fields。

Stored Procedure

此外,還會用到 stored procedure
它類似於 SQL 資料庫端的 functions,
我們後續在實作後端 API 會比較詳細提到,
後端會使用 Supabase Client 函式庫,
透過 rpc 的方式去執行這些預存於 Supabase server 的 stored procedure
(可以參考 supabase readme)

明天我們會開始進入資料處理與 NLP 的部分。


上一篇
[Day 09] 如何用 GitHub Action 做爬蟲排程 - 關於轉生爬蟲後的那檔子事 |【搜尋引擎製作錄】
下一篇
[Day 11] 資料前處理 - 果然我的自然語言處理搞錯了。|【搜尋引擎製作錄】
系列文
IT邦鐵人賽文章搜尋引擎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言