精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

響應式數據庫驅動協議ADBA和R2DBC

汽車玩家 ? 來源:碼農小胖哥 ? 作者:碼農小胖哥 ? 2020-04-12 19:40 ? 次閱讀

1. 前言

響應式編程已經在Java編程領域出現很長一段時間了。具有高性能,事件驅動,充分利用計算資源,更加優雅的異步編程體驗,同時它也提供了背壓機制來防止系統過載。很長一段時間Java的響應式只能同MongoDB、Redis等這些非關系型數據庫進行交互。而目前我們大部分的數據還是存放在關系型數據庫中,大部分情況下Java使用JDBC來操作關系型數據庫,而JDBC是阻塞的、同步的。所以迫切需要一種支持響應式的數據庫驅動協議。目前市面上有兩種響應式數據庫驅動協議,我們來了解一下它們。

2. ADBA

ADBA[1]是Oracle主導的Java異步數據庫訪問的標準API。它的目的性是集成于未來Java的標準發行版中,目前發展比較慢,目前只提供OpenJDK的沙盒特性供開發者研究之用。它不打算作為JDBC的擴展或替代,而是一個完全獨立的API,該API提供對JDBC相同數據庫的完全無阻塞訪問。

3. R2DBC

Spring官方在Spring 5發布了響應式Web框架Spring WebFlux之后急需能夠滿足異步響應的數據庫交互API。 由于缺乏標準和驅動,Pivotal(Spring 官方)團隊開始研究反應式關系型數據庫連接(Reactive Relational Database Connectivity),并提出了R2DBC規范API以評估可行性并討論數據庫廠商是否有興趣支持反應式的異步非阻塞驅動程序。最開始只有PostgreSQL、H2、MSSQL三家,現在MySQL也加入了進來。R2DBC最新版本是0.8.1.RELEASE。除了驅動實現外還提供了R2DBC 連接池和R2DBC 代理。除此之外還支持云原生應用。

3.1 可用的 R2DBC 驅動實現

目前可用的驅動有:

cloud-spanner-r2dbc:用于Google Cloud Spanner的驅動程序

jasync-sql:Java和Kotlin的R2DBC包裝器,用Kotlin編寫的MySQL和PostgreSQL異步數據庫驅動程序。

r2dbc-h2:為H2實現的原生驅動程序,以方便作為測試數據庫。

r2dbc-postgres:為PostgreSQL實現的原生驅動程序。

r2dbc-mssql:為Microsoft SQL Server實現的原生驅動程序。

r2dbc-mysql:為MySQL實現的原生驅動程序。

4. 總結

我們需要明確一點,無論ADBA還是R2DBC都不是為了取代JDBC。只是為了補充在響應式編程下的空白。至于反應式的未來如何,目前還不是很明朗,但是發展很迅速,我還是很看好的。就目前來說ADBA具有官方加持的優勢,而R2DBC具有活躍的社區優勢,究竟誰是業界規則的領導者,相信很快就會揭曉。后續我也會實驗性的來嘗試使用R2DBC并分享其中的一些經驗,多多關注。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2960

    瀏覽量

    104565
  • 數據庫
    +關注

    關注

    7

    文章

    3767

    瀏覽量

    64280
