91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PolarDB-MySQL引擎層的索引前綴壓縮能力的技術(shù)實(shí)現(xiàn)和效果

數(shù)據(jù)庫和存儲(chǔ) ? 來源:數(shù)據(jù)庫和存儲(chǔ) ? 2024-11-09 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在 PolarDB 中, 通過輕量級(jí)壓縮的實(shí)現(xiàn), 可以實(shí)現(xiàn)減少數(shù)據(jù)大小的同時(shí), 性能有一定程度的提升. 如何實(shí)現(xiàn)的呢?

背景

近幾年互聯(lián)網(wǎng)行業(yè)的降本增效浪潮愈演愈烈, 如數(shù)據(jù)壓縮、分級(jí)存儲(chǔ)等技術(shù)成為了數(shù)據(jù)庫產(chǎn)品(在技術(shù)層面上)實(shí)現(xiàn)降本的核心手段。作為一款云原生數(shù)據(jù)庫,PolarDB 會(huì)面向大量行業(yè)、場(chǎng)景、需求不同的云用戶,同樣有必要且已經(jīng)支持了這些能力。PolarDB 在全鏈路多個(gè)層級(jí)上實(shí)現(xiàn)了并正逐步商業(yè)化數(shù)據(jù)壓縮能力, 如整形、字符串、BLOB 等數(shù)據(jù)格式類型的壓縮,數(shù)據(jù)列字典壓縮、二級(jí)索引前綴壓縮,存儲(chǔ)層的數(shù)據(jù)塊軟/硬件壓縮等。

首先要提到的必然是 MySQL 官方原生的兩種壓縮能力:表壓縮和透明頁壓縮。這兩種壓縮能力由于或這或那的各種原因,在實(shí)際線上業(yè)務(wù)中并沒有被廣泛仍可和使用。例如前者在 Buffer pool 中存在兩個(gè)版本數(shù)據(jù)且有較為復(fù)雜的融合邏輯,后者需要文件系統(tǒng)支持 punch hole 只能對(duì)帶寬壓縮而沒有優(yōu)化 IOPS,兩者只采用限定的相對(duì)開銷較高的通用塊壓縮算法等。它們的實(shí)測(cè)表現(xiàn)也導(dǎo)致傳統(tǒng) MySQL 用戶在印象里常覺得壓縮會(huì)犧牲不少性能并帶來較多復(fù)雜度。

事實(shí)上,在通用塊壓縮的基礎(chǔ)上,如果可以引入更細(xì)致的輕量級(jí)壓縮, 甚至在壓縮后的數(shù)據(jù)上直接進(jìn)行計(jì)算, 那么可以在實(shí)現(xiàn)數(shù)據(jù)壓縮的同時(shí)又保證甚至提升性能。并且,在計(jì)存分離架構(gòu)下,遠(yuǎn)程 I/O 時(shí)延更長(zhǎng),如果可以通過壓縮減少數(shù)據(jù)大小, 從而減少 I/O, 壓縮帶來的收益相比于本地盤就更加明顯。

由 MySQL 向外擴(kuò)展來看,針對(duì):(1)動(dòng)態(tài)(update-in-place)或靜態(tài)(append-only)數(shù)據(jù);(2)行存或列存組織組織(數(shù)據(jù)同質(zhì)性不同);(3)有序鏈或無序堆組織的數(shù)據(jù)(數(shù)據(jù)局部性不同)等不同情況,能適用的壓縮方法也是不同的,并且壓縮能獲得的效果會(huì)有很大差異。因此,對(duì)于 PolarDB-MySQL 來說,除了官方的兩種原生壓縮能力,通過輕量級(jí)壓縮方法實(shí)現(xiàn)頁內(nèi)/行級(jí)壓縮(這也是 Oracle、SQL Server、DB2 等企業(yè)級(jí)數(shù)據(jù)庫的標(biāo)準(zhǔn)能力),也是重要發(fā)展路徑。

