タグ付けされた質問 「compression」

元の表現と比較して使用するビット数が少なくなるようにデータをエンコードするプロセスに付けられた名前。

4
SQL Serverから取得したデータは送信用に圧縮されていますか?
Microsoft SQL Serverから取得したデータは圧縮されていますか?これが接続文字列によって制御されている場合、特定のアプリが接続文字列を使用しているかどうかを確認する簡単な方法はありますか? 私は分析ツールを検討していますが、データ量がネットワークを介して送信されるのに数分かかる場合があります。同じリモートサーバー上の圧縮データストアからデータを取得する場合、パフォーマンスの向上を期待する必要があるかどうか疑問に思っています。 私たちがこのトピックについて話している限り、興味があります。データはバイナリで送信されますか、それともASCIIで送信されますか?たとえば、値12345がINT列からクエリされる場合、5バイト0x31、0x32、0x33、0x34、0x35として送信されます。値に必要な2バイト。または列に必要な4バイト? 明確にするために、データを圧縮して保存し、バックアップすることに関するオプションがあることを理解しています。データの送信方法について質問しています。

2
ヒープの圧縮
以下は、Microsoft Docsの段落です。 DML操作の一部としてヒープに割り当てられた新しいページは、ヒープが再構築されるまでPAGE圧縮を使用しません。圧縮を削除して再適用するか、クラスター化インデックスを作成および削除して、ヒープを再構築します。 なぜそうなのか分かりません。圧縮設定が指定されたヒープがある場合、テーブルに属するページに適用されないのはなぜですか? ありがとう

2
NVARCHAR(MAX)を圧縮する別の方法は?
NVARCHAR(MAX)フィールドを持ついくつかのテーブルを圧縮しようとしています。あいにく、圧縮rowとpage圧縮には希望の影響はありません(20 GBのテーブルに対して保存されるのは〜100/200 MBのみです)。また、列ストアおよび列ストアのアーカイブ圧縮は、NVARCHAR(MAX)フィールドの圧縮をサポートしていないため、適用できません。 ここに他の選択肢があるかどうかは誰にもわかりますか? また、列の内容は一意であるため、rowand page圧縮は効果がないと思いNVARCHAR(MAX)ます。

1
SQL Serverの圧縮インデックスは、データ圧縮を指定せずに再構築時に圧縮されたままですか?
ページ圧縮(ALTER INDEX IX1 REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE))を使用してSQL Serverインデックスを再構築した後、(特定の断片化しきい値を超えた一部のメンテナンススクリプトで行われるように)その後の再構築では、データ圧縮を再度指定する必要がありますか?そうでなければ、インデックスは効果的に圧縮解除されますか?

2
複数のファイルのファイルグループに割り当て単位を含む正確なファイルを特定する方法はありますか?
どのデータベースファイルに、データベース内に存在するさまざまなHoBT(アラインされたものとアラインされていないもの)のどの割り当てユニットが含まれているかについて、詳細なビューを取得したいと考えていました。 ファイルグループごとに複数のデータファイルの作成を開始するまで、私が常に使用してきたクエリ(以下を参照)は役立ちました。 select SchemaName = sh.name, TableName = t.name, IndexName = i.name, PartitionNumber = p.partition_number, IndexID = i.index_id, IndexDataspaceID = i.data_space_id, AllocUnitDataspaceID = au.data_space_id, PartitionRows = p.rows from sys.allocation_units au join sys.partitions p on au.container_id = p.partition_id join sys.indexes i on i.object_id = p.object_id and i.index_id = p.index_id join sys.tables …


