質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

NoSQL

NoSQL(not only SQL)は、リレーショナルデータベース管理システムとは異なるデータベースシステムを指す言葉です。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

2回答

1942閲覧

firebase データベース 検索速度

kazu0000

総合スコア8

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

NoSQL

NoSQL(not only SQL)は、リレーショナルデータベース管理システムとは異なるデータベースシステムを指す言葉です。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

1クリップ

投稿2017/11/21 10:45

編集2017/11/21 14:49

firebase を利用し
複数のandroid で IDを用いて 名前検索できるシステムを開発しています

1000名ほど登録する予定です

そこで質問する予定なのですが

IDを入力し 名前を検索する のには どのぐらいの時間(ミリ秒)かかるか

教えていただきたいです 予想でいいので よろしくお願いします

すいません補足します

更新は 1日1回ですので
使用の際は
オフラインでの使用と考えています
その場合も時間がかかるでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

すみませんが,質問がざっくりされているのでお答えもざっくりになります.
そしてそもそもいろんなやり方があり,それぞれ得手不得手あるので,一概には言えません.

インターネットが十分早く,スマホも十分な性能であることを前提として,
前方一致のみで良ければ,がっつりチューニングすれば数百msは余裕でしょうし,
多少複雑でも検索対象が変更しない前提であれば,数十msもいけるかもしれません.
あるいは変更するものでも,外部サービスとの連携で数百msはいけるかと思います.

ただ,基本的には検索は苦手です.
非常に複雑な検索をさせたいのであれば,Firebase以外のデータベースを利用したほうがいいかもしれません.

投稿2017/11/21 13:54

Yatima

総合スコア1159

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazu0000

2017/11/21 14:49

すいません補足します 更新は 1日1回ですので 使用の際は オフラインでの使用と考えています その場合も時間がかかるでしょうか?
Yatima

2017/11/21 14:59

どのくらいの速さを求めているのですか? オフラインであれば,もはやFirebaseよりAndroidとしてのチューニングになると思いますが.
kazu0000

2017/11/21 19:01

数十ミリ秒を求めています
kazu0000

2017/11/21 19:02

初心者なもので チューニングとか あまりわからないのですが  チューニング って何でしょうか?
Yatima

2017/11/21 22:08

速くなるようがんばることです. がんばれば数十msはいけると思います.
guest

0

無料で開始
無料枠があるので試してみるとイイですよ。

ただ、条件として記述のある内容であれば、ネットワークのレスポンスが左右するので、あまり有意なものにはならないですけど。

投稿2017/11/21 12:24

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazu0000

2017/11/21 14:49

すいません補足します 更新は 1日1回ですので 使用の際は オフラインでの使用と考えています その場合も時間がかかるでしょうか?
退会済みユーザー

退会済みユーザー

2017/11/21 22:24

その前提なら firebase の Realtime Database 使う意味がないと思いますよ。。。
Yatima

2017/11/23 12:01

確かにリアルタイムという名前は付いていますが,Realtime Databaseの強みはそれだけではありませんよ. 例えば,「クライアントからdbに直接アクセスするため,システム構成やソースコードがシンプルになりやすい」というのも実は大きな強みなのです.
退会済みユーザー

退会済みユーザー

2017/11/23 12:25

オフライン前提の1日一回更新だったら、json とかで配信したほうがシンプルになると思います。
Yatima

2017/11/23 14:03

なるほど.どうやって配信するとお考えですか?
退会済みユーザー

退会済みユーザー

2017/11/23 15:58

要件と仕様によると思いますよ。 更新の時間が決まっているのであれば、クライアント側で時間を確認させて取りに行くのがシンプルじゃないですかね。
Yatima

2017/11/23 22:47

その場合でも,サーバ側でのDB管理と場合によっては独自にjson出力が必要ですよね. そのあたりはどうすべきと思います?
退会済みユーザー

退会済みユーザー

2017/11/23 23:38

要件と仕様によると思いますよ。と書いてるんですけどねぇ。。。そもそも DB に入れるべきかどうかも検討して良い事案だと思ってます。 今書かれている要件は、以下です。 ・更新頻度は1日1回 ・データは名簿的なもので'id'->'名前'で検索したい ・数十ミリ秒で検索したい 構造化データを、メモリ上に展開させておくのが、パフォーマンス的には一番早くなりそうな案件です。 常にローカルを参照させることで、オンライン/オフライン処理を別で考えなくて良いので、シンプルな設計になります。 また、サーバ側に DB が必須かというと必須ではありません。 json ファイルを手作業でメンテしても良いので。 今ある要件だけだったら、Realtime Database を使う意味は無いです。
Yatima

2017/11/24 02:14

そこまで含めてのお話だったのですね,失礼しました. まず「構造化データをメモリ上に展開」については同意です. というか,Realtime Databaseを使用すること,とは排他関係ではないので. Realtime Databaseにおいては,オフライン・オンラインの考慮不要なのはご存知の通りです. それから,「DB に入れるべきかどうかも検討して良い」について. 確かに従来のDBであればその感覚ですが,Realtime Databaseはその感覚を覆せる程度に容易です. ご存知の通りDB管理も初期設定もほぼ不要です. そして,手作業メンテは,エディタで編集してアップロードするか,sshログインして編集するか,などの一手間が必要です. Realtime Databaseであれば,ブラウザから編集するだけです. 上記より,今ある要件だけであってもRealtime Databaseを使う意味は十分あると考えますが,いかがでしょうか.
退会済みユーザー

退会済みユーザー

2017/11/24 03:56

私が Realtime Database は得意な分野(とがった分野)で使うべきだ。 と考えているのに対して、 Yatima さんは、Realtime Database は汎用的に使用しても良い技術である。 って立場で提案しているので、平行線で同じことを言い合うことになると思います。 Firebase は、ハマれば非常にメリットのある技術ですが、概念が既存技術と違う箇所が多く、仕様的なハマリポイントや、そもそもの仕様理解に結構学習コストがかかるイメージです。 そのため、私は、Firebase は、初心者には注意深く勧める必要のある技術だと思っているので、そのスタンスの差が「意味がある/ない」のコメントの差だと思います。
Yatima

2017/11/24 05:55

確かにそれはあるでしょうね. 学習コストに関しては,分かっている人が首尾よく指導すれば低いとは思いますが,少なくとも現状では一般には高めになりがちというのは同意です. いずれにせよ,立場の違いは間違いないですね. 戯言にお付き合いいただきありがとうございます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問