NocoDB 是一款開源的無程式碼資料庫平臺,可以進行資料管理和應用開發。它的靈感來自 Airtable,支援與 Airtable 類似的電子表格式互動、關係型資料庫 Schema 設計、API 自動生成等特性。
但與 Airtable 相比,NocoDB 完全免費且程式碼開源,可以透過 Docker 等方式快速部署到自己的伺服器,也可以使用官方提供的線上託管服務。NocoDB 支援多種資料來源,包括 MySQL、PostgreSQL、SQL Server、SQLite 等主流關係型資料庫,也能連線 Airtable、Google 表格等 SaaS 服務。
NocoDB 在功能和體驗方面也在快速追趕 Airtable,已經能滿足許多常見的資料管理場景。但 NocoDB 作為一個相對較新的專案,在擴充套件應用、整合服務等方面還不如 Airtable 生態那麼豐富。一些高階功能如 Blocks、自動化操作等暫時也沒有完全實現。不過,NocoDB 積極擁抱開源社群的貢獻,正在快速迭代和改進,相信會不斷縮小與 Airtable 的差距。
快速部署 NocoDB
NocoDB 雖然提供了 Docker 等多種部署方式,但如果你想最快速、最便捷地部署自己的 NocoDB 例項,使用 Sealos 應用市場是一個絕佳的選擇。Sealos 應用市場提供了很多開箱即用的應用,其中就包括 NocoDB,只需要點一下滑鼠,就可以快速部署自己想要的應用。
使用 Sealos 部署 NocdDB 非常簡單,只需要開啟這個連結:
- https://bja.sealos.run/?openapp=system-template%3FtemplateName%3Dnocodb
然後點選右上角的 “部署應用” 開始部署,部署完成後,直接點選應用的 “詳情” 進入該應用的詳情頁面。
等待應用變成 Running 狀態,然後點選日誌按鈕檢視日誌,只要出現了下面的日誌,便是啟動成功了:
點選外網地址即可透過外網域名直接開啟應用的 Web 介面。
註冊賬號登入之後即可進入管理介面。
使用 NocoDB 建立和管理資料庫
NocoDB 的介面與 Airtable 非常相似,基於電子表格的隱喻,讓非技術使用者也能輕鬆上手。要建立一個新的資料庫,只需點選 “新建專案”,輸入專案名稱,然後新增表格。每個表格相當於關係型資料庫的一個表,可以自定義欄位 (列) 的名稱和型別。
NocoDB 支援文字、數字、單選、多選、電子郵件、URL、檔案等多種欄位型別,覆蓋了大部分常見資料型別。欄位還可以設定驗證規則,比如必填、唯一、最大/最小值等。此外,NocoDB 還支援表與表之間的連結 (外來鍵),可以構建一對一、一對多、多對多等關係模型。資料錄入後,可以靈活地進行排序、篩選、分組等操作。
除此之外,NocoDB 還支援連線外部資料庫,並對資料庫的資料進行管理。Sealos 提供了一個資料庫叢集部署管理工具,可以幫助你快速部署資料庫叢集。以我在 Sealos 中部署的某個應用的資料庫為例,開啟 Sealos 桌面的 “資料庫” 應用:
開啟某個資料庫的詳情 (以 PostgreSQL 為例),點選 “連線資訊” 右邊的 👁 圖示,便可以看到資料庫的連線資訊。
然後在 NocoDB 中 “新建專案”,點選 “連線資料來源”:
輸入資料來源的連線資訊,然後點選 “測試資料庫連結”:
測試連結成功後,再點選提交,便接入了 PostgreSQL 資料庫。
與 Airtable 類似,NocoDB 支援多種檢視,包括網格 (Grid)、畫廊 (Gallery)、看板 (Kanban)、日曆 (Calendar) 和表單 (Form) 等。不同的檢視適用於不同的場景,比如看板檢視便於管理任務和專案進度,日曆檢視便於展示帶有時間屬性的事件,表單檢視可以方便地收集和錄入資料。NocoDB 還能自動生成每個表格的 REST API 和 GraphQL API,支援 CRUD 等常見操作。開發人員可以方便地將 NocoDB 作為後端服務,開發定製的應用程式。NocoDB 還提供了 API 文件 (Swagger) 和 API 認證 (JWT 等),便於安全地整合和呼叫。
連線外部資料庫後,每個表的預設檢視是網格檢視,我們可以在相應的表下面點選 “新建檢視” 來建立額外的檢視模式:
這是我新建的畫廊檢視:
總結
NocoDB 作為一款免費開源的 Airtable 替代品,在許多線上資料管理場景下可以實現類似的功能和使用體驗,且沒有付費門檻和廠商鎖定風險,對預算有限或注重資料自主可控的個人和組織還是很有吸引力的。透過自部署或使用免費的託管服務,就可以快速建立功能豐富的線上資料庫,並利用 API 進一步開發應用。儘管 NocoDB 目前在功能和生態方面還不如 Airtable,但其開源、免費、易用、可擴充套件的特點已經足以成為一個值得關注的 Airtable 替代方案。