問題タブ [bigtable]

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 投票する
3 に答える
8830 参照

python - Bigtable / Datastore(GAE)のデータモデルをどのように設計しますか?

Google App EngineデータストアはBigtableに基づいており、リレーショナルデータベースではないことがわかっているため、このタイプのデータベースシステムを使用するアプリケーションのデータベーススキーマ/データモデルをどのように設計しますか?

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

architecture - データベースの種類の選択

bigtabe/simpledb データベースとリレーショナル データベースはいつ使用しますか?

0 投票する
5 に答える
5650 参照

database - BigTable、SimpleDB などのデータベースのプロ

Google BigTable や Amazon SimpleDB などの新しい学校のデータストア パラダイムは、特にスケーラビリティを考慮して設計されています。基本的に、結合の禁止と非正規化は、これを達成する方法です。

ただし、このトピックでは、大きなテーブルでの結合は必ずしも高価である必要はなく、非正規化はある程度「過大評価」されているというのがコンセンサスのようです。スケーラビリティを達成するために単一のテーブル?これらのシステムに格納する必要があるのは、膨大な量のデータ (数テラバイト) ですか?
データベースの一般的な規則は、これらの尺度には当てはまりませんか? これらのデータベースの種類は、多くの類似オブジェクトを格納するように特別に調整されているためですか?
それとも、全体像が欠けていますか?

0 投票する
10 に答える
5711 参照

java - 分散型キー値ルックアップ システムが必要

(潜在的に) 数百 GB のデータ全体でキーと値のルックアップを行う方法が必要です。理想的には、Java とうまく連携する分散ハッシュテーブルに基づくものです。耐障害性があり、オープン ソースである必要があります。

ストアは永続的である必要がありますが、速度を上げるためにデータをメモリにキャッシュするのが理想的です。

複数のマシンからの同時読み取りと書き込みをサポートできる必要があります (ただし、読み取りは 100 倍一般的になります)。基本的に、目的は Web サービスのユーザー メタデータの初期ルックアップをすばやく行うことです。

誰でも何かお勧めできますか?

0 投票する
9 に答える
21351 参照

sql-server - SQL Server で大きなテーブル (+1M 行) を最適化するためのアプローチは何ですか?

ブラジルの株式市場データを SQL Server データベースにインポートしています。現在、株式、オプション、フォワードの 3 種類の資産からの価格情報を含むテーブルがあります。私はまだ 2006 年のデータを使用しており、テーブルには 50 万件を超えるレコードがあります。12 年分のデータをインポートする必要があるため、テーブルは確実に 100 万レコードを超えます。

さて、最適化のための最初のアプローチは、データを最小サイズに保つことだったので、次の列で行サイズを平均 60 バイトに減らしました。

さて、最適化のための 2 番目のアプローチは、クラスター化インデックスを作成することでした。実際には、プライマリ インデックスは自動的にクラスター化され、Stock フィールドと Date フィールドを含む複合インデックスにしました。これはユニークです。同じ日に同じ株の 2 つの相場データを取得することはできません。

クラスタ化されたインデックスは、同じ株からの引用符がまとめられ、おそらく日付順に並べられるようにします。この 2 番目の情報は本当ですか?

現在、50 万件のレコードがあるため、特定のアセットから700 件の見積もりを選択するのに約 200ミリ秒かかります。この数は、テーブルが大きくなるにつれて高くなると思います。

3 番目のアプローチとして、テーブルを 3 つのテーブルに分割し、それぞれが特定の市場 (株式、オプション、フォワード) に対応することを考えています。これにより、おそらくテーブル サイズが 1/3 に削減されます。さて、このアプローチは役に立ちますか、それともあまり重要ではありませんか? 現在、テーブルのサイズは 50 MB であるため、問題なく RAM に完全に収まります。