PolarDB 前綴壓縮

本文就主要介紹 PolarDB-MySQL 引擎層的索引前綴壓縮能力(Index Prefix Compression)的技術(shù)實(shí)現(xiàn)和效果。

通過建立索引結(jié)構(gòu)可以提升數(shù)據(jù)檢索的性能,代價(jià)是額外的寫放大和維護(hù)索引結(jié)構(gòu)的存儲(chǔ)空間。OLTP 中為了支持多種訪問路徑,比較常見的情況是在一個(gè)表上建立非常多的索引,這就導(dǎo)致索引在數(shù)據(jù)庫整體存儲(chǔ)空間中占了很大比例。索引存儲(chǔ)占到 50% 以上的實(shí)例并不少見,這些實(shí)例通常在單表會(huì)有幾十個(gè)二級(jí)索引。

由于索引的 key 部分?jǐn)?shù)據(jù)存在有序性,因此對(duì)索引 key 部分進(jìn)行前綴壓縮往往可以取得不錯(cuò)的壓縮效果。如果用戶的數(shù)據(jù)表中存在較多的索引(如一些做sass的用戶),索引數(shù)據(jù)量相對(duì)整體數(shù)據(jù)量的占比不低,此時(shí)前綴壓縮的收益其實(shí)十分可觀。

我們先簡(jiǎn)單了解一下 InnoDB 的索引結(jié)構(gòu),對(duì)于主鍵 record,首先是所有主鍵 key 的字段列、再是非 key 數(shù)據(jù)的字段列;而二級(jí)索引 record,則先是對(duì)應(yīng)二級(jí)索引 key 的字段列、再是主鍵 key 的字段列。

值得一提的是,部分商業(yè)數(shù)據(jù)庫在實(shí)現(xiàn) non-unique index 時(shí),一般會(huì)將相同的二級(jí)索引對(duì)應(yīng)的主鍵索引聚集存放, 這樣二級(jí)索引 key 部分的數(shù)據(jù)只需要存一份(Duplicate Key Removal)。而在 InnoDB 中的實(shí)現(xiàn)較為簡(jiǎn)單, 每個(gè)二級(jí)索引 record 為重復(fù)的二級(jí)索引 key 字段加不同主鍵 key,這加劇了 InnoDB 索引數(shù)據(jù)膨脹的問題。

b12382f6-903f-11ef-a511-92fbcf53809c.png

前綴壓縮設(shè)計(jì)原理

前綴壓縮其實(shí)有多種具體實(shí)現(xiàn),比如同個(gè) Page 的 record 前綴重復(fù)出現(xiàn)部分的直接壓縮,如前綴為 "aaaaa" 直接壓縮為 "a5";或相對(duì)前一記錄重復(fù)部分的壓縮,又或相對(duì)具體元素的前綴重復(fù)部分,提取 "aaaaa" 到公共區(qū)域作為前綴。

我們采用的方法是將 record 分為兩個(gè)部分:前綴部分在多個(gè) record 之間共享,因此可以只存儲(chǔ)一份,從而實(shí)現(xiàn)數(shù)據(jù)壓縮;后綴部分由每個(gè) record 單獨(dú)存儲(chǔ)。因此壓縮后的 record 中只存儲(chǔ)了前綴部分的指針 + 后綴部分的數(shù)據(jù)。

對(duì)數(shù)據(jù)頁內(nèi)的 record 進(jìn)行前綴壓縮效果:

b16584e4-903f-11ef-a511-92fbcf53809c.png

采用前綴壓縮,可以有效減少 btree 索引的節(jié)點(diǎn)數(shù)量:

b1a6e0d8-903f-11ef-a511-92fbcf53809c.png

壓縮元數(shù)據(jù)的設(shè)計(jì)