2
データベース内のすべてのテーブルの非圧縮サイズを見つける
Dynamics AXには、メモリにロードしてキャッシュするようにテーブルを構成できるキャッシュメカニズムがあります。このキャッシュは、メモリの問題を防ぐために一定のKBに制限されています。私が話している設定は呼び出さentiretablecacheれ、単一のレコードが要求されるとすぐにテーブル全体をメモリにロードします。 最近まで、いくつかのスクリプトに依存して、この設定を持つテーブルのサイズを検証し、テーブルサイズがこの制限を超えているかどうかを確認していました。 しかし、今では圧縮が作用し始めており、sp_spaceusedやsys.allocation_unitsのようなものが、圧縮されたデータによって実際に使用されているスペースを報告しているようです。 明らかに、アプリケーションサーバーは圧縮されていないデータを処理しているため、SQL Serverのディスク上のデータサイズは無関係です。非圧縮データの実際のサイズが必要です。 私はsp_estimate_data_compression_savingsを知っていますが、名前が示すように、これは単なる見積もりです。 サイズをできるだけ正確にしたいと思います。 私が考えることができる唯一の方法は、圧縮テーブルと同じ構造の非圧縮テーブルを作成し、そのシャドウテーブルに圧縮データを挿入し、そのシャドウテーブルのサイズを確認する、複雑な動的SQLでした。 言うまでもなく、これは少し面倒で、数百GBのデータベースで実行するには時間がかかります。 Powershellはオプションの可能性がありますが、すべてのテーブルを反復処理しselect *てスクリプトでサイズを確認するのは好ましくありません。 要するに、可能であれば、アプリケーションに提示された方程式から断片化された状態で圧縮されないため、各テーブルのサイズを取得する方法が必要です。私はさまざまなアプローチを受け入れています。T-SQLをお勧めしますが、Powershellや他の創造的なアプローチには反対しません。 アプリケーションのバッファがデータのサイズであると仮定します。bigintは常にbigintのサイズであり、文字データ型は1文字あたり2バイト(ユニコード)です。BLOBデータはデータのサイズも取ります。enumは基本的にintであり、数値データはnumeric(38,12)、datetimeはdatetimeのサイズです。また、NULL値はありません1900-01-01。空の文字列として保存されるか、ゼロになります。 これがどのように実装されているかについてのドキュメントはありませんが、前提はPFEおよびサポートチームが使用するいくつかのテストとスクリプトに基づいています(また、チェックはアプリケーションに組み込まれ、アプリは認識できないため、明らかに圧縮を無視します)基になるデータが圧縮されている場合)、テーブルサイズもチェックします。例のこのリンクは述べています: 大きなテーブルにはEntireTableキャッシュを使用しないでください(AX 2009では128 KBまたは16ページ以上、AX 2012では「テーブルキャッシュサイズ全体」アプリケーション設定[デフォルト:32KB、または4ページ])–代わりにレコードキャッシュに移動します。

1
バラクーダと圧縮の利点
私はMySQLのファイル形式AntelopeとBarracudaについて少し前に読んでいますが、BarracudaとCompressionを利用することで利益が得られるのではないかと考えています。 私のサーバーはMySQLのデフォルトであるため、現在Antelopeを使用しています。 私が持っている大規模なデータベースのために、メモリに関する問題が何度もありました。私のデータベースは毎日増加しています。 http://www.mysqlperformanceblog.com/2008/04/23/real-life-use-case-for-barracuda-innodb-file-format/のような圧縮は、少数の人々に利益をもたらしているようです 。 私はメモリとディスク容量が低くなることを理解していますが、これを理解しているかどうかはわかりません(記事から引用): 「トップに応じて〜5%のCPU負荷(80〜100%からほとんどI / Oを待っています) 0.01主キーによる平均検索時間(変換前の1〜20秒) データが圧縮されている場合、サーバーは元のデータを再度取得するために圧縮を解除する必要があるため、これらの2つのことは改善されないと考えました。 これは、読み取り/書き込み集中型のアプリケーションで役立ちますか?Barracuda and Compressionに変更することをお勧めしますか? バラクーダの問題を知っていますか? 次の質問の答えはいくつかの問題を指摘しているようですが、2011年からですので、今では修正されていると思います:https : //serverfault.com/questions/258022/mysql-innodb-how-to-switch -to-barracuda-format

1
PostgreSQLデータベースの圧縮
500GBを超える大きなPostgreSQLデータベースがあり、大きすぎます。とにかく、データベースをより扱いやすいサイズに圧縮する方法はありますか?SquashFSと177GBに圧縮されたデータベースでこれを実行しようとしましたが、PostgreSQLではデータベースに書き込みアクセスがあり、Squashedシステムは読み取り専用である必要があります。より経験豊富なデータベースユーザーは、この目標を達成するための提案を持っていますか? データベースは地球のGISデータを保持し、展開されたシステムでローカルに使用されます。現在は1TB SSDに搭載されていますが、大規模なデータベースに対応するためだけに、追加のハードドライブを使用しないようにしています。データベースは問題なく動作します。管理しやすいサイズに圧縮し、別のドライブに配置しないようにします。

4
ネットワークバックアップの代替
私たちの環境では、Always On可用性グループにあるサーバーとスタンドアロンのサーバーがあります。 通常はネットワーク共有にバックアップしますが、最近、データベースが大きくなるにつれて、かかる時間が長くなり、ネットワーク全体の速度が低下することがわかりました。 Ola hallengrenのスクリプトは、圧縮とバックアップファイルの分割に使用されています。私は毎日の「完全」バックアップのみを実行しています。バックアップは、ネットワーク共有EMC isilonドライブに送られます。 EMC DD Boostには満足できません。唯一の代替策は、ローカルバックアップを実行してから、同じネットワーク共有にコピーすることです。 上記以外の効率的な方法はありますか?

