問題タブ [hbase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
6583 参照

sql - HBaseの高度なクエリ

次のHBaseスキーマシナリオ(公式FAQから)を考えると...

StudentとCourseなどの2つのエンティティ間の多対多の関連付けのためにHbaseテーブルをどのように設計しますか?

2つのテーブルを定義します。

学生:学生ID学生データ(名前、住所、...)コース(ここでは列修飾子としてコースIDを使用します)

コース:コースIDコースデータ(名前、シラバス、...)学生(ここでは学生IDを列修飾子として使用します)

このスキーマを使用すると、クエリにすばやくアクセスして、学生のすべてのクラス(学生テーブル、コースファミリー)、またはクラスのすべての学生(コーステーブル、学生ファミリー)を表示できます。

「少なくとも2つの共通のコースを共有するすべての学生を教えてください」という要求をどのように満たしますか?そのセットを返す「クエリ」をHBaseで構築できますか、それともすべての関連データを取得してコードで自分で処理する必要がありますか?

0 投票する
1 に答える
1485 参照

couchdb - RDBMS のバックグラウンド担当者に最も適した Key-Value ストアはどれですか?

すべての Key-Value ストアの中で明確な勝者はありますか? Cassandra、MongoDB、CouchDB? それらはすべて、いくつかの中心的なガイドラインに従っていますか? または、API を定義する際に独自の発言権を持っています。

特に、キー値ストアを初めて使用する RDBMS の熟練者の観点から、この質問をしています。このフィールドの理解/使用法を最もよく理解するには、どれに従う必要がありますか?

RDMS については、利用可能なすべての DB (Oracle、SQL Server など) がテーブル、インデックス、外部キーなどのすべての成果物を持っているという彼らの理論から知っています。これらの唯一の違いは、効率、セキュリティ、機能です。

これらのドキュメント中心のデータベースの普遍的な理論について知り、これらすべての DB (Mongo、Couch など) が持つ最小限の成果物を知るにはどうすればよいですか?

0 投票する
6 に答える
15868 参照

cassandra - 大量の順序付けられた時系列データをbigtable派生物に保存する

私は、bigtable、hbase、cassandraなどのこれらの新しいデータストアが実際に何であるかを正確に把握しようとしています。

私は大量の株式市場データ、毎日数百ギガバイトを追加できる数十億行の価格/見積もりデータを処理します(ただし、これらのテキストファイルは少なくとも1桁圧縮されることがよくあります)。このデータは基本的に、少数の数値、2つまたは3つの短い文字列、およびタイムスタンプ(通常はミリ秒レベル)です。行ごとに一意の識別子を選択する必要がある場合は、行全体を選択する必要があります(交換により、同じミリ秒で同じシンボルに対して複数の値が生成される可能性があるため)。

このデータをbigtable(その派生物を含む)にマッピングする最も簡単な方法は、シンボル名と日付(非常に大きな時系列を返す可能性があり、100万を超えるデータポイントは前代未聞ではありません)によるものだと思います。説明を読むと、これらのシステムでは複数のキーを使用できるようです。また、10進数はキーの候補としては適切ではないと思います。

これらのシステムの一部(たとえば、Cassandra)は、範囲クエリを実行できると主張しています。たとえば、特定の日の午前11時から午後1時30分までのMSFTのすべての値を効率的にクエリできますか?

特定の日のすべてのシンボルを検索し、価格が$ 10〜 $ 10.25のすべてのシンボルを要求したい場合はどうなりますか(値を検索し、結果としてキーを返したい場合)?

2つの時系列を取得し、一方を他方から減算し、2つの時系列とその結果を返したい場合、自分のプログラムで彼のロジックを実行する必要がありますか?

関連する論文を読むと、これらのシステムは大規模な時系列システムにはあまり適していないことがわかります。しかし、グーグルマップのようなシステムがそれらに基づいているなら、時系列もうまくいくはずだと思います。たとえば、時間をx軸、価格をy軸、シンボルを名前付きの場所と考えてください。突然、bigtableが時系列の理想的なストアになるはずです(地球全体を保存、取得できる場合) 、ズームおよび注釈付きの株式市場データは些細なものである必要があります)。

専門家が私を正しい方向に向けたり、誤解を解いたりできますか。

ありがとう

0 投票する
2 に答える
834 参照

mysql - 分散環境で実行されていない場合、HBase は意味がありますか?

データのインデックスを作成しています。これには、多くのトリプレットをフォームに格納する必要があります(document, term, weight)。このような行を最大数百万行保存します。現在、MySQL で単純なテーブルとしてこれを行っています。ドキュメントと用語の識別子を、他のテーブルへの外部キーよりも文字列値として保存しています。ソフトウェアを書き直し、データを保存するより良い方法を探しています。

HBase の仕組みを見ると、これはかなりスキーマに適合しているように見えます。多くのトリプレットを保存する代わりにdocument{term => weight}.

私は単一ノードでこれを行っているので、分散ノードなどは気にしません。MySQL が機能するのでそのまま使用する必要がありますか、それとも HBase を試すのが賢明でしょうか? Lucene がこれをフルテキスト インデックス作成に使用していることがわかります (これは、私が行っていることと似ています)。私の質問は、単一の HBase ノードが単一の MySQL ノードとどのように比較されるかということです。私は Scala から来ているので、直接の Java API は、JDBC や MySQL の各クエリの解析などよりも優れているのでしょうか?

私の主な関心事は、以前はボトルネックだった挿入速度です。処理後、ライブ クエリのためにデータを MySQL に戻すことになるでしょう。

両方のプロトタイプを作成してみますが、コミュニティがこれに関する貴重な洞察を提供してくれると確信しています。

0 投票する
1 に答える
400 参照