對(duì)于InnoDB索引這樣有序的數(shù)據(jù)鏈,可以依賴前面的記錄作為前綴壓縮的 prefix base,也可以將 prefix base 額外存儲(chǔ)下來。但由于 InnoDB index 的 update-in-place 導(dǎo)致 record 是動(dòng)態(tài)的,所以前者為動(dòng)態(tài) prefix base,而后者一般設(shè)計(jì)為(半)靜態(tài) prefix base。對(duì)于前者,在 base record 變遷情況下,由于依賴的壓縮 record 可能膨脹,可能會(huì)進(jìn)一步導(dǎo)致原來 optimistic 操作變成 pessimistic 的,引起明顯性能下降,并加劇代碼復(fù)雜性導(dǎo)致風(fēng)險(xiǎn)。因此,PolarDB 這里采用的是半靜態(tài) prefix base 設(shè)計(jì)。

PolarDB 在 page 內(nèi)部新建 symbol table 存放壓縮所需要的元信息,根據(jù)壓縮算法的不同,元信息可以是字典信息、前綴信息等等。

symbol table 放在 page 中,可以實(shí)現(xiàn) page 自解析,避免讀取時(shí)額外的 IO,并且解壓 record 是開銷非常小的純內(nèi)存操作。

symbol table 的物理位置在 system record 之后 user record 之前,也就是 page heap 的起始位置。一旦某個(gè)版本的 symbol table 確定之后,除非發(fā)生完整的 symbol table 更新,其內(nèi)容是不會(huì)進(jìn)行修改的,因此我們稱之為半靜態(tài)的。symbol table 內(nèi)部有版本信息、元數(shù)據(jù)信息和元數(shù)據(jù)索引信息等等內(nèi)容,用來實(shí)現(xiàn) record 的快速壓縮和解壓。

數(shù)據(jù)的壓縮

以 insert 為例,當(dāng)經(jīng)過事務(wù)處理、記錄構(gòu)建、索引定位等等操作后,最終會(huì)走到 btree 操作的底層函數(shù)中。這里會(huì)將獲取的 dtuple_t 轉(zhuǎn)換成 rec_t 選定(樂觀/悲觀)模式后插入數(shù)據(jù),這時(shí)候應(yīng)該要考慮壓縮邏輯了。我們此時(shí)已經(jīng)拿了所需的 page 鎖,因此可以保證 page 內(nèi)相關(guān)信息的獨(dú)占性,所有需要 page 中壓縮輔助信息內(nèi)容的行壓縮可以在這一步實(shí)現(xiàn)。在這一過程中進(jìn)行壓縮使得 rec_t 中的數(shù)據(jù)為壓縮數(shù)據(jù),同時(shí)需要在 rec_t 保留相關(guān)的元信息。

對(duì)于前綴壓縮,我們采取壓縮的時(shí)機(jī)是 lazy 的,即新插入的 record 在 page 上保持非壓縮狀態(tài),等到 page 容量觸發(fā)閾值時(shí),再對(duì) page 整體進(jìn)行壓縮,這樣保證壓縮開銷被均攤到多次 DML 操作上,而不會(huì)每次操作都有壓縮開銷。

而觸發(fā) encode 閾值是在 optimistic 路徑的 page 滿且判斷 reorganize 也無法騰出空間時(shí)觸發(fā)。原本會(huì)放鎖進(jìn)入 SMO 流程,我們這里先嘗試 page 級(jí)別整體的encode。

不在 SMO 時(shí)做壓縮是因?yàn)槠涑钟?index latch 和多個(gè) page latch,對(duì)并發(fā)操作的影響范圍太大,其次 page 內(nèi)部的壓縮不需要依賴其他信息。page 級(jí)別的壓縮會(huì)嘗試對(duì)所有記錄進(jìn)行最優(yōu)化選取前綴壓縮元信息,并判斷對(duì)應(yīng)生成的新 symbol table 是否會(huì)有足夠收益,有則壓縮數(shù)據(jù)并更新。

