使用Vert.x最佳化關聯式資料庫PostgreSQL訪問 | foojay
HTTP/2 引入多路複用以大幅提高效能花了 25 年的時間。大多數資料庫協議還沒有遵循相同的路徑,仍處於連線池的石器時代(至少具有公開記錄協議的資料庫)。多路複用資料庫協議可以提高效能,並使連線池成為過去。它還將為從資料庫中高效傳輸資料提供基礎。
該文使用PostgreSQL非同步客戶端Vert.x PostgreSQL Client為 PostgreSQL 實現了流水線管道操作。使用此客戶端,您可以透過將多個語句排入與資料庫的單個交換中來增加併發性。
PostgreSQL 是否支援訊息流水線是一個合理的問題。PostgreSQL 客戶端協議使用長度字首成幀技術。因此,它準確地知道要讀取多少位元組來處理訊息。當 PostgreSQL 處理一條訊息時,它會讀取這條訊息的確切位元組數。然後它寫入響應訊息並恢復訊息處理。當客戶端管道傳輸多條訊息時,PostgreSQL 只讀取第一條訊息,然後在寫入響應訊息後讀取後面的訊息;唯一的區別在於客戶端沒有等待響應傳送訊息。
Vert.x PostgreSQL Client 支援連線級流水線和池級流水線:
- 連線級流水線允許在同一連線上流水線查詢。
- 池級流水線公開了由連線池支援的客戶端 API。它可以在池的任何連線上管道多個查詢。池可以應用最佳化,例如選擇最合適的連線(例如,具有較少飛行命令的連線)
該文開發了一個基準測試,測量在單個 PostgreSQL 連線上執行 5000 個查詢;每個執行都被配置為使用不同級別的流水線,詳細點選標題
相關文章
- Serverless 解惑——函式計算如何訪問 PostgreSQL 資料庫Server函式SQL資料庫
- 關聯式資料庫比較:SQLite vs MySQL vs PostgreSQL資料庫SQLiteMySql
- 資料庫關聯問題資料庫
- Holer實現外網訪問PostgreSQL資料庫SQL資料庫
- Web Sql 關聯式資料庫WebSQL資料庫
- 關聯式資料庫設計資料庫
- 關聯式資料庫之父 (轉)資料庫
- 關聯式資料庫與文件資料庫對比資料庫
- 關聯式資料庫很快會替代向量資料庫資料庫
- 關聯式資料庫分片原則資料庫
- 關聯式資料庫 Query_Execution資料庫
- 大型網站資料庫及資料訪問最佳化(轉)網站資料庫
- 關聯式資料庫和NoSQL結合使用:MySQL + MongoDB資料庫MySqlMongoDB
- 資料庫 - 關聯式資料庫標準語言SQL資料庫SQL
- 從關聯式資料庫遷移到NoSQL雲資料庫資料庫SQL
- 【轉載】關聯式資料庫還是NoSQL資料庫資料庫SQL
- jmeter 使用 ssh 方式訪問資料庫JMeter資料庫
- 關聯式資料庫的封建迷信資料庫
- 從關聯式資料庫遷移到CouchDB資料庫
- PostgreSQL關係型資料庫SQL資料庫
- 使用反應式關聯式資料庫連線規範R2DBC操作MySQL資料庫資料庫MySql
- 微課sql最佳化(10)、關於資料訪問方法SQL
- Osquery:將作業系統當作關聯式資料庫使用作業系統資料庫
- 使用 @NoRepositoryBean 簡化資料庫訪問Bean資料庫
- 關聯式資料庫SQL面試排名前100道問答題資料庫SQL面試
- 從關聯式資料庫向NoSQL遷移資料庫SQL
- 關聯式資料庫SQL語言略解資料庫SQL
- JDBC資料庫訪問JDBC資料庫
- 資料庫訪問最佳化法則詳解之返回更少的資料資料庫
- PostgreSQL資料庫匯入大量資料時如何最佳化SQL資料庫
- 使用R2DBC實現資料庫的響應式訪問資料庫
- 關於訪問資料庫的使用者名稱和密碼資料庫密碼
- 使用speedment以Java 8 Stream訪問資料庫Java資料庫
- 使用PowerBuilder同時訪問多個資料庫UI資料庫
- 事件溯源將顛覆關聯式資料庫! - Remy事件資料庫REM
- 事件溯源超越關聯式資料庫 - confluent事件資料庫
- 規劃關聯式資料庫學習筆記資料庫筆記
- 在關聯式資料庫中儲存RDF (轉)資料庫