問題タブ [data-partitioning]
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.
algorithm - バランスの取れたパーティションとナップザック1/0の複雑さ
バランスの取れたパーティション:。それぞれ0...Kの範囲のn個の整数のセットがあります。|S1-S2|を最小化するように、これらの整数を2つのサブセットに分割します。ここで、S1とS2は、2つのサブセットのそれぞれの要素の合計を示します。ナップサック問題:それぞれに重みと値があるアイテムのセットが与えられた場合、コレクションに含める各アイテムの数を決定して、合計の重みが指定された制限以下になり、合計値が可能。同じオブジェクトを2回使用することはできません。
バランスの取れたパーティションの問題の解決策は、ナップサックS / 2のサイズにナップサックアルゴリズムを適用することであるようです。ここで、Sはすべての入力数値の合計であり、重みは各オブジェクトの値に等しくなります。それでも、ここでは、ナップサック問題はO(nC)であり、平衡分割問題はO(n ^ 2 k)であると述べています。私は何が欠けていますか?
sql - サブクエリの代わりにパーティショニングを使用しようとしています
現在のシステムに 2 つのテーブルがあり、1 つは現在の電子メールを含み、もう 1 つはグローバル アドレス帳からすべての電子メール アドレスを作成してエクスポートし、プライマリ電子メール アドレスとユーザー ID 値である BIT 値とともに. サブクエリを使用して、どのメールアドレスを変更する必要があるかを見つけるクエリを作成しましたが、サブクエリを使用せずにこれを実行できるはずですが、方法がわかりませんでしたか?
サブクエリを使用せずにこれを行う方法や方法を知っている人はいますか?
私が持っているものは機能しますが、SQL をより適切に記述する方法を学びたいと思っています。
OVER (Partition BY Member_ID) と MAX(CAST( [primary] AS int)) を使用してこれを行うことができたはずですが、それを理解するのに数時間を費やし、失敗しました。
...
...
sql-server - SQL Server 2008 でのインデックス テーブルのパーティション切り替えを使用した並列一括読み込み
これは、読者が引き続き利用できるようにする必要がある、頻繁にインデックス付けされたファクト タイプ テーブルにデータをすばやく取得するための最良の方法として、パーティションの切り替えを明確に決定した後の私の以前の質問へのフォロー アップです。
これは最善の方法のように思えますが、複数 (5 人未満) のユーザーが同時に一括挿入し、新しいデータにインデックスを付け、インデックス付きビューに表示する (ない) という要件を実際に満たすには十分ではありません。必ずしも実際のインデックス付きビューであり、インデックスに依存する選択のみ)。
パーティショニングの考え方は、各パーティションとそのパーティションをルートとするインデックス サブツリーを並行して読み取り専用としてロックし、作業テーブルにコピーし、新しいデータを挿入/更新し、インデックスを再構築してからメイン テーブルに戻すというものでした。したがって、読者は影響を受けません。
問題は、単一の作業テーブルです。各並列一括挿入には独自のコピーが必要であり、切り替えを可能にするためにメイン テーブルと同じ制約が適用されます。
これまでのところ、このボトルネックを回避しようとしていくつかの壁にぶつかりました。
- 同じパーティション関数を使用して、作業テーブルをパーティション分割してみました。パーティションごとにインデックスを無効にして、別のインデックスを再構築している間、パーティションに挿入することはできないため、これは機能しません。
- 作業テーブルとして一時テーブルを作成します。同じインデックス名を使用できますが、制約を動的に作成することは簡単ではなく、とにかくそれを切り替えることができないため、これは機能しません。
- 名前付き作業テーブルの固定セットがありますか? ストアド プロシージャが 1 つだけになるように、1 つを選択してエイリアスで操作するにはどうすればよいですか?
- 動的 SQL ? 私はその道を避けるために一生懸命努力してきました。そのままでは複雑です。
大きな挑戦ですが、ボトルネックを受け入れる前に何かアイデアはありますか? Sql 2012 は役に立ちますか? 適切なデータウェアハウスはこれにどのように対処しますか?
c# - 複数のhttprequsetを使用して部分的なコンテンツを取得し、parllelタスクを介してデータをフェッチする
私にとって非常に重要なので、私はこの投稿でできる限り徹底的にしようとしています、
問題は非常に単純ですが、この質問のタイトルを読むだけで、アイデアを得ることができます...
質問は:
正常な帯域幅(30mb Vdsl)が利用可能です...
httpWebRequest
単一のデータ/ファイルに対して複数を取得するにはどうすればよいですか?、
したがって、各要求はデータの一部のみをダウンロード し、すべてのインスタンスが完了すると、すべての部分が1つの部分に結合されます。
コード:
...私がこれまでに取り組んできたのは、各タスク= HttpWebRequest =異なるファイルだけで、同じ考えです。
したがって、高速化は純粋なタスクの並列処理であり、複数のタスク/スレッドを使用した1回のダウンロードの高速化です。
私の質問のように。
以下のコードを参照してください
次の部分は、主題に関するより詳細な外植と背景だけです...あなたが読んでもかまわないのであれば。
私はまだこの(問題の)プロジェクトとは異なる同様のプロジェクトに取り組んでいますが、
それ(以下のコードを参照)が、別々のタスク(異なるダウンロード/ファイル)ごとにできるだけ多くの異なるデータソースをフェッチしようとした方法で。...したがって、各(タスク)が実行される機会を得る前に、前のタスクが最初に完了するのを待つ必要がない間に、スピードアップが得られました。
この現在の質問で私がやろうとしていること(以下のコードでほとんどすべての準備ができている)は、実際に は同じデータに対して同じURLをターゲットにしているので、今回は単一タスク(現在のダウンロード)を取得するためのスピードアップです。
今回のみ、以下のコードと同じアイデアを実装し、複数のインスタンスを使用して同じURLSmartWebClient
をターゲットにします。
次に(現時点では理論のみ)、データの部分的なコンテンツを要求し、インスタンスごとに複数の要求を行います。
最後の問題は、「パズルを1つの平和に戻す」必要があることです...私が知る必要がある別の問題...
このコードでわかるように、私がまだ作業できなかったのは、データの解析/処理だけで、非常に使いやすいhtmlAgilityPack
ので問題ありません。
現在のコード
メインエントリ:
これにより、優れた帯域幅を利用できるようになります。対象となるソリューションからはほど遠いので、どこから始めればよいかについての手がかりを実際に利用できます。
graph - スコッチ/PT-隣接行列の帯域幅を最小化するためのスコッチグラフの頂点の並べ替え
Scotchのドキュメントは非常に明確ですが、APIの使用例が不足しています。他のサードパーティのドキュメントを見つけるためにGoogleを使用する場合でも、例やチュートリアルは行き止まりです。
私の問題は次のとおりです。Scotchを使用して隣接行列の帯域幅を減らすことを目的として、グラフの頂点を並べ替えたいと思います。現在、ScotchにはGPS(Gibbs-Poole-Stockmeyer)アルゴリズムが実装されています。これは、このタイプの並べ替えを実行できるアルゴリズムの1つです。しかし、ドキュメントには次のように書かれています。
この方法は主に、対角外ブロックの数と範囲を減らすためにセパレーターで使用されます。
戦略文字列「g」を使用してGPSアルゴリズムを選択し、さまざまなパス値で試してみましたが、結果が得られません。私が得るのは、元の帯域幅よりも広い帯域幅を持つ行列だけです。
私の質問は、SCOTCH_graphOrder()にグラフ全体で(帯域幅を減らすために)並べ替えを行うように指示するにはどうすればよいですか?
少なくとも私が答えを見つけるかもしれないリソースを推薦することができれば、私は感謝するでしょう。
sql-server - パーティションと複数のキューブのパフォーマンス
このシナリオを考えると、
3カ国の販売情報。
理論的には、次のアプローチ間で予想されるパフォーマンスの違い(*)は何でしょうか?
- 国ごとに1つのパーティションを持つ単一のキューブ。
- 国ごとに1つずつ、3つのキューブ。
(*)単一の国のクエリの場合、もちろんです。
matlab - MATLAB-cvpartitionの「k」パーティションタイプと「kfold」パーティションタイプの違い
層化された10分割交差検証手順(「k」分割タイプで示される)または10分割交差検証手順(「kfold」分割で示される)のいずれかを使用して、データの分割に対する違いとその影響を誰かに説明してもらえますか?タイプ)。
私の意図は、このパーティショニングを使用して、ブートストラップアンサンブルを使用した時系列分析の相互検証手順を実行することです。この場合、応答変数にできるだけ合うように説明変数を分割するために、どのパーティションタイプが優先されますか?
どんな助けでも大歓迎です。
ありがとうございました
mysql - MySQLパーティショニング:複数のパーティショニングされたテーブルのパフォーマンスが向上します。なんで?
10個の異なるテーブルでの読み取りと書き込みの永続性をテストするベンチマークを実装しました。
私は10個のJavaスレッドを持っており、それぞれがそのテーブルに対してのみクエリを実行します。
スレッド1はTable1に対して操作を実行し、スレッド2はTable2に対して操作を実行します。
これらのスレッドを並行して実行し、パーティション化されていないTable [1-10]で複数の読み取りを実行するパフォーマンスと、各TableXを9つの等しいパーティションにパーティション化する同じベンチマークのパフォーマンス(それぞれが1週間の測定、合計9週間を表す)を比較しました。データの)。
私は興味深く、説明できない結果を受け取りました:
単一スレッドの単一操作のパフォーマンスは、非パーティションテーブルの場合は2倍優れていますが、すべてのスレッドのすべての操作の合計時間は、パーティションテーブルの場合は5倍高速です。
ログを確認したところ、パーティション化されたテーブルを使用すると、より多くの操作を並列化できることがわかりました。単一の操作は長くなりますが、異なるスレッドの複数の操作は並列化されるため、終了が速くなります。
各スレッドは独自のテーブルでのみ操作を実行するため、なぜこれが発生するのかわかりません。
すべてのテーブルとパーティションにMyISAMエンジンのみを使用しています。
oracle11g - パーティション名の名前を変更する際のグローバル インデックス
いくつかのインデックスを含む既存のテーブルがあります。dbms 再定義を使用して、そのテーブルのパーティション分割を行います。また、24 時間ごとにパーティション名を変更する必要があります。パーティション名を変更した後、グローバル インデックスに問題はありますか。返信してください。
インターバル・パーティション化を実行するために主キーを持つことは必須ですか?
私はオラクル11gを使用しています