我們?cè)?record 的 Info bits 上拓展了一個(gè) bit 來表征此記錄是否是壓縮格式,老版本記錄對(duì)應(yīng)標(biāo)志不會(huì)被設(shè)置從而完全兼容原有操作路徑。在一個(gè) page 頁內(nèi)可以同時(shí)存在壓縮和非壓縮兩種類型的記錄,根據(jù)對(duì)應(yīng)標(biāo)志位判斷處理模式。

數(shù)據(jù)的解壓

首先需要保證在所有 record 使用路徑上,解壓邏輯能夠全面覆蓋,讓用戶拿到原始記錄。其次,InnoDB 內(nèi)部也存在 dtuple_t(內(nèi)存記錄格式)和 rec_t(頁上物理記錄格式)兩種 record 格式類型的轉(zhuǎn)換與比較。當(dāng)數(shù)據(jù)前綴壓縮后可能失去列屬性,因此 rec_get_offsets 等函數(shù)無法對(duì)壓縮后的 rec_t 直接解析,需要對(duì)應(yīng)的改造相應(yīng)函數(shù)獲取 rec_t 中的物理數(shù)據(jù)偏移。另外,InnoDB 記錄的比較是基于列的,offsets 本質(zhì)是輔助解析 rec_t 至各列的結(jié)構(gòu),只要保證相應(yīng)信息能將壓縮部分?jǐn)?shù)據(jù)也能解析出來,就可以用壓縮 rec_t、壓縮元信息以及對(duì)應(yīng)的 offsets,去和 dtuple_t 轉(zhuǎn)換或比較。總的來說,對(duì)于壓縮的 record,要么先完全解壓構(gòu)建原來的 rec_t 數(shù)據(jù)走原來比較邏輯,要么用改造過的 offsets 或 dtuple_t 以及對(duì)應(yīng)的列比較執(zhí)行函數(shù)來做比較(可解釋壓縮計(jì)算)。PolarDB 目前在不同路徑上會(huì)根據(jù)環(huán)境條件從兩種方式中選擇之一。

前綴壓縮的典型應(yīng)用

對(duì)于如 SaaS/電商場(chǎng)景等一些用戶,其數(shù)據(jù)表中存在較多的索引可以通過前綴壓縮的降低存儲(chǔ)成本。并且我們和客戶了解到很多情況下, 表數(shù)據(jù)中有大量的冗余重復(fù)數(shù)據(jù), 雖然單表中總共有 1 億行, 但是某一行, 比如是品類只有 200 種左右, 這種是最常見的場(chǎng)景.

這種場(chǎng)景在 sysbench-toolkit 里面是 saas_multi_index 場(chǎng)景: https://github.com/baotiao/sysbench-toolkit

從下面的測(cè)試數(shù)據(jù)可以看到, 在 Saas/電商等典型場(chǎng)景里面, 前綴壓縮可以在獲得比較高的壓縮率同時(shí)提升整體讀寫性能。

IO Bound 場(chǎng)景

表結(jié)構(gòu)如下

