2016-09-09 7 views
0

その理由から、ライブグラフ用にNodeJSを使用したいのですが、NodeJSを使用してデータベースから最新のデータを取得し、UIにプッシュします。 NodeJSには可能な解決策がありますか?NodeJSを使用してデータベースから最新のデータを引き出す

私はCassandraデータベースを使用しています。

+0

このチュートリアルをチェックhttp://xingwu.me/2014/10/19/Real-time -Web-Dashboard-Using-Socket-io-and Highcharts/ –

答えて

0

この質問は非常に広いです。あなたはタイマーでデータベースをポーリングしたい場合は、実装が簡単で、リアルタイムデータと素晴らしい作品socket.ioのようなツールを使用することができ、クライアントにデータを送信するには

setInterval(() =>{ 
    // Read data from database here 
    // Send data to client 
}); 

を使用することができます!サーバーとクライアントの間でデータを送信するには、socket.ioをどのように使用すればよいかという大きな例があります。here

+0

私はnodejsを使ってcassandraからデータをストリーミングしたいと思います。つまり、cassandraの新しく挿入された行だけを取得します。 – Vishrant

+0

Socket.ioはこの目的に最適です! –

+0

Socket.ioはCassandraからデータを取得しません。データをUIにプッシュするだけです。まずCassandraからデータを取得してUI(ここではSocket.ioを使用できます)にプッシュします – Vishrant

0

他の回答に記載されているように、新しい情報がある場合は、データベースをXミリ秒ごとにポーリングして更新を送信するタイマーを設定できます。これは「リアルタイム」ではありませんが、あなたのニーズに十分に対応できます。これはポーリングのためにsomのパフォーマンスも浪費します。

これを解決するには、データベースにコンテンツを追加すると同時にクライアントに更新を送信することができます。 http://socket.io/を使用して、更新をクライアントにプッシュすることができます。だから、

あなたがような何か:db.insert(data)あなたもio.emit(data)をし、「リアルタイム」で、あなたの顧客にそれを送る

+0

キャッサンドラ)が他のシステムに来て、スパークストリーミングをします。ノードjsがデータを挿入しなければならないなら、私はこの質問をしなかったでしょう。 :) – Vishrant

+0

はい、1つの解決策は、毎ミリ秒ごとにデータベースをポーリングすることができますが、あなたは正しくはそれがリアルタイムではないことを指摘しました。 – Vishrant

関連する問題