2017-12-02 12 views
-2

私はUberのようないくつかの同様のアイデアを持つモバイルアプリを開発しようとしていましたが、これはリアルタイム更新ドライバ&の顧客の場所です。そこでここでは、私がアプリの構造について考えていたことの提案を求めています。リアルタイムアップデートアプリケーション(Firebase)のバックエンド構造提案

私が研究しているところでは、リアルタイムでのアップデートの場所を速くするために、バックエンド用のFirebaseなどのリアルタイムデータベースを利用する必要があるかもしれません。私が持っている、しかし、バックエンドのAPIビジネス・ロジックについて

を - リアルタイム高速更新のユーザーの場所 MySQLの - だから、私は

Firebase ...私が考えていたものを達成するために、データベースの2つの異なるタイプを組み合わせることを考えていました火災の経験がないので、皆さんに助言を与えることを願っています。私はfirebaseデータベースにユーザーの場所の座標情報を格納し、それをリアルタイムで更新するためにモバイルアプリケーションから取得する予定です。

私の問題は、私が永遠にそれらのドライバの座標データをfirebaseデータベースに残すべきかどうかわかりません。座標データはファイヤーベースで更新され続けるので、ドライバーが目的地に着くとすぐにfirebaseからそれらの座標データを削除する必要があります。

このような長い質問をお読みいただきありがとうございます。もし私が2つの異なるデータベースを使用している場合、あなたにすべての他の懸念を思い出させることができれば幸いです。私のアプリケーションのために。

答えて

1

通常は、ドライバとFirebaseでその場所のリストを保持します:

driverlocations 
    driver1id: location 
    driver2id: location 

これは、あなたが新しいデータを追加していないが、既存のデータを更新することを意味します。だからあなたは常に成長しているリストについて心配する必要はありません。

アプリを停止したドライバ/停止したドライバのデータが失効していないことを確認するには、use Firebase's onDisconnect() handlers to remove the data when they disconnectを使用します。

このデータを近くのドライバに照会することは、依然として難しいです。あなたはGeoFireを見たいと思うでしょう。私は最近、それがなぜ必要なのか、ここでどのように機能するのかを説明しました:Sort array by distance near user location from firebase

+0

こんにちは、あなたの提案に感謝します!あなたの知識は私の疑いを明確にしています^^私はあなたが提供したリンクを見ています。私はそれが簡単な仕事ではなかったと知っていますが、私はいつも学んでいます、うまくいけば、それがどのように機能するのか理解できます... –

関連する問題