1

最近ビッグデータに取り組み始めました。具体的には、数 GB のデータがあり、頻繁に計算 (追加、変更) を行う必要があります。データの計算には時間がかかるため、計算を高速化するためにデータを保存する方法を考えていました。以下は、私が検討したオプションです。

  1. プレーン テキスト ファイル: この手法の唯一の利点は、データの挿入が非常に簡単なことです。レコードを効率的に検索する方法がないため、既存のデータへの変更は非常に遅くなります。
  2. データベース: データの挿入と変更が簡素化されます。ただし、これは進行中の研究プロジェクトであるため、実験結果に応じてスキーマを頻繁に更新する必要がある場合があります (これは今まで発生していませんが、近い将来必ず発生する可能性があります)。さらに、データの移動は (単純なファイルと比較して) 簡単ではありません。さらに、データのクエリは、データが XML に格納されている場合に比べてそれほど速くないことに気付きました。
  3. XML : BeautifulSoup を使用すると、すべてのデータを含む XML ファイルのみを読み込むだけで約 15 分かかり、RAM を 15 GB 消費します。スクリプトを 1 日に複数回実行するのはごく普通のことなので、呼び出しごとに最大 15 分は非常に長く感じられます。利点は、データが読み込まれると、要素 (タグ) をかなり迅速に検索/変更できることです。
  4. JSON と YAML : 深く調べていません。ファイルを格納するために必要なディスク容量を確実に圧縮できます (XML と比較して)。ただし、(データベースや XML とは異なり) データがこれらの形式で格納されている場合、レコードをクエリする方法が見つかりませんでした。

あなたは私に何を提案しますか?他に考えている選択肢はありますか?

4

2 に答える 2

1

大量のデータに柔軟に対応できるデータベースを探しているなら、MongoDBが最適なテクノロジかもしれません。

MongoDB は NoSQL データベース システムのファミリーに属し、次の機能を備えています。

  • JSON に似たドキュメントに基づく
  • 大量のデータでも高いパフォーマンス
  • スキーマフリー
  • ドキュメントベース
  • オープンソース
  • クエリ可能
  • インデックス可能

これにより、将来的に非常に柔軟な方法でスキーマを変更できます。データの挿入 (1.)、データとその構造の変更 (2.) は非常に簡単で、XML (3.) よりも高速で、JSON ベースで効率的に行うことができます。ストレージ (4.)。

于 2013-05-02T07:45:21.083 に答える
-1

整数のサイズは 4、long long int は 8 バイトで、約 19 桁のデータにアクセスできます。unsinged long long int のサイズも 8 バイトですが、long long int よりも大きな値を処理しますが、これは 20 桁未満です。方法はありますか20 桁以上のデータを扱うことができます。

#include<iostream>
using namespace std;
int main()
{
    unsigned long long int a;
    cin>>a;
    if(a>789456123789456123123)//want to take a higher thand this digits
    {
        cout<<"a is larger and big data"<<endl;
    }
}

しばらく検索しましたが、役立つコンテンツが見つかりませんでした.all about is java biginteger..

于 2016-04-30T07:12:53.900 に答える