hadoop - これはHBaseの適切な(または可能な)使用法ですか?

HBaseを、{document => {term => weight}}「用語Xを重みZでドキュメントYに挿入する」などの形式の数百万のエントリをプッシュできるストアとして使用し、「このドキュメントの上位1000の用語を選択する」または「各ドキュメントの上位1000の用語を選択してください。」これは私の現在のMySQL実装で機能しますが、おそらくドメインはHBaseに適しています。HBaseとBigTableは、同様の問題ドメインであるフルテキストインデックス作成に使用されていることに注意してください。

私はHBaseで数ページしか読んでいないことがわかりますが、私の質問の要点を理解していただければ幸いです。この質問に関連しています。

考えられる障壁には、HBaseがLIMIT句と同等のクエリを許可しないことが含まれる場合があります。重みでクエリを実行したい場合は、を関連付けたいと思います{weight => term}。これは、同じ重みを持つ2つの用語で問題が発生します(HBaseでは一意のキーのみが許可されると想定しています)。または、特定の重みの用語のコレクションを保存する必要がありますが、これにより、返される用語の数を正確に制限する能力が制限されます。

0 投票する
1 に答える
3347 参照

hadoop - HBase からの Hadoop mapreduce ストリーミング

HBase (0.20.1) をデータ ソースとデータ シンクの両方として使用する Hadoop (0.20.1) mapreduce ジョブを作成しています。Python スクリプトとの間でデータをストリーミングするために hadoop-0.20.1-streaming.jar を使用する必要がある Python でジョブを作成したいと考えています。データ ソース/シンクが HDFS ファイルの場合、これは正常に機能します。

Hadoop は mapreduce の HBase との間のストリーミングをサポートしていますか?

0 投票する
11 に答える
36463 参照

storage - スケーラブルな画像ストレージ

私は現在、ある種の画像ストレージも提供する必要がある Web ベースのアプリケーションのアーキテクチャを設計しています。ユーザーは、サービスの重要な機能の 1 つとして写真をアップロードできます。また、これらの画像を表示することも (Web 経由で) 主な用途の 1 つになります。

ただし、このようなスケーラブルなイメージ ストレージ コンポーネントをアプリケーションで実現する方法がわかりません。私はすでに別の解決策を考えましたが、経験が不足しているため、あなたの提案を聞くのを楽しみにしています. 画像とは別に、メタデータも保存する必要があります。ここに私の最初の考えがあります:

  1. HDFS のような (分散) ファイルシステムを使用し、アップロードされた画像とサービス要求を保存するために、専用の Web サーバーを「ファイルシステム クライアント」として準備します。画像のメタデータは、各画像のファイルパス情報を含む追加のデータベースに保存されます。

  2. HDFS の上に HBase のような BigTable 指向のシステムを使用し、画像とメタ データを一緒に保存します。繰り返しますが、ウェブサーバーは画像のアップロードとリクエストを橋渡しします。

  3. 画像とメタデータの両方を格納するために、CouchDB のような完全にスキーマレスなデータベースを使用します。さらに、HTTP ベースの RESTful API を使用して、データベース自体をアップロードおよび配信に使用します。(追加の質問: CouchDB は Base64 経由で blob を保存しますが、画像/jpeg などの形式でデータを返すことはできますか?)

0 投票する
4 に答える
3654 参照

database - スケーラブルな OLAP データベース (Web アプリ スケール) はありますか?

さまざまなレベルの集計の分析を必要とするアプリケーションがあり、それが OLAP ワークロードです。データベースもかなり頻繁に更新したいと思います。

たとえば、私の更新は次のようになります (スキーマは次のようになります: 時間、宛先、ソース IP、ブラウザ -> 訪問)

それから、先月、Firefox ブラウザから www.stackoverflow.com にアクセスした合計はいくらですか。

Vertica システムが比較的安価な方法でこれを実行できることは理解しています (パフォーマンスとスケーラビリティに関しては可能ですが、おそらくコストに関してはそうではありません)。ここで 2 つの質問があります。

1) この問題を解決するために構築できるオープンソース製品はありますか? 特に、モンドリアンシステムはどの程度うまく機能しますか? (スケーラビリティとパフォーマンス) 2) このための HBase または Hypertable ベース ソリューションはありますか (明らかに、裸の HBase/Hypertable ではこれができません)。-- しかし、HBase/Hypertable に基づくプロジェクトがあれば、おそらくスケーラビリティは問題にならないでしょう (IMO)?

ありがとう!

0 投票する
1 に答える
3838 参照

php - PHPStargateクライアントを使用してHbaseテーブルにデータを挿入する方法

HBaseクラスターのインストールで遊んでいて、StargateRESTインターフェイスを介してデータにアクセスしようとしています。ほとんどの読み取り専用関数(つまり、テーブルの一覧表示、バージョンの取得、メタデータなど)はうまく機能します。ただし、作成したテーブルに実際にデータを挿入するのに問題があります。これが私がこれまでに得たものです。

次のように、2つの列を持つダミーテーブルを作成しました。

テーブルの作成は正常に機能します。次に、新しいテーブルにデータを挿入します。これが私がそれをしようとする方法です:

このリクエストの結果は、次の例外を除いて503エラーを返します。

エラーはかなり明確ですが、上記のスキーマの何が問題になっているのかわかりません。

また、Starbaseを使用する代わりに、Thriftパッケージを使用して必要なPHPクライアントファイルを生成する方がよいのではないかと思います。誰かがこれについて何か経験があれば、私はあなたから聞いてみたいです。

どんな助けでも大歓迎です。

0 投票する
1 に答える
2133 参照

hbase - hbaseクライアントを実行しているときにこの例外が発生しました