CREATE TABLE `prefix_off_saas_log_10w%d` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `saas_type` varchar(64) DEFAULT NULL,
  `saas_currency_code` varchar(3) DEFAULT NULL,
  `saas_amount` bigint(20) DEFAULT '0',
  `saas_direction` varchar(2) DEFAULT 'NA',
  `saas_status` varchar(64) DEFAULT NULL,
  `ewallet_ref` varchar(64) DEFAULT NULL,
  `merchant_ref` varchar(64) DEFAULT NULL,
  `third_party_ref` varchar(64) DEFAULT NULL,
  `created_date_time` datetime DEFAULT NULL,
  `updated_date_time` datetime DEFAULT NULL,
  `version` int(11) DEFAULT NULL,
  `saas_date_time` datetime DEFAULT NULL,
  `original_saas_ref` varchar(64) DEFAULT NULL,
  `source_of_fund` varchar(64) DEFAULT NULL,
  `external_saas_type` varchar(64) DEFAULT NULL,
  `user_id` varchar(64) DEFAULT NULL,
  `merchant_id` varchar(64) DEFAULT NULL,
  `merchant_id_ext` varchar(64) DEFAULT NULL,
  `mfg_no` varchar(64) DEFAULT NULL,
  `rfid_tag_no` varchar(64) DEFAULT NULL,
  `admin_fee` bigint(20) DEFAULT NULL,
  `ppu_type` varchar(64) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `saas_log_idx01` (`user_id`) USING BTREE,
  KEY `saas_log_idx02` (`saas_type`) USING BTREE,
  KEY `saas_log_idx03` (`saas_status`) USING BTREE,
  KEY `saas_log_idx04` (`merchant_ref`) USING BTREE,
  KEY `saas_log_idx05` (`third_party_ref`) USING BTREE,
  KEY `saas_log_idx08` (`mfg_no`) USING BTREE,
  KEY `saas_log_idx09` (`rfid_tag_no`) USING BTREE,
  KEY `saas_log_idx10` (`merchant_id`)
  ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

IO Bound 場(chǎng)景隨機(jī)讀,采用隨機(jī) point read,128線程,4G Buffer Pool,二級(jí)索引大小 20G,壓縮后 3.5G。測(cè)得壓縮后 QPS 是 49w,非壓縮是 26w,壓縮是非壓縮的 1.88 倍。

可以看到再開啟了壓縮之后, 性能并沒有下降, 而是有一定程度的提升, 原因如下:

壓縮可以減少btree葉子節(jié)點(diǎn)的數(shù)量,在 IO bound 場(chǎng)景增加了 buffer pool 對(duì)葉子節(jié)點(diǎn)的覆蓋率,覆蓋更多的 page 意味著隨機(jī)讀場(chǎng)景更少的 page 換入換出,對(duì) bp 的 hash table 和 lru list 訪問頻率更小,hash 鎖和 lru list 鎖競(jìng)爭(zhēng)更少,此外,對(duì)文件系統(tǒng)的 IO 次數(shù)更少,用戶線程直接命中 BP 即可返回。

CPU Bound 場(chǎng)景

CPU Bound 場(chǎng)景隨機(jī)寫(index鎖沖突),256 線程,100G Buffer Pool 足夠大,單表,一個(gè)二級(jí)索引,為了效果更加明顯,將二級(jí)索引的行長(zhǎng)設(shè)置為 500,insert 場(chǎng)景,測(cè)得壓縮 10w QPS,非壓縮 8w QPS,壓縮是非壓縮的 1.25 倍。

page 中 record 密度更大,減少了 page 分裂頻率,緩解了分裂對(duì) index SX 鎖的爭(zhēng)搶,而且減少了正在分裂節(jié)點(diǎn)的父節(jié)點(diǎn)拿的 X 鎖數(shù)量,緩解了對(duì)其葉子節(jié)點(diǎn)的插入。此外,為了減少開啟壓縮后 SMO 時(shí)拿 index 鎖時(shí)間,壓縮路徑不覆蓋 SMO 過程。

CPU Bound場(chǎng)景隨機(jī)讀,壓縮和非壓縮性能差不多。

在 bp 足夠大時(shí)進(jìn)行隨機(jī)讀取,那么壓縮并不會(huì)帶來性能提升,但訪問壓縮 record 會(huì)帶來一定解壓開銷,但解壓開銷很?。▋?nèi)存的隨機(jī)訪問),因此讀取性能差不多。

壓縮率

