2016-04-23 6 views
3

私は、akkaストリームを使ったリアクティブ・ストリーム・プログラミングを学習していましたが、2年間async-jdbc-driverまたはreactive-jdbc-driver用のライブラリを探していましたが、slick 3.0またはrxjava-jdbc-driver async jdbc api、しかし私は滑らかなことを知っているので、私は間違っている私を修正しているJDBCのAPIの上に驚くべきAPIを構築しているので、システムの観点から推測すると、それは上から下へ100%反応システムではないかもしれない。 Reactive Streams Specification 1.0がリリースされた後、jdbcの仕様も有効になりますか?

もう一つの驚くべきイベント

は昨年の反応ストリーム仕様V1.0」がリリースされたということだったので、私の質問は以下のとおりです。

  1. は、JDBC専門家グループイベントトリガーは、JDBC APIのサポート非同期(async)設計するのでしょうか?
  2. そして、MySQLのプロバイダOracleなどのデータベースプロバイダ組織は、対応するドライバを実装する計画はありますか?
  3. もしこれが期待できないのであれば、私は何かの方向性や交換可能なもの、あるいはJDBCレイヤーが反応的でスケールアウトされたmysqlサーバーで十分ではありませんか?
+0

JDBC メーリングリストにフィードバックを提供することで、プロジェクトをOpenJDKのから新しいAPIをダウンロードして、 に関与し得ることができます。 JDBCは非常に低レベルなので、JDBCドライバの回りに反応的な動作を構築するフレームワークが出現する可能性が高くなります。 –

答えて

2

私はいずれの計画も知らない。古いJDBC APIに縛られていない多くのNoSQLソリューションは、リアクティブベースのAPIを提供し始めました。それらが完全なスタック反応性であるかどうかは私が言うことはできません。彼らの仕様/実装を見て確認する必要があります。

RxNetty(Retrofit、OkHttp?)によるTCP/HTTPの完全なスタックレスキューソリューションがあり、Servlet 4.0の動きもありますので、非同期JDBCソースを使って作成するだけでよいでしょう。しかし、そのためには、新しいAPIデザインが必要です。

フローAPI(本質的にReactive-Streamsですが、別のパッケージの下にあります)は、JDK 9で初めて理解され、受け入れられます。ただし、一般的なReactive-Streams APIはこのようなI/Oには完全には適していない可能性があり、双方向のリアクティブストリームの形でより拡張されたAPIが必要になる可能性があります。

多分、JEPの経験を持つ人がこの問題を拾う可能性があり、我々はそのアプローチについて反復を開始することができます。

これまでは、あなたが言及したJDBCの周りにブロックラッパーがあります。

+0

私は私が間違っているかもしれないが、私は思うhttps://www.youtube.com/watch?v=WvxXz7aklik スリックプロジェクトリーダーステファンZeigerによって2015「データベースプログラミングのための反応性スリック」Scalaの日でハイテク話を見つけました基本的に彼はネイティブのデータベースドライバに取り組んでいると言いました。異なるデータソースに応じてさまざまなスレッドプールを異なるプールにセットアップし、Slick3を使用する方法があります。 バックプレッシャー技術では、クライアントが処理する準備ができていない間、slickはdbからデータをロードしないため、アプリケーションのパフォーマンスはいくらか最適化されます。私が間違っていたら私を訂正してください。 –

1

According to Oracleのように、JDBC用の非ブロッキングAPIを提供しています。

リンクに述べたように:この新しいAPIは完全にノンブロッキングです

。これは、JDBCと同様の 拡張または置き換えではなく、JDBCと同じ データベースへの完全なノンブロッキングアクセスを提供する完全に の別個のAPIを意図しています。

あなたは今APIを検討し、現時点ではそのような計画はありません

+0

実際にはJDBC用の非ブロッキングAPIではなく、完全に別個のAPIです。 –

関連する問題