導航:首頁 > 文件處理 > 資料庫數據壓縮

資料庫數據壓縮

發布時間:2024-03-08 04:41:32

❶ 數據壓縮技術分為哪兩類使用方法是什麼

【導讀】數據壓縮技術是大數據傳輸過程中需要採用的一種數據存儲方法。那麼數據壓縮技術分為哪兩類?使用方法是什麼呢?為此小編今天就來和大家細細聊聊關於數據壓縮技術那些事,同時也提醒各位大數據工程師在使用數據壓縮過程中的一些注意事項及使用方法。

在數據壓縮中,通過使用比原始數據更少的位來對數據進行編碼,數據壓縮有兩種方法:無損壓縮,它消除了冗餘但不丟失任何原始數據;有損數據壓縮,可通過刪除不必要或不太重要的信息來修改數據,在大數據的傳輸和存儲中使用數據壓縮非常重要,因為它減少了IT部門必須為該數據提供的網路帶寬和存儲量,同樣重要的是,您實際上並不想保留某些類型的大數據,例如作為物聯網(IoT)通信數據一部分的設備間握手引起的抖動。

為了最大程度地利用大數據進行數據壓縮,您必須知道何時何地使用不同類型的數據壓縮工具和公式。選擇數據壓縮方法時,請牢記以下幾條有用的准則:

何時使用無損數據壓縮

如果您有一個大數據應用程序,並且無法承受丟失任何數據的麻煩,並且需要解壓縮壓縮的每個位元組的數據,那麼您將需要一種無損的數據壓縮方法,當您壓縮來自資料庫的數據時,即使您意味著必須存儲更多的數據,也希望進行無損數據壓縮。在選擇將此數據重新提交到其資料庫時,您需要解壓縮完整數據,以便它可以與資料庫端的數據匹配並進行存儲。

何時使用有損數據壓縮

有時您不需要或不需要所有數據,例如物聯網和網路設備的抖動,您不需要這些數據,只需提供給您業務所需的上下文信息的數據即可。第二個示例是在數據壓縮過程的前端可能使用的數據壓縮公式中使用人工智慧(AI),如果您正在研究一個特定的問題,並且只希望與該問題直接相關的數據,則可以決定讓數據壓縮公式不包含與該問題無關的任何數據。

如何選擇正確的編解碼器

一個編解碼器是一個硬體,軟體的組合,壓縮和解壓縮數據,所以它在大數據壓縮和解壓縮操作的核心作用,編解碼器有許多種,因此為正確的數據或文件類型選擇正確的編解碼器很重要,您選擇的編解碼器類型將取決於您嘗試壓縮的數據和文件類型,有無損和有損數據的編解碼器,也有一些編解碼器必須將所有數據文件作為「整體」處理,而其他編解碼器可以將數據分割開,以便可以對其進行並行處理,然後在其目的地重新組合,某些編解碼器設置用於可視數據,而其他編解碼器僅處理音頻數據。

為什麼數據壓縮很重要?

確定將用於大數據的數據壓縮類型是大數據操作的重要組成部分,僅在資源端,IT人員就無法承受處理失控和迅速發展的存儲的成本,即使必須完整存儲數據,也應盡可能地對其進行壓縮,也就是說,您可以採取其他步驟來限制存儲和處理,以及針對大數據壓縮中採用的演算法和方法的最適合操作,掌握這些選項是IT部門的關鍵數據點。

以上就是小編今天給大家整理分享關於「數據壓縮技術分為哪兩類?使用方法是什麼?」的相關內容希望對大家有所幫助。小編認為要想在大數據行業有所建樹,需要考取部分含金量高的數據分析師證書,這樣更有核心競爭力與競爭資本。

❷ SQL資料庫如何壓縮

具體方法有3種。
方法一:
第一步:
backup
log
database_name
with
no_log
或者
backup
log
database_name
with
truncate_only
--
no_log和truncate_only是在這里是同義的,隨便執行哪一句都可以。
第二步:
1.收縮特定資料庫的所有數據和日誌文件,執行:
dbcc
shrinkdatabase
(database_name,[,target_percent])
--
database_name是要收縮的資料庫名稱;target_percent是資料庫收縮後的資料庫文件中所要的剩餘可用空間百分比。
2.收縮一次一個特定資料庫中的數據或日誌文件,執行
dbcc
shrinkfile(file_id,[,target_size])
--
file_id是要收縮的文件的標識
(id)
號,若要獲得文件
id,請使用
file_id
函數或在當前資料庫中搜索
sysfiles;target_size是用兆位元組表示的所要的文件大小(用整數表示)。如果沒有指定,dbcc
shrinkfile
將文件大小減少到默認文件大小。兩個dbcc都可以帶上參數notruncate或truncateonly,具體意思查看聯機幫助.
方法二:
第一步:
先備份整個資料庫以備不測

