Neno 一個基於 Postgres 的 Serverless Database

更新於 發佈於 閱讀時間約 5 分鐘
Neon 是基於 PostgreSQL 的 Serverless Database,具備了 Serverless 帶來的高乘載量、划算的費用與 PostgreSQL 強大的效能的一款開源資料庫服務。

撰文當下為 2023/02/17,目前 Neon 仍處於預覽階段。

什麼是 Serverless

Serverless 是雲端服務的一種型態。以往使用雲端服務都是租一台雲端上的 VM 或是如 RDS 資料庫這種預先處理得好的服務,而只要啟用了就會開始計算費用,無論是否有實際的使用者進行連線。
Serverless 提供一種計價與使用更細緻的的架構,如同使用託管資料庫一樣客戶不需要管理實際的部署、細節的參數或管理伺服器叢集與附載平衡,更進一步達到只有使用了才要付費,算的是實際使用的時間而不是只要租用就需要付費,而由於架構上也是針對實際的 Request 才會產生執行個體來處理請求,因此理論上 Serverless 在架構上就具備了水平拓展的能力,十分適合用來開發 SaaS 服務在乘載量與維運成本達到一個平衡

Serverless Database 是如何實現的

Neon 將資料庫拆離成應用程式儲存空間,可以理解成後端架構常見的無狀態 API 與保存狀態的 Database。
應用程式端用 Compute 來稱呼 Serverless 化的 PostgreSQL 由於沒有了狀態,可以在需要使用時才啟動,也做到沒有使用就不佔算力,而要使用時則可以透過 k8s 調度多組 Compute 來達到即時性的算力提升,這也解決了以前資料庫算力無法水平拓展的問題,有機會讓資料庫內寫 SP 的老專案進行搬移而沒有效能上的瓶頸,或許有機會視為老專案又沒有人力改寫的救星。
儲存空間設計了像是讀寫分離層的 SafekeeperPageserverObject storageSafekeeper 可以理解成是讀寫分離中的寫入 Main Database,而 Pageserver 理解成同步後擔任讀取的 Slave Database,而 Object storage 可以視為是封存資料庫部分資料用以降低負擔的 Archive 層,而不同的是這些過程都不需要使用者煩惱架構,Neon 都會自動處理確保了資料的安全性與足夠經濟的維護成本。
Neno 架構,來自 https://neon.tech/docs/introduction/architecture-overview

資料庫分支功能

除了 Serverless 的好處外,Neno 還具備 Branching 的功能,我們可以像軟體開發一樣,為每一個資料庫分岔出一個獨立的分支,讓程式碼的分支可以完全等於資料庫的結構,避免了共用資料庫造成欄位讀取錯誤的問題,很大程度加速了開發與簡化資料庫管理的問題。
來自 https://neon.tech/docs/introduction/branching

如何申請使用與重點功能介紹

由於目前還是預覽階段而有提供免費方案,可以前往 免費額度的說明頁面 了解並申請服務使用。
由於免費額度的限制,因此看到專案的上限只有一個
Neon Dashboard 上可以看到目前該專案擁有的資料庫分支、連線字串、已使用額度與連線紀錄
Neon 儀表板
我們可以產生分支,並且可以選擇要複製的分支與要複製分支內什麼時間範圍後的資料。
分支一覽
新建分支
選擇是否要產生新的連接端點與複製哪一段時間的資料

優勢與競爭對手

在 Neon 推出之前已有 Amazon Aurora 這樣成熟的 Serverless Database 在市場上,但 Amazon Aurora 是閉源的產品,而 Neon 是開源的專案這意味著有能力的公司可以基於 Neon 進行自託管或是改良其中的邏輯回饋於社群並且獲得更好的體驗。
Neon 在 Docker Hub 上有提供了 Image 可以使用,適用於對資料有高度監管的單位與想要在內部環境搭建的企業。
其獨特的 Branching 機制是目前其他資料庫服務還未看到的,而這樣的機制在我實際公司專案投入下是很大程度了解決了資料庫遷移與版本控制的問題,是一個看上去很普通但實際使用很驚艷的功能,這會帶來很強的競爭力。

