Neon -- AWS Aurora Postgres 的無服務器開源替代品
簡介
Neon 是 AWS Aurora Postgres 的無服務器開源替代品。它將存儲和計算分開,并通過跨節點集群重新分布數據來替代 PostgreSQL 存儲層。 嘗試使用 Neon免費套餐創建無服務器 Postgres 實例。然后使用您首選的 Postgres 客戶端(psql、dbeaver 等)連接到它或使用在線 SQL 編輯器。有關連接說明,請參閱從任何應用程序連接。或者,在本地編譯并運行該項目。
架構概述
Neon 由計算節點和 Neon 存儲引擎組成。計算節點是由 Neon 存儲引擎支持的無狀態 PostgreSQL 節點。
Neon 存儲引擎由兩個主要組件組成: Pageserver - 計算節點的可擴展存儲后端。 Safekeepers - Safekeepers 形成一個冗余的 WAL 服務,從計算節點接收 WAL,并將其持久存儲,直到它被 Pageserver 處理并上傳到云存儲。
- https://github.com/neondatabase/neon
Rusqlite 使用 Rust 的 SQLite 包裝器
Rusqlite 是一個使用 Rust 的 SQLite 的符合人體工程學的包裝器。從歷史上看,該 API 是基于 rust-postgres. 然而,兩者在很多方面存在分歧,并且兩者之間不存在兼容性。
使用
在您的 Cargo.toml 中:
[dependencies] # `bundled` causes us to automatically compile and link in an up to date # version of SQLite for you. This avoids many common build issues, and # avoids depending on the version of SQLite on the users system (or your # system), which may be old or missing. It's the right choice for most # programs that control their own SQLite databases. # # That said, it's not ideal for all scenarios and in particular, generic # libraries built around `rusqlite` should probably not enable it, which # is why it is not a default feature -- it could become hard to disable. rusqlite = { version = "0.29.0", features = ["bundled"] }
簡單示例用法:
use rusqlite::{Connection, Result}; #[derive(Debug)] struct Person { id: i32, name: String, data: Option<Vec<u8>>, } fn main() -> Result<()> { let conn = Connection::open_in_memory()?; conn.execute( "CREATE TABLE person ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, data BLOB )", (), // empty list of parameters. )?; let me = Person { id: 0, name: "Steven".to_string(), data: None, }; conn.execute( "INSERT INTO person (name, data) VALUES (?1, ?2)", (&me.name, &me.data), )?; let mut stmt = conn.prepare("SELECT id, name, data FROM person")?; let person_iter = stmt.query_map([], |row| { Ok(Person { id: row.get(0)?, name: row.get(1)?, data: row.get(2)?, }) })?; for person in person_iter { println!("Found person {:?}", person.unwrap()); } Ok(()) }
支持的 SQLite 版本
基礎 rusqlite 包支持 SQLite 版本 3.14.0 或更高版本。如果您需要舊版本的支持,請提出問題。一些貨物功能需要更新的 SQLite 版本;請參閱下面的詳細信息。
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
服務器
+關注
關注
12文章
9303瀏覽量
86059 -
編輯器
+關注
關注
1文章
806瀏覽量
31290 -
AWS
+關注
關注
0文章
433瀏覽量
24504 -
Rust
+關注
關注
1文章
230瀏覽量
6664
原文標題:【Rust日報】2023-08-16 Neon 基于 rust 的 AWS Aurora Postgres 的無服務器開源替代品
文章出處:【微信號:Rust語言中文社區,微信公眾號:Rust語言中文社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
MMBFJ176替代品??
如題,需要尋找一個MMBFJ176替代品,用于保證電化學檢測器在斷電的情況下兩端電位不會偏差太大。附件為MMBFJ176規格書,望大神回復下,謝謝!
發表于 07-21 08:33
如何使用ISP1763作為替代品?
已經過時,ST-Ericson提供的下一個系列是ISP1763。 ISP1760采用128引腳配置,具有16地址線和32數據線。但新的ISP1763只是64引腳,有8個地址和32個數據引腳。我們如何使用ISP1763作為替代品?這有什么替代方案嗎?-謝謝
發表于 09-04 07:00
Commodore 6540 ROM的替代品
的 6540 ROM 芯片組的直接替代品。我發現 D'Asaro 項目非常好且緊湊,但更難構建。此外,他僅以 PCBexpress 格式發布該項目,無法將其導出到 Gerber。由于
發表于 09-02 07:26
MC908JL3ECDWE的替代品是什么?
我正在尋找 8 位 MCU MC908JL3ECDWE 的替代品,因為不建議將其用于新設計(已過時)。為了最大限度地減少工作量,我們希望減少對 28 引腳 SOIC 封裝的替換和簡單的代碼更改
發表于 06-05 06:17
看好無服務器計算市場 AWS云應用庫啟用
近日,AWS Serverless Application Repository已全面上市。借助無服務器計算,AWS等云提供商可以管理硬件,無
發表于 02-26 12:20
?524次閱讀
“無服務器”計算興起_AWS開啟云應用庫
無服務器計算是云計算執行模型,在這種模型下,云提供商自動管理機器資源的分配。無服務器計算的主要承諾是開發人員無需擔心構建應用的底層硬件,讓他們的生活變得更加輕松。借助
發表于 03-19 18:45
?912次閱讀
AWS發布新一代Amazon Aurora Serverless
。同時,AWS還發布了一個新的開源項目,幫助更多組織從傳統數據庫遷移到開源替代方案。對于不想處理自助數據庫繁雜工作的客戶,Amazon Aurora
AWS上的無服務器多層架構
我們之前關于 AWS 無服務器平臺的文章討論了該平臺的基本原理和挑戰以及簡單的應用程序使用案例。在本文中,我們將介紹企業如何使用 AWS 云實施具有多層架構的
Rust編寫的首個Postgres基礎Elasticsearch開源替代品問世
PostgreSQL 的生態確實越來越繁榮了,在基于 PG 的擴展與衍生中,我們已經有了基于 MongoDB 開源替代 —— FerretDB,SQL Server 開源替代 Babe
評論