第二步:
備份結束後,在query
analyzer中執行如下的語句:
exec
sp_detach_db
yourdbname,true
--卸除這個db在mssql中的注冊信息
第三步:
到日誌的物理文件所在的目錄中去刪除該日誌文件或者將該日誌文件移出該目錄
第四步:
在query
analyzer中執行如下的語句:
exec
sp_attach_single_file_db
yourdbname,'
d:\mssql\data\yourdbname_data.mdf
'
--以單文件的方式注冊該db,如果成功則mssql將自動為這個db生成一個500k的日誌文件。
方法三:
1.
進入企業管理器,選中資料庫,比如demo
2.
所有任務->分離資料庫
3.
到資料庫文件的存放目錄,將muonline_log.ldf文件刪除,以防萬一,你可以拷出去
4.
企業管理器->附加資料庫,選muonline,這個時候你會看見日誌文件這項是一個叉,不要緊,繼續,此時資料庫就會提示你該資料庫無日誌是否創建一個新的,確定就是了。
5.
記得資料庫重新附加後用戶要重新設置一下。
如果以後,不想要它變大:
sql2000下使用:
在資料庫上點右鍵->屬性->選項->故障恢復-模型-選擇-簡單模型。
或用sql語句:
alter
database
資料庫名
set
recovery
simple

❸ MSSQL資料庫日誌的壓縮與清除技巧


一般情況下,SQL資料庫的收縮並不能很大程度上減小資料庫大小,其主要作用是收縮日誌大小,應當定期進行此操作以免資料庫日誌過大:
1、設置資料庫模式為簡單模式:打開SQL企業管理器,在控制台根目錄中依次點開Microsoft SQL Server--SQL Server組--雙擊打開你的伺服器--雙擊打開資料庫目錄--選擇你的資料庫名稱(如論壇資料庫Forum)--然後點擊右鍵選擇屬性--選擇選項--在故障橘罩答還原的模式中選擇"簡單",然後按確定保存。
2、在當前資料庫上點右鍵,看所有任務中的收縮資料庫,一般裡面的默認設置不用悶冊調整,直接點確定。
3、收縮資料庫圓慧完成後,建議將您的資料庫屬性重新設置為標准模式,操作方法同第一點,因為日誌在一些異常情況下往往是恢復資料庫的重要依據。
方法二
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE
tablename
-- 要操作的資料庫名
SELECT@LogicalFileName = 'tablename_log',-- 日誌文件名
@MaxMinutes = 10,
-- Limit on time allowed to wrap log.
@NewSize = 1
-- 你想設定的日誌文件的大小(M)
-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)
DECLARE @Counter
INT,
@StartTime DATETIME,
@TruncLogVARCHAR(255)
SELECT@StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE
@MaxMinutes
DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024)
@NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE((@Counter
@OriginalSize / 16) AND (@Counter
50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF

閱讀全文

與資料庫數據壓縮相關的資料

熱點內容
485和單片機 瀏覽:972
xp修復系統命令 瀏覽:516
微你app怎麼加好友 瀏覽:793
程序員轉正 瀏覽:208
應用隱私加密忘記密碼怎麼辦 瀏覽:683
2g視頻怎麼壓縮 瀏覽:609
康佳電視伺服器異常怎麼解決 瀏覽:840
怎麼用c語言編譯簡單的小游戲 瀏覽:814
伺服器如何以域用戶登錄 瀏覽:602
安卓os14怎麼默認桌面 瀏覽:549
應用市場下載在哪個文件夾 瀏覽:896
安卓上的谷歌地圖怎麼用 瀏覽:183
安卓命令行打包 瀏覽:517
編程文字與數字教學視頻 瀏覽:817
如何看手機號碼注冊哪些app 瀏覽:414
linux查看總內存 瀏覽:852
python進程間共享 瀏覽:439
js如何獲取本地伺服器地址 瀏覽:71
gfx什麼時候支持安卓十一系統 瀏覽:943
壓縮機90兆帕 瀏覽:932