還有一個(gè)比較關(guān)心的問題就是壓縮效率,目前每個(gè) page 有 symbol table,記錄了公共前綴,且一個(gè) record 壓縮到最后是有一部分元數(shù)據(jù)的。所以并不是 record 越大,壓縮率就一定會(huì)更好的。假設(shè)公共前綴部分基本占據(jù)了整個(gè) record,那么經(jīng)過演算得到壓縮率隨 record size 的變化曲線是拋物線,由于默認(rèn) row 格式時(shí) dynamic,其index key長(zhǎng)度限制是 3072Bytes,相當(dāng)于 1024 個(gè) utf8 字符,這個(gè)值小于壓縮率取到極值的點(diǎn)。

測(cè)試結(jié)果:

測(cè)試二級(jí)索引大小對(duì)壓縮率的影響,探討壓縮的極限壓縮率。單線程順序insert 400w~800w條數(shù)據(jù),datasize不超過128的插入800w行,datasize大于128的插入400w行。采用最大的重復(fù)率,即每個(gè)page里面只有幾種rec。data size是二級(jí)索引字段的大小,單位是utf8字符,data size為32相當(dāng)于96Bytes,其未壓縮的索引大小是壓縮的2.92倍。注意,不同灌數(shù)據(jù)方式會(huì)導(dǎo)致不同的壓縮率,這里測(cè)的是單線程隨機(jī)插入,壓縮效率優(yōu)于多線程并發(fā)插入,因?yàn)椴l(fā)插入可能導(dǎo)致不必要的page分裂。

data size 32 64 128 256 512
壓縮率 2.92 5.04 8.28 15.11 27.36

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 壓縮
    +關(guān)注

    關(guān)注

    2

    文章

    103

    瀏覽量

    20132
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    905

    瀏覽量

    29518

原文標(biāo)題:PolarDB 索引前綴壓縮