目前 Neno 是否可以投入正式環境?

還沒有辦法。
由於目前還在預覽階段,因此不建議投入正式環境,但有提供很佛心的免費的額度可供測試,可以在上面進行開發與測試並且等待正式版本的發佈,這裡是免費額度的說明頁面

實際使用經驗

官方宣稱與 PostgreSQL 15 完全兼容,而測試下來也的確沒有遇到問題,效能上十分的驚艷,也嘗試執行了大量的 SP 來做測試而結果令人滿意。
備份還原機制能準確到秒級的還原,備份還原加上分支的機制對 AP 端產生異常資料時是一個很棒的機制,確保了可以先將有問題的資料分支出來並且還原資料到版本更新之前,不會導致無法找尋問題也可以確保服務不會因此中斷。

參考資料

為什麼會看到廣告
分享網站開發的前端、後端、資料庫與部屬維運技術,並記錄在工作上的心得
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Discord Bot 就是在 Discord 群組中可以回話與管理群組成員的機器人,依據開發者的設計能有不同的功能,這篇文章想要教的是如何向 Discord 申請一個自己的 Bot,日後才會介紹如何開發自己想要的功能。
不論是 GraphQL 與 RESTful API 都需要生態系的支撐,才會好用與完整 這篇會先介紹 GraphQL 的生態系工具。
這裡會針 GraphQL 與 RESTful API 這兩者介面所需要做的事情來比較其應用的場景。
fast endpoints 是一個支援 .NET 6 以上(Nuget 版本清單) 的 API 輕量框架,雖以簡單與高性能為主打,但也提供了很多常用的功能實現,如 Swagger 整合、Jwt 認證、Api 版本控制、APi 速率限制、Api 回應快取…很適合以此為基礎打造 Api 服務。
MongoDB 在排序時會將資料全部載入記憶體,之後在記憶體中進行排序,而預設開放給排序的記憶體只有 32 MB,因此在大量資料排序時就會引發該錯誤。
Discord Bot 就是在 Discord 群組中可以回話與管理群組成員的機器人,依據開發者的設計能有不同的功能,這篇文章想要教的是如何向 Discord 申請一個自己的 Bot,日後才會介紹如何開發自己想要的功能。
不論是 GraphQL 與 RESTful API 都需要生態系的支撐,才會好用與完整 這篇會先介紹 GraphQL 的生態系工具。
這裡會針 GraphQL 與 RESTful API 這兩者介面所需要做的事情來比較其應用的場景。
fast endpoints 是一個支援 .NET 6 以上(Nuget 版本清單) 的 API 輕量框架,雖以簡單與高性能為主打,但也提供了很多常用的功能實現,如 Swagger 整合、Jwt 認證、Api 版本控制、APi 速率限制、Api 回應快取…很適合以此為基礎打造 Api 服務。
MongoDB 在排序時會將資料全部載入記憶體,之後在記憶體中進行排序,而預設開放給排序的記憶體只有 32 MB,因此在大量資料排序時就會引發該錯誤。
你可能也想看
Google News 追蹤
Thumbnail
2025 年,從分享精彩的 #Myvocus2024 年度回顧開始! #Myvocus2024 年度回顧通知已送達 vocus 的 2024 有超過 12 萬筆訂單、35 萬則以上的內容、16 萬以上的新會員、4 千+ 筆數位商品訂單,5 萬 + 則貼文! 曬曬你的 2024 vocus 吧!
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
Orderly Network是一個基於NEAR區塊鏈的無需許可的去中心化交易協議及模組化生態系統。本文介紹了Orderly Network的運作機制,鏈上數據分析,投資者結構,和優點和缺點。
Thumbnail
經過前兩篇文章(Notion 是什麼?你適合使用 Notion 嗎、Notion 介面一覽及必備設定)的介紹,相信大家對 Notion 的功能及介面有了大致的瞭解,這次想要與大家分享的是我認為 Notion 中最具代表性的功能,Database。
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
IaaS是一種雲端服務模型,所使用的運算資源託管在公有雲 、私有雲或混合雲中,能將傳統IT硬體設備統整為虛擬的運算資源,而得以針對運算需求彈性地調配資源。
在這個數據驅動的時代,企業在選擇數據儲存和計算資源的方式上有兩個主要選項:On-Premises(本地部署)和Cloud Server(雲端伺服器)。每種方式都有其獨特的特點、優勢與挑戰。本文將簡單介紹這兩種技術,探討它們的差異、優點及面臨的挑戰。
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
※ 什麼是MongoDB? MongoDB是一個開源、跨平台的非關聯式資料庫,屬於一種文件導向(Document-oriented database)的資料庫管理系統,也就是 NoSQL 數據庫管理系統(DBMS)。 ※ 什麼是非關聯式資料庫(NoSQL)? 非關聯式資料庫(NoSQL)的意思
AWS Nitro Enclaves 是一項新的 EC2 功能,使客戶能夠創建隔離的計算環境 (Enclaves) 來進一步保護和安全地處理高度敏感的數據,例如其 Amazon EC2 實例中的個人身份信息 (PII)、醫療保健
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。
Thumbnail
2025 年,從分享精彩的 #Myvocus2024 年度回顧開始! #Myvocus2024 年度回顧通知已送達 vocus 的 2024 有超過 12 萬筆訂單、35 萬則以上的內容、16 萬以上的新會員、4 千+ 筆數位商品訂單,5 萬 + 則貼文! 曬曬你的 2024 vocus 吧!
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
Orderly Network是一個基於NEAR區塊鏈的無需許可的去中心化交易協議及模組化生態系統。本文介紹了Orderly Network的運作機制,鏈上數據分析,投資者結構,和優點和缺點。
Thumbnail
經過前兩篇文章(Notion 是什麼?你適合使用 Notion 嗎、Notion 介面一覽及必備設定)的介紹,相信大家對 Notion 的功能及介面有了大致的瞭解,這次想要與大家分享的是我認為 Notion 中最具代表性的功能,Database。
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
IaaS是一種雲端服務模型,所使用的運算資源託管在公有雲 、私有雲或混合雲中,能將傳統IT硬體設備統整為虛擬的運算資源,而得以針對運算需求彈性地調配資源。
在這個數據驅動的時代,企業在選擇數據儲存和計算資源的方式上有兩個主要選項:On-Premises(本地部署)和Cloud Server(雲端伺服器)。每種方式都有其獨特的特點、優勢與挑戰。本文將簡單介紹這兩種技術,探討它們的差異、優點及面臨的挑戰。
※ MySQL是什麼? MySQL是一種開源(免費)的關聯式資料庫管理系統,所以任何人都可以免費使用,是Web開發中最常用的資料庫之一。MySQL 會將資料儲存在由資料列與資料欄組成的資料表中。使用者可使用結構化查詢語言 (通常稱為 SQL) 來定義、操控、控管及查詢資料。  簡單來說,資料
※ 什麼是MongoDB? MongoDB是一個開源、跨平台的非關聯式資料庫,屬於一種文件導向(Document-oriented database)的資料庫管理系統,也就是 NoSQL 數據庫管理系統(DBMS)。 ※ 什麼是非關聯式資料庫(NoSQL)? 非關聯式資料庫(NoSQL)的意思
AWS Nitro Enclaves 是一項新的 EC2 功能,使客戶能夠創建隔離的計算環境 (Enclaves) 來進一步保護和安全地處理高度敏感的數據,例如其 Amazon EC2 實例中的個人身份信息 (PII)、醫療保健
Thumbnail
本篇說明如何利用Kubernetes特色,將PostgreSQL DB以HA的架構來提供服務,並說明相關的實作流程與說明。