收藏 人收藏

    評論

    相關推薦

    數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

    一個運行在存儲上的SQLServer數據庫,有1000多個文件,大小幾十TB。數據庫每10天生成一個NDF文件,每個NDF幾百GB大小。數據庫包含兩個LDF文件。 存儲損壞,數據庫
    的頭像 發表于 10-31 13:21 ?145次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—通過拼接<b class='flag-5'>數據庫</b>碎片恢復SQLserver<b class='flag-5'>數據庫</b>

    一文講清什么是分布云化數據庫

    分布云化數據庫是一種先進的數據管理系統,它將傳統的數據庫技術與分布計算、云計算和大數據處理技
    的頭像 發表于 10-14 10:06 ?190次閱讀

    數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

    SQL Server數據庫故障: SQL Server附加數據庫出現錯誤823,附加數據庫失敗。數據庫沒有備份,無法通過備份恢復數據庫
    的頭像 發表于 09-20 11:46 ?296次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b>恢復案例

    軟件系統數據庫的分庫分表設計

    軟件系統數據庫的分庫分表設計 系統讀寫分離、分庫分表技術實現采用MyCat中間件,MyCat 是一款開源(遵循 Apache License 2.0 協議)的大數據庫集群中間件,用于搭建數據庫
    的頭像 發表于 08-22 11:39 ?291次閱讀
    軟件系統<b class='flag-5'>數據庫</b>的分庫分表設計

    數據庫數據恢復—數據庫所在分區空間不足導致sqlserver故障的數據恢復案例

    數據庫數據恢復環境: 某品牌r520服務器,服務器中有7塊SAS硬盤,這7塊硬盤組建了一組2盤raid1陣列和一組5盤raid5陣列,raid1陣列存儲空間安裝操作系統,raid5陣
    的頭像 發表于 05-22 13:16 ?397次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—<b class='flag-5'>數據庫</b>所在分區空間不足導致sqlserver故障的<b class='flag-5'>數據</b>恢復案例

    數據庫數據恢復—raid5陣列上層Sql Server數據庫數據恢復案例

    數據庫數據恢復環境: 5塊硬盤組建一組RAID5陣列,劃分LUN供windows系統服務器使用。windows系統服務器內運行了Sql Server數據庫,存儲空間在操作系統層面劃分了三個邏輯分區
    的頭像 發表于 05-08 11:43 ?479次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—raid5陣列上層Sql Server<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復案例

    ?通過Modbus讀寫數據庫中的數據

    本文是將數據庫數據轉為Modbus服務端/從站,實現數據庫內的數據也可以走Modbus協議通過網口或串口讀寫的案例,下圖是通過智能網關的參
    發表于 03-14 13:44

    數據庫數據恢復】Oracle數據庫ASM實例無法掛載的數據恢復案例

    oracle數據庫ASM磁盤組掉線,ASM實例不能掛載。數據庫管理員嘗試修復數據庫,但是沒有成功。
    的頭像 發表于 02-01 17:39 ?484次閱讀
    【<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復】Oracle<b class='flag-5'>數據庫</b>ASM實例無法掛載的<b class='flag-5'>數據</b>恢復案例

    求助,為什么在CAN數據庫(.dbc文本文件)中找不到報文?

    我有CAN數據庫dbc文件)。這是一個文本文件。此文件的擴展名為 dbc。在Vector CANdb++編輯器中打開它時,將填充J1939報文和CAN ID。 但是,在.dbc文本
    發表于 01-23 06:28

    基于Rust的嵌入符合ACID的鍵值數據庫

    surrealkv -- 基于 Rust 的 low level、版本化、嵌入、符合 ACID 的鍵值數據庫
    的頭像 發表于 12-28 11:29 ?863次閱讀

    輕量級數據庫有哪些類型

    輕量級數據庫是指具有小巧、靈活、高效的特點,適用于小規模項目和嵌入設備的數據庫管理系統。下面是對輕量級數據庫類型的詳細介紹,包括關系型數據庫
    的頭像 發表于 12-20 11:29 ?1200次閱讀

    數據庫數據恢復—未開啟binlog的Mysql數據庫數據恢復案例

    mysql數據庫數據恢復環境: 本地服務器,windows server操作系統 ,部署有mysql單實例,數據庫引擎類型為innodb,獨立表空間,無數據庫備份,未開啟binlog
    的頭像 發表于 12-08 14:18 ?1103次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—未開啟binlog的Mysql<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復案例

    關于JSON數據庫

    如何理解JSON數據庫?作為NoSQL數據庫的一種類型,JSON數據庫有哪些優勢呢?JSON數據庫如何運作,它為應用程序開發者帶來了哪些價值呢?
    的頭像 發表于 12-06 13:46 ?842次閱讀
    關于JSON<b class='flag-5'>數據庫</b>

    oracle數據庫的基本操作

    Oracle數據庫是一種關系數據庫管理系統(RDBMS),廣泛應用于企業級應用中。它具有強大的功能和靈活的配置選項,可以滿足復雜的數據處理需求。本文將介紹Oracle數據庫的基本操作,
    的頭像 發表于 12-06 10:14 ?666次閱讀

    什么是JSON數據庫

    如何理解JSON數據庫?作為NoSQL數據庫的一種類型,JSON數據庫有哪些優勢呢?JSON數據庫如何運作,它為應用程序開發者帶來了哪些價值呢?文章速覽:什么是JSON什么是JSON
    的頭像 發表于 12-02 08:04 ?832次閱讀
    什么是JSON<b class='flag-5'>數據庫</b>