もう 1 つの方法は、SQL Server のパーティション機能を使用することです。私はそれについてあまり知りませんが、通常、テーブルが大きく、I/O レイテンシを減らすために複数のディスクにまたがることができる場合に使用されると思いますよね? この場合、パーティショニングは役に立ちますか? 最新の値 (最近の年) と最も古い値を別のテーブルに分割できると思います. 最新のデータを探す確率は高くなります. 分割が小さいとおそらく速くなりますよね?

これを最速にするための他の良いアプローチは何でしょうか? テーブルの主な選択用途は、特定の資産から特定の範囲のレコードを検索することです。たとえば、資産 X の最新の 3 か月などです。別の用途もありますが、これが最も一般的であり、3k 以上で実行される可能性があります。ユーザーを同時に。

0 投票する
14 に答える
14085 参照

sql - SQLクエリ:大きなテーブル間の内部結合の最適化

MySQL4.xDBには次の3つのテーブルがあります。

  • ホスト:(300.000レコード)
    • id(UNSIGNED INT)主キー
    • 名前(VARCHAR 100)
  • パス:(6.000.000レコード)
    • id(UNSIGNED INT)主キー
    • 名前(VARCHAR 100)
  • URL:(7.000.000レコード)
    • host(UNSIGNED INT)PRIMARY KEY<---hosts.idへのリンク
    • path(UNSIGNED INT)PRIMARY KEY<---paths.idへのリンク

ご覧のとおり、スキーマは非常に単純ですが、問題はこれらのテーブルのデータ量です。

これが私が実行しているクエリです:

このクエリは完全に正常に機能しますが、実行には50分かかります。誰かが私がそのクエリをどのようにスピードアップできるかについて何か考えがありますか?

前もって感謝します。ニコラス

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

python - App Engine - Model プロパティの値を設定しようとすると問題が発生する

私はアプリ エンジンにかなり慣れていないので、初めてアプリ エンジン データベースに少しのテキストを設定しようとしています。

これが私のコードです:

これはある種の例外をスローします-私のdjango 1.02セットアップのために、それが何であるかはわかりません。

OK、以下の回答のコードを試してみました。データストアを削除した後も機能しましたが、まだ満足していません。

ここにアップデートがあります:

コードを自分にとって意味のあるものに変更しました。getVenueIntroText を呼び出しても文句はありません。ところで、データベースにアイテムがありません。

setVenueIntroText を呼び出すと、なんらかの理由で私が行っていることが好きではありません - 誰かがその理由を知っているなら、私は本当に知りたいです:)

これが私の最新の試みです:

0 投票する
7 に答える
2424 参照

c# - 高周波データを提供するための設計アイデア

さまざまなソースからさまざまな時間間隔で取得される時系列データを保存して提供するための何かを構築したいと考えています。これには、生データと計算データの両方が含まれます。たとえば、30秒ごとの温度測定値と、5分ごとに個別に計算している温度予測をログに記録するとします。

データをすばやくクエリできるようにする必要がありますが、リレーショナルデータベースが大きくなりすぎると、まったく機能しなくなることがわかりました。ある種のメモリ内のものを作成することを考えていましたが、ある時点でクラッシュすると確信しているので、データをディスクに保持する必要があります。だから私は、一般的に要求されるデータのためのある種のキャッシュを使って、全体をディスクベースにしないのはなぜだろうと思っていました。

しかし、私はこれについてどうやって行くのか少し無知です。ある種の文字列キー/記号を使用してデータが何であるかを識別するために、データソースが更新データセットをサーバーに定期的にプッシュすることを想像しています。サーバーがデータを取得し、それから何をしますか?ある種のバイナリファイルに書き込みますか?シンボルごとに1つのファイルに書き込むことはできますか?(10万以上のシンボルを想定)

私が欲しいのはグーグルのBigTableに似ていると思いますが、規模ははるかに小さいです。基本的に、分散ハッシュテーブルは、文字列キーを関連データの時系列にマッピングし、非常に高速な取得と時間による範囲クエリの取得機能を備えています。多次元データ用の追加ポイント。

ああ、これは(理想的には)C#/windowsプロジェクトによるものです-それほど高性能である必要はありません。