2
SQL Serverのデータ圧縮は、読み取り専用のデータベースに非常に適していますか?
私が読んだSQL Serverのデータ圧縮に関するいくつかの文献では、書き込みコストが通常必要なものの約4倍に増加すると述べています。また、これがデータ圧縮の主な欠点であることを暗示しているようです。読み取り専用アーカイブデータベースの場合、100%埋められたページのデータ圧縮を使用すると、パフォーマンスが(ほとんど例外なく)向上することを強く意味します。 上記の説明は正しいですか? データ圧縮とそれ以外の場合の主な「違い」は何ですか(読み取り用) 「CPU + x%」? 「IO -y%」? ページ分割発生? tempdbの使用法? RAM使用量? そして書くために? この質問のために、コンテキストを大きな(> 1TB)データベースのページレベルの圧縮に制限できますが、追加のコメントはいつでも歓迎します。 参照: SQL Serverストレージエンジンブログ(DWシナリオは圧縮が非常に有利であることを示しています) データ圧縮:戦略、容量計画、およびベストプラクティス 圧縮対象を決定するためのより詳細なアプローチには、各テーブルとインデックスのワークロード特性の分析が含まれます。次の2つの指標に基づいています。 U:特定のテーブル、インデックス、またはパーティションに対する更新操作の、そのオブジェクトに対する合計操作に対する割合。Uの値が低い(つまり、テーブル、インデックス、またはパーティションが頻繁に更新されない)ほど、ページ圧縮の候補として適しています。 S:そのオブジェクトに対する操作の合計に対する、テーブル、インデックス、またはパーティションに対するスキャン操作の割合。Sの値が大きいほど(つまり、テーブル、インデックス、またはパーティションがほとんどスキャンされる)、ページ圧縮の候補として適しています。 上記の両方は、DWスタイルのデータベース(読み取り集中型/排他型のビッグデータ操作)のページ圧縮を推奨する方向に明らかに偏っています。

1
ページ圧縮を使用する場合の行オーバーヘッドは何ですか?
650 Numeric(19,4)列のテーブルを作成しました。実行してページ圧縮をオンにすると ALTER TABLE fct.MyTable REBUILD WITH (DATA_COMPRESSION = PAGE); 私は得る メッセージ1975、レベル16、状態1のインデックス「PK_Mytable」の行の長さが、許容される最大長の「8060」バイトを超えています。 しかし、9バイトの650倍は5850バイトにすぎず、これは指定された制限の8060バイトからはかなりかけ離れています。 サーバーは、SQL Server 2016 SP1 CU2でWindows 2012 r2を実​​行しています ページ圧縮を使用する場合の行オーバーヘッドは何ですか? ここに私が何を意味するかを示すいくつかのコードがあります: /* test script to demo MSG 1975 */ DECLARE @sql NVARCHAR(max)='', @i INT =0 drop table if exists dbo.mytable; SET @sql = 'Create table dbo.Mytable (MyTableID bigint not …

2
行圧縮とページ圧縮の違いを説明してください
どれを適用するか、いつ圧縮を適用するのが適切な時期かを判断しようとしています。この質問を投稿して、このコミュニティから洞察を得ます。私はいくつかの記事を読みましたが、DBアドミニストレーターでこれに対処する場所が必要でした。

1
PKの圧縮とテーブルの圧縮の違いは何ですか?
データ圧縮はテーブルで設定できます: CREATE TABLE dbo.SomeTable( SomeId [bigint] NOT NULL, OtherId [bigint] NOT NULL, IsActive [bit] NOT NULL, CONSTRAINT [PK_Some] PRIMARY KEY CLUSTERED ( SomeId Desc ) ) ON SomePartitionScheme(SomeId) WITH (DATA_COMPRESSION=PAGE) そしてそれは主キーで定義できます: CREATE TABLE dbo.SomeTable( SomeId [bigint] NOT NULL, OtherId [bigint] NOT NULL, IsActive [bit] NOT NULL, CONSTRAINT [PK_Some] PRIMARY KEY …

1
Postgresに大量のテキストを保存するための圧縮オプションは何ですか?
大量のテキストをPostgresに保存する必要があります。主にコマンドログと長時間実行コマンドの出力であり、zlibなどのツールを使用してデータを透過的に圧縮できるいくつかの設定があるかどうか、または他のネイティブなスペース節約方法を知る必要があります。 。 データは主に読み取り専用データであるため、書き込みは問題になりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.