問題タブ [database-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.
distributed - Microsoft Sync Framework (v2 CTP 2) を使用してクライアントの機密データを分割する方法は?
中央データベースは、ハブ & スポーク方式で同期されます。
クライアント データがそのクライアントにのみローカルにレプリケートされるように、データを分割できる必要があります。
誰もこの問題に直面しましたか?
MSF は同期スコープを提供します - テーブルの宣言は、filtercolumn とフィルター句を指定するオプションを使用して同期されますが、パラメーター (clientID など) をフィルターに渡す方法はないようです。
msdn ドキュメントの例を次に示します。
私たちの問題は、実行時パラメーターとして clientID を除外するフィルターが必要なことです。
これは MSF でサポートされていますか?
そうでない場合は、複数のスコープを宣言することでこれを実現できます。clientID を指定する filterclause を使用して、クライアントごとにスコープを宣言します。これには、新しいクライアントを作成するたびにサーバーを再プロビジョニングする必要があります....そうですか?
SqlSyncScopeProvisioning クラスを使用して、既存のスコープで既にプロビジョニングされているデータベースに新しいスコープを追加できるかどうかは誰にもわかりませんか?
MSF は複数のスコープをサポートするように設計されているようですが、SqlSyncScopeProvisioning クラスを使用してスコープを追加する方法がよくわかりません。
ruby-on-rails - ActiveRecordをレガシーのパーティション化/シャーディングされたデータベース/テーブルで動作させる方法は?
最初に時間を割いていただきありがとうございます...グーグル、github、そしてここで検索した後、大きな単語(パーティション/シャード/フェドレート)についてもっと混乱しました、私は私が遭遇した特定の問題を説明し、周りに尋ねなければならないと思います。
私の会社のデータベースは大量のユーザーと注文を処理するため、データベースとテーブルをさまざまな方法で分割します。その一部を以下に説明します。
基本的な概念は、データベースとテーブルがフィールド(必ずしも主キーではない)に従って分離され、データベースとテーブルが多すぎるため、データベースとモデルごとに1つのdatabase.yml構成を作成または魔法のように生成することです。各テーブルについては不可能であるか、少なくとも最善の解決策ではありません。
drnicの魔法のソリューション、datafabric、さらにはアクティブレコードのソースコードを調べました。ERBを使用してdatabase.ymlを生成し、フィルター周辺でデータベース接続を行うことができます。また、named_scopeを使用してテーブル名を動的に決定することもできます。検索しますが、更新/作成操作は「self.class.quoted_table_name」にバインドされているため、問題を簡単に解決できませんでした。また、テーブルごとに1つのモデルを生成することもできます。これは、その量が最大で30であるためです。
しかし、これはドライではありません!
私が必要としているのは、次のDSLのようなクリーンなソリューションです。
誰かが私を啓発できますか?どんな助けでも大歓迎です~~~~
mysql - MySQL のパーティショニング
1 つの大きなテーブルにパーティションを作成しようとしていますが、次のエラーが発生します。
1505 - パーティション化されていないテーブルでのパーティション管理はできません
テーブルを変換するコマンドはありますか? または、新しいものを作成してすべてのデータをインポートする必要がありますか?
Partitioning with Replication を使用する際に問題はありますか?
前もってありがとう、
ペドロ
mysql - パーティションテーブルを使用したmysqldump
大きなMyiSamテーブルがあり、最近それをパーティション化しました。mysqldumpを使用して毎日dbをバックアップしますが、大きなテーブル全体をbakcupするのではなく、特定のパーティションだけをバックアップしたいと思います。mysqldumpを使用してダンプするパーティションを指定する方法はありますか?
sql-server - SQL Server で一度に複数の方法でパーティション分割することはできますか?
SQL Server でデータを分割するさまざまな方法を検討しています。私が検討しているアプローチの 1 つは、特定の巨大なテーブルを 8 つのパーティションに分割し、これらの各パーティション内で別のパーティション列に分割することです。これは SQL Server でも可能ですか、またはテーブルごとに 1 つのパーティション列 + 関数 + スキームを定義することに制限されていますか?
私はより一般的な答えに興味がありますが、この戦略は、DPV を使用して 8 台のマシンに膨大な量のデータを分散する最初のスキームでデータを分割し、次に分散パーティション ビューについて検討している戦略です。必要に応じて(たとえば)サブパーティションを削除できるように、各マシンパーティションで完全なテーブルのその部分を別のパーティションキーに配置します。
sql - テーブル分割とは?
どのような場合にテーブル パーティショニングを使用する必要がありますか?
sql - MySQLでデータベーステーブルをパーティション化する
MySQLをバックエンドとして使用してデータウェアハウスを作成しています。2つの整数IDと名前文字列に基づいてテーブルを分割する必要があります。
より具体的な例は、私が学校に関するデータを保存していると仮定することです。以下に基づいて、COMPOSITE'Key'に基づいてschool_dataテーブルを分割したいと思います。
学生の名前の場合、データをどの「パーティションテーブル」に入れるかを決定するのは、名前の最初の文字にすぎません。
InnoDbテーブルでMySQL(5.1)を使用してこの要件を実装するにはどうすればよいですか?
また、私はWindowsボックスで開発を行っていますが、本番用に*nixボックスにデプロイします。さらに2つの質問があります。
- WindowsからLinuxに移行するときは、データをダンプして復元する必要があると思います。データベースにパーティション化されたテーブルが含まれている場合、これで問題ないかどうかはわかりません(ドキュメントでこれが記載されている場所へのポインターは、私の心を休ませます-パーティション化されたテーブルに関するダンプ/復元についての具体的な言及は見つかりませんでした。
- また、データベースを変更する必要があるかもしれません(OracleがMySQLユーザーに意外な動きをした場合)。その場合、データを別のデータベースにエクスポートする必要があります。この場合(おそらくありそうもないシナリオ)-パーティション化されたテーブルを念頭に置いて、MySQLから(おそらくテキストなどに)データをダンプするための最良の方法は何でしょうか?
mysql - 3 つのテーブル フィールド (列) を使用した mySQL KEY パーティショニング
MySQL をバックエンドとして使用して、データ ウェアハウスを作成しています。2 つの整数 ID と名前文字列に基づいてテーブルを分割する必要があります。パーティショニングに関する mySQL ドキュメント (の一部) を読みましたが、このシナリオで最も適切なパーティショニング スキームは、HASH または KEY パーティショニングのいずれかです。
私は、自分のフィールドに「衝突のない」ハッシュ アルゴリズムを提供する責任を負いたくないので、KEY パーティショニングを選択しました。代わりに、ハッシュに必要なキーを生成するために MySQL ハッシュに依存しています。
以下に、次のフィールドの COMPOSITE に基づいて分割したいテーブルのスキーマのスニペットを含めました。
学校 id、course_id、ssname (学生の姓)。
ところで、これが学校関連の情報を保存する最良の方法ではないことを誰かが指摘する前に、私がモデル化しようとしているもののアナロジーとして以下のケースを使用しているだけであることを指摘しておく必要があります。
現在の CREATE TABLE ステートメントは次のようになります。
この質問の冒頭で述べた 3 つのフィールド (つまり、school_id、course_id、および生徒の姓の最初の文字) を使用してテーブルが分割されるように、上記のステートメントを変更する方法を知りたいと思います。
私が尋ねたいもう一つの質問はこれです:
たとえば、有効な* school_id、course_id、または姓を含むレコードを挿入しようとすると、基になるパーティション テーブル ファイルが存在しない場合、mySQL によって基になるファイルが自動的に作成されます。
適例。私は次の学校を持っています: New York Kindergaten、Belfast Elementary、および次のコース: Infitesmal 次元の嘘代数、もつれた実体
また、次の学生 (姓) がいると仮定します: ブッシュ、ブレア、フセイン
新しい学校 (またはコース、または学生) を追加するとき、それらを foobar テーブルに挿入できますか (実際、そうしない理由はわかりません)。私が尋ねる理由は、学校やコースなどを追加することを予見しているためです。つまり、mySQL は舞台裏で追加のテーブルを作成する必要があります (ハッシュが新しいキーを生成するため)。
この分野の経験を持つ誰かが (できれば彼らの主張を裏付けるリンクで) 確認できれば、私の理解 (つまり、新しい学校、コース、または学生をデータベースに追加する場合、手動による管理は必要ありません) が正しいことを確認できれば幸いです。
私の2番目の質問が適切に形成された(明確な)かどうかはわかりません。そうでない場合は、さらに明確にさせていただきます。
*VALID - 有効とは、参照整合性を壊さないという点で有効であることを意味します。
sql - ORACLE でのパーティションの名前変更
ALTER TABLE RENAME PARTITION ステートメントを使用して Oracle テーブルの既存のパーティションの名前を変更する場合、新しく変更されたパーティション名でローカル パーティション インデックスを再作成する必要がありますか?
sql-server - SQL Server 2005 のテーブル パーティションに関して、収穫逓減の法則はどこで機能しますか?
SQL Server 2005 でテーブル パーティションの現実的な最大数に達した人がいるのだろうかと思っています。ドキュメントには、テーブルごとに 1000 パーティションの制限があると記載されていることは知っていますが、それを信じるのに苦労しています。 1000 個のパーティションがすべて使用可能になります。
どんな助けでも大歓迎です。
ウェイン・E・フェファー