文章出處:【微信號(hào):inf_storage,微信公眾號(hào):數(shù)據(jù)庫和存儲(chǔ)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    借助CXL和壓縮技術(shù)實(shí)現(xiàn)高效數(shù)據(jù)傳輸

    AI、科學(xué)計(jì)算、海量?jī)?nèi)存處理……這些硬核工作負(fù)載正在不斷挑戰(zhàn)系統(tǒng)極限。而 FPGA 異軍突起,成為了實(shí)現(xiàn)高效數(shù)據(jù)傳輸?shù)摹瓣P(guān)鍵推手”。想知道怎么在不改變整體架構(gòu)的前提下,讓帶寬和能效實(shí)現(xiàn)“雙飛躍”?答案就藏在壓縮 IP 與基于 C
    的頭像 發(fā)表于 12-19 09:43 ?352次閱讀
    借助CXL和<b class='flag-5'>壓縮</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>實(shí)現(xiàn)</b>高效數(shù)據(jù)傳輸

    工業(yè)數(shù)據(jù)中臺(tái)支持接入MySQL數(shù)據(jù)庫嗎

    工業(yè)數(shù)據(jù)中臺(tái)完全支持接入MySQL數(shù)據(jù)庫 ,且通過數(shù)據(jù)同步、集成與治理等技術(shù)手段,能夠充分發(fā)揮MySQL在數(shù)據(jù)存儲(chǔ)與事務(wù)處理方面的優(yōu)勢(shì),同時(shí)彌補(bǔ)其在數(shù)據(jù)分析與共享能力上的不足,具體分析
    的頭像 發(fā)表于 12-04 11:23 ?375次閱讀
    工業(yè)數(shù)據(jù)中臺(tái)支持接入<b class='flag-5'>MySQL</b>數(shù)據(jù)庫嗎

    硬件加密引擎在保障數(shù)據(jù)安全方面有哪些優(yōu)勢(shì)呢?

    )至關(guān)重要,可延長(zhǎng)設(shè)備續(xù)航時(shí)間。 2. 抗攻擊能力更強(qiáng),安全性根基更穩(wěn)固 防側(cè)信道攻擊(SCA)設(shè)計(jì):硬件加密引擎通過物理優(yōu)化(如隨機(jī)時(shí)鐘抖動(dòng)、電流屏蔽、電磁干擾防護(hù)),可抵御基于功耗、電磁輻射
    發(fā)表于 11-17 06:47

    如何利用NPU與模型壓縮技術(shù)優(yōu)化邊緣AI

    ,AI 模型體積龐大,部署在 NPU上常常面臨困難,這凸顯了模型壓縮技術(shù)的重要性。要實(shí)現(xiàn)高效的實(shí)時(shí)邊緣 AI,需要深入探討NPU 與模型壓縮技術(shù)
    的頭像 發(fā)表于 11-07 15:26 ?1257次閱讀
    如何利用NPU與模型<b class='flag-5'>壓縮</b><b class='flag-5'>技術(shù)</b>優(yōu)化邊緣AI

    根據(jù)標(biāo)題獲取商品鏈接評(píng)論接口的技術(shù)實(shí)現(xiàn)

    [調(diào)用評(píng)論API] F --?> G[數(shù)據(jù)清洗存儲(chǔ)] ? 關(guān)鍵組件說明: 搜索引擎接口 :通過電商平臺(tái)開放API實(shí)現(xiàn)標(biāo)題搜索 $$ text{API}_{search} = text{https://api.ecommerce.com/search?q=}
    的頭像 發(fā)表于 10-20 16:03 ?659次閱讀
    根據(jù)標(biāo)題獲取商品鏈接評(píng)論接口的<b class='flag-5'>技術(shù)</b><b class='flag-5'>實(shí)現(xiàn)</b>

    MySQL慢查詢終極優(yōu)化指南

    作為一名在生產(chǎn)環(huán)境摸爬滾打多年的運(yùn)維工程師,我見過太多因?yàn)槁樵儗?dǎo)致的線上故障。今天分享一套經(jīng)過實(shí)戰(zhàn)檢驗(yàn)的MySQL慢查詢分析與索引優(yōu)化方法論,幫你徹底解決數(shù)據(jù)庫性能瓶頸。
    的頭像 發(fā)表于 08-13 15:55 ?847次閱讀

    CentOS 7下MySQL 8雙主熱備高可用架構(gòu)全解

    MySQL主節(jié)點(diǎn)2 核心邏輯: 通過Keepalived實(shí)現(xiàn)VIP漂移 雙向GTID同步保證數(shù)據(jù)一致性 雙寫模式需配合應(yīng)用沖突解決機(jī)制 MySQL 8部署流程 ? 步驟1:官方源配
    的頭像 發(fā)表于 08-12 17:08 ?830次閱讀

    基于 HT 引擎鋁型材擠壓車間數(shù)字孿生技術(shù)實(shí)現(xiàn)

    。該系統(tǒng)無需依賴任何第三方插件,通過輕量化架構(gòu)、高逼真渲染及多維度數(shù)據(jù)融合能力,實(shí)現(xiàn)了鋁型材擠壓產(chǎn)線的全流程可視化管理,為智慧工業(yè)產(chǎn)線建設(shè)提供了技術(shù)范本。
    的頭像 發(fā)表于 08-06 16:41 ?759次閱讀
    基于 HT <b class='flag-5'>引擎</b>鋁型材擠壓車間數(shù)字孿生<b class='flag-5'>技術(shù)</b><b class='flag-5'>實(shí)現(xiàn)</b>

    信而泰×DeepSeek:AI推理引擎驅(qū)動(dòng)網(wǎng)絡(luò)智能診斷邁向 “自愈”時(shí)代

    DeepSeek-R1:強(qiáng)大的AI推理引擎底座DeepSeek是由杭州深度求索人工智能基礎(chǔ)技術(shù)研究有限公司開發(fā)的新一代AI大模型。其核心優(yōu)勢(shì)在于強(qiáng)大的推理引擎能力,融合了自然語言處理(
    發(fā)表于 07-16 15:29

    壓縮機(jī)式冷水機(jī):技術(shù)原理、應(yīng)用場(chǎng)景與行業(yè)創(chuàng)新

    價(jià)值與發(fā)展方向。一、技術(shù)原理:蒸氣壓縮式制冷循環(huán)的核心邏輯壓縮機(jī)式冷水機(jī)基于蒸氣壓縮式制冷循環(huán),通過制冷劑在壓縮機(jī)、冷凝器、膨脹閥與蒸發(fā)器間
    的頭像 發(fā)表于 07-11 15:52 ?1005次閱讀
    <b class='flag-5'>壓縮</b>機(jī)式冷水機(jī):<b class='flag-5'>技術(shù)</b>原理、應(yīng)用場(chǎng)景與行業(yè)創(chuàng)新

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    本設(shè)計(jì)中,計(jì)劃實(shí)現(xiàn)對(duì)文件的壓縮及解壓,同時(shí)優(yōu)化壓縮中所涉及的信號(hào)處理和計(jì)算密集型功能,實(shí)現(xiàn)對(duì)其的加速處理。本設(shè)計(jì)的最終目標(biāo)是證明在充分并行化的硬件體系結(jié)構(gòu) FPGA 上
    的頭像 發(fā)表于 07-10 11:09 ?2389次閱讀
    基于FPGA的<b class='flag-5'>壓縮</b>算法加速<b class='flag-5'>實(shí)現(xiàn)</b>

    鴻蒙NEXT-鴻蒙三架構(gòu)搭建,嵌入HMRouter,實(shí)現(xiàn)便捷跳轉(zhuǎn),新手攻略。(1/3)

    commons公共能力、features基礎(chǔ)特性和products產(chǎn)品定制,最后將entry模塊重構(gòu)至產(chǎn)品并重命名。通過該架構(gòu)可
    的頭像 發(fā)表于 06-30 22:17 ?906次閱讀
    鴻蒙NEXT-鴻蒙三<b class='flag-5'>層</b>架構(gòu)搭建,嵌入HMRouter,<b class='flag-5'>實(shí)現(xiàn)</b>便捷跳轉(zhuǎn),新手攻略。(1/3)

    MYSQL集群高可用和數(shù)據(jù)監(jiān)控平臺(tái)實(shí)現(xiàn)方案

    該項(xiàng)目共分為2個(gè)子項(xiàng)目,由MYSQL集群高可用和數(shù)據(jù)監(jiān)控平臺(tái)兩部分組成。
    的頭像 發(fā)表于 05-28 10:10 ?1308次閱讀
    <b class='flag-5'>MYSQL</b>集群高可用和數(shù)據(jù)監(jiān)控平臺(tái)<b class='flag-5'>實(shí)現(xiàn)</b>方案

    PolarDB×ADB雙擎驅(qū)動(dòng) 華鼎冷鏈打造冷鏈數(shù)據(jù)智能反應(yīng)堆

    完成從自建分布式數(shù)據(jù)庫到云原生數(shù)據(jù)庫PolarDB MySQL,再到云原生數(shù)據(jù)倉庫AnalyticDB MySQL(ADB MySQL)的全鏈路升級(jí),
    的頭像 發(fā)表于 04-15 15:13 ?548次閱讀
    <b class='flag-5'>PolarDB</b>×ADB雙擎驅(qū)動(dòng) 華鼎冷鏈打造冷鏈數(shù)據(jù)智能反應(yīng)堆

    ?Diffusion生成式動(dòng)作引擎技術(shù)解析

    Diffusion生成式動(dòng)作引擎 Diffusion生成式動(dòng)作引擎是一種基于擴(kuò)散模型(Diffusion Models)的生成式人工智能技術(shù),專注于生成連續(xù)、逼真的人類動(dòng)作或動(dòng)畫序列。這類引擎
    的頭像 發(fā)表于 03-17 15:14 ?3045次閱讀