一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

響應(yīng)式數(shù)據(jù)庫驅(qū)動協(xié)議ADBA和R2DBC

汽車玩家 ? 來源:碼農(nóng)小胖哥 ? 作者:碼農(nóng)小胖哥 ? 2020-04-12 19:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 前言

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

2. ADBA

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

3. R2DBC

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

3.1 可用的 R2DBC 驅(qū)動實(shí)現(xiàn)

目前可用的驅(qū)動有:

cloud-spanner-r2dbc:用于Google Cloud Spanner的驅(qū)動程序

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

r2dbc-h2:為H2實(shí)現(xiàn)的原生驅(qū)動程序,以方便作為測試數(shù)據(jù)庫。

r2dbc-postgres:為PostgreSQL實(shí)現(xiàn)的原生驅(qū)動程序。

r2dbc-mssql:為Microsoft SQL Server實(shí)現(xiàn)的原生驅(qū)動程序。

r2dbc-mysql:為MySQL實(shí)現(xiàn)的原生驅(qū)動程序。

4. 總結(jié)

我們需要明確一點(diǎn),無論ADBA還是R2DBC都不是為了取代JDBC。只是為了補(bǔ)充在響應(yīng)式編程下的空白。至于反應(yīng)式的未來如何,目前還不是很明朗,但是發(fā)展很迅速,我還是很看好的。就目前來說ADBA具有官方加持的優(yōu)勢,而R2DBC具有活躍的社區(qū)優(yōu)勢,究竟誰是業(yè)界規(guī)則的領(lǐng)導(dǎo)者,相信很快就會揭曉。后續(xù)我也會實(shí)驗(yàn)性的來嘗試使用R2DBC并分享其中的一些經(jīng)驗(yàn),多多關(guān)注。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2989

    瀏覽量

    109595
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3926

    瀏覽量

    66201
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 一臺操作系統(tǒng)為Windows Server的虛擬機(jī)上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫故障: 工作人員在MongoDB服務(wù)仍
    的頭像 發(fā)表于 07-01 11:13 ?154次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—MongoDB<b class='flag-5'>數(shù)據(jù)庫</b>文件丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫被加密如何恢復(fù)數(shù)據(jù)?

    SQL Server數(shù)據(jù)庫故障: SQL Server數(shù)據(jù)庫被加密,無法使用。 數(shù)據(jù)庫MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?138次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>被加密如何恢復(fù)<b class='flag-5'>數(shù)據(jù)</b>?

    分布存儲數(shù)據(jù)恢復(fù)—虛擬機(jī)上hbase和hive數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    分布存儲數(shù)據(jù)恢復(fù)環(huán)境: 16臺某品牌R730xd服務(wù)器節(jié)點(diǎn),每臺服務(wù)器節(jié)點(diǎn)上有數(shù)臺虛擬機(jī)。 虛擬機(jī)上部署Hbase和Hive數(shù)據(jù)庫。 分布
    的頭像 發(fā)表于 04-17 11:05 ?216次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動的數(shù)據(jù)恢復(fù)

    MongoDB數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 一臺Windows Server操作系統(tǒng)虛擬機(jī)上部署MongoDB數(shù)據(jù)庫。 MongoDB數(shù)據(jù)庫故障: 管理員在未關(guān)閉MongoDB服務(wù)的
    的頭像 發(fā)表于 04-09 11:34 ?302次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)——MongoDB<b class='flag-5'>數(shù)據(jù)庫</b>文件拷貝后服務(wù)無法啟動的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server附加數(shù)據(jù)庫提示“錯(cuò)誤 823”的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫附加數(shù)據(jù)庫過程中比較常見的報(bào)錯(cuò)是“錯(cuò)誤 823”,附加數(shù)據(jù)庫失敗。 如果數(shù)據(jù)庫有備份則只需還原備份即可。但是如果沒有備份,備份時(shí)間太久,或者其他原因?qū)е聜浞?/div>
    的頭像 發(fā)表于 02-28 11:38 ?480次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server附加<b class='flag-5'>數(shù)據(jù)庫</b>提示“錯(cuò)誤 823”的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    適用于SQLite的dbExpress數(shù)據(jù)庫驅(qū)動程序

    驅(qū)動程序作為獨(dú)立。由于數(shù)據(jù)訪問層薄而簡單,dbExpress 提供高性能數(shù)據(jù)庫連接性,并且更加易于部署。 適用于 SQLite 的 dbExpress
    的頭像 發(fā)表于 02-09 09:45 ?418次閱讀

    分布云化數(shù)據(jù)庫有哪些類型

    分布云化數(shù)據(jù)庫有哪些類型?分布云化數(shù)據(jù)庫主要類型包括:關(guān)系型分布式數(shù)據(jù)庫、非關(guān)系型分布式數(shù)據(jù)庫
    的頭像 發(fā)表于 01-15 09:43 ?479次閱讀

    MySQL數(shù)據(jù)庫的安裝

    MySQL數(shù)據(jù)庫的安裝 【一】各種數(shù)據(jù)庫的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介紹
    的頭像 發(fā)表于 01-14 11:25 ?562次閱讀
    MySQL<b class='flag-5'>數(shù)據(jù)庫</b>的安裝

    數(shù)據(jù)庫是哪種數(shù)據(jù)庫類型?

    數(shù)據(jù)庫是一種部署在虛擬計(jì)算環(huán)境中的數(shù)據(jù)庫,它融合了云計(jì)算的彈性和可擴(kuò)展性,為用戶提供高效、靈活的數(shù)據(jù)庫服務(wù)。云數(shù)據(jù)庫主要分為兩大類:關(guān)系型數(shù)據(jù)庫
    的頭像 發(fā)表于 01-07 10:22 ?508次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫故障: Mysql數(shù)據(jù)庫表記錄丟失。 Mysql數(shù)據(jù)庫故障表現(xiàn): 1、Mysql數(shù)據(jù)庫表中無任何數(shù)據(jù)或只有部分
    的頭像 發(fā)表于 12-16 11:05 ?606次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—Mysql<b class='flag-5'>數(shù)據(jù)庫</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)流程

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫故障: mysql數(shù)據(jù)庫文件ibdata1、MYI、MYD損壞。 故障表現(xiàn):1、數(shù)據(jù)庫無法進(jìn)行查詢等操作;2、使用mysqlcheck和myisamchk無法修復(fù)
    的頭像 發(fā)表于 12-09 11:05 ?632次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

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

    一文講清什么是分布云化數(shù)據(jù)庫

    分布云化數(shù)據(jù)庫是一種先進(jìn)的數(shù)據(jù)管理系統(tǒng),它將傳統(tǒng)的數(shù)據(jù)庫技術(shù)與分布計(jì)算、云計(jì)算和大數(shù)據(jù)處理技
    的頭像 發(fā)表于 10-14 10:06 ?480次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯(cuò)誤的數(shù)據(jù)恢復(fù)案例

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

    軟件系統(tǒng)數(shù)據(jù)庫的分庫分表設(shè)計(jì)

    軟件系統(tǒng)數(shù)據(jù)庫的分庫分表設(shè)計(jì) 系統(tǒng)讀寫分離、分庫分表技術(shù)實(shí)現(xiàn)采用MyCat中間件,MyCat 是一款開源(遵循 Apache License 2.0 協(xié)議)的大數(shù)據(jù)庫集群中間件,用于搭建數(shù)據(jù)庫
    的頭像 發(fā)表于 08-22 11:39 ?589次閱讀
    軟件系統(tǒng)<b class='flag-5'>數(shù)據(jù)庫</b>的分庫分表設(shè)計(jì)