国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)倉庫系列:StarRocks 下一代高性能分析數(shù)據(jù)倉庫的架構、數(shù)據(jù)存儲及表設計

這篇具有很好參考價值的文章主要介紹了數(shù)據(jù)倉庫系列:StarRocks 下一代高性能分析數(shù)據(jù)倉庫的架構、數(shù)據(jù)存儲及表設計。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文是學習StarRocks的讀書筆記,讓你快速理解下一代高性能分析數(shù)據(jù)倉庫的架構、數(shù)據(jù)存儲及表設計。

1. 架構

1.1. 整體架構

StarRocks的架構相對簡單。

  • 整個系統(tǒng)只包含兩種類型的組件,前端(FE)和后端(BE),StarRocks不依賴任何外部組件,簡化了部署和維護。
  • FE和BE可以在不停機的情況下橫向擴展。
  • StarRocks具有元數(shù)據(jù)和服務數(shù)據(jù)的復制機制,這增加了數(shù)據(jù)的可靠性,并有效地防止單點故障(SPOFs)。
  • 與MySQL協(xié)議兼容,并支持標準SQL。用戶可以輕松地從MySQL客戶端連接到StarRocks
    數(shù)據(jù)倉庫系列:StarRocks 下一代高性能分析數(shù)據(jù)倉庫的架構、數(shù)據(jù)存儲及表設計,MPPDB,數(shù)倉,數(shù)據(jù)倉庫,StarRocks,MPPDB,數(shù)據(jù)庫

1.2. 數(shù)據(jù)管理

數(shù)據(jù)倉庫系列:StarRocks 下一代高性能分析數(shù)據(jù)倉庫的架構、數(shù)據(jù)存儲及表設計,MPPDB,數(shù)倉,數(shù)據(jù)倉庫,StarRocks,MPPDB,數(shù)據(jù)庫

2. 表設計

2.1. 列存儲

數(shù)據(jù)倉庫系列:StarRocks 下一代高性能分析數(shù)據(jù)倉庫的架構、數(shù)據(jù)存儲及表設計,MPPDB,數(shù)倉,數(shù)據(jù)倉庫,StarRocks,MPPDB,數(shù)據(jù)庫

2.2.索引

數(shù)據(jù)倉庫系列:StarRocks 下一代高性能分析數(shù)據(jù)倉庫的架構、數(shù)據(jù)存儲及表設計,MPPDB,數(shù)倉,數(shù)據(jù)倉庫,StarRocks,MPPDB,數(shù)據(jù)庫

2.3. 加速策略

  • Pre-aggregation
  • Partitioning and bucketing
  • Materialized view: 物化視圖的數(shù)據(jù)以與表數(shù)據(jù)相同的方式組織和存儲。但是物化視圖可以有自己的前綴索引。在為物化視圖創(chuàng)建前綴索引時,可以指定適當?shù)木酆狭6?、列計?shù)和維列順序,以確保經(jīng)常使用的查詢條件能夠命中物化視圖前綴索引表中的預期條目。
  • Per-column index
    • A Bloom filter : Bloom過濾器用于確定數(shù)據(jù)塊是否包含要查詢的值。
    • A zone map: 區(qū)域映射用于定位指定范圍內(nèi)的值。
    • A bitmap index: 位圖索引用于查找ENUM數(shù)據(jù)類型列中滿足指定查詢條件的行。

3. Data models

StarRocks提供四種數(shù)據(jù)模型: Duplicate Key, Aggregate Key, Unique Key, and Primary Key

3.1. Duplicate Key model

適用場景

  • 分析原始數(shù)據(jù),如原始日志和原始操作記錄。
  • 可以使用多種方法查詢數(shù)據(jù),不受預聚合方法的限制。
  • 加載日志數(shù)據(jù)或時序數(shù)據(jù)。新數(shù)據(jù)以追加模式寫入,現(xiàn)有數(shù)據(jù)不更新。

注意

  • 默認情況下,如果沒有指定排序鍵列,StarRocks將使用前三列作為排序鍵【sort key】列
  • 可以在表創(chuàng)建時創(chuàng)建索引,如BITMAP索引和Bloomfilter索引。
  • 如果加載了兩條相同的記錄,將它們保留為兩條記錄,而不是一條
  • 只能向表中追加數(shù)據(jù)。不能修改表中的現(xiàn)有數(shù)據(jù)。
CREATE TABLE IF NOT EXISTS detail (
    event_time DATETIME NOT NULL COMMENT "datetime of event",
    event_type INT NOT NULL COMMENT "type of event",
    user_id INT COMMENT "id of user",
    device_code INT COMMENT "device code",
    channel INT COMMENT ""
)
DUPLICATE KEY(event_time, event_type)
DISTRIBUTED BY HASH(user_id) BUCKETS 8;

3.2. Aggregate Key model

此模型有助于減少查詢需要處理的數(shù)據(jù)量,從而加快查詢速度。

適用場景:數(shù)據(jù)統(tǒng)計和分析場景

使用時有如下特點:

  • 大多數(shù)查詢是聚合查詢,例如SUM、COUNT和MAX。
  • 不需要檢索原始的詳細數(shù)據(jù)。
  • 歷史數(shù)據(jù)不經(jīng)常更新。只追加新數(shù)據(jù)。

聚合時機

  • ingestion 階段: 當數(shù)據(jù)批量加載到表中時,每個批量包含一個數(shù)據(jù)版本。生成數(shù)據(jù)版本后,StarRocks將在數(shù)據(jù)版本中具有相同排序鍵的數(shù)據(jù)進行聚合。
  • compaction 階段:將數(shù)據(jù)攝取時生成的多個數(shù)據(jù)版本的文件定期壓縮成一個大文件時,StarRocks會在大文件中聚合具有相同排序鍵的數(shù)據(jù)。
  • query 階段:在返回查詢結果之前聚合所有數(shù)據(jù)版本中具有相同排序鍵的數(shù)據(jù)。

注意

  • 如果AGGREGATE KEY關鍵字不包括所有維度列,則無法創(chuàng)建表。
  • 如果沒有使用AGGREGATE key關鍵字顯式地定義排序鍵列,將選擇除度量列之外的所有列作為排序鍵列
  • 在運行查詢時,排序鍵列在多個數(shù)據(jù)版本聚合之前被過濾,而度量列在多個數(shù)據(jù)版本聚合之后被過濾。
  • 創(chuàng)建表時,不能在表的度量列上創(chuàng)建BITMAP索引或Bloom Filter索引
  • 將數(shù)據(jù)加載到使用聚合鍵模型的表中時,只能更新表的所有列
CREATE TABLE IF NOT EXISTS example_db.aggregate_tbl (
    site_id LARGEINT NOT NULL COMMENT "id of site",
    date DATE NOT NULL COMMENT "time of event",
    city_code VARCHAR(20) COMMENT "city_code of user",
    pv BIGINT SUM DEFAULT "0" COMMENT "total page views"
)
AGGREGATE KEY(site_id, date, city_code)
DISTRIBUTED BY HASH(site_id) BUCKETS 8
PROPERTIES ("replication_num" = "1");

3.3. Unique Key

適用場景:

  • 需要頻繁實時更新數(shù)據(jù)的業(yè)務場景,如在電子商務場景中,每天可以下數(shù)億個訂單,訂單狀態(tài)經(jīng)常變化

注意:

  • 主鍵必須創(chuàng)建在執(zhí)行唯一約束且不能更改名稱的列上
    • 在運行查詢時,主鍵列在多個數(shù)據(jù)版本聚合之前被過濾,而度量列在多個數(shù)據(jù)版本聚合之后被過濾
    • 在聚合過程中,StarRocks比較所有主鍵列。這很耗時,而且可能會降低查詢性能。因此,不要定義大量的主鍵列
  • 創(chuàng)建表時,不能在表的指標列上創(chuàng)建BITMAP索引或Bloom Filter索引。
  • 不支持實體化視圖。
  • 將數(shù)據(jù)加載到使用唯一鍵模型的表中時,只能更新表的所有列
CREATE TABLE IF NOT EXISTS orders (
    create_time DATE NOT NULL COMMENT "create time of an order",
    order_id BIGINT NOT NULL COMMENT "id of an order",
    order_state INT COMMENT "state of an order",
    total_price BIGINT COMMENT "price of an order"
)
UNIQUE KEY(create_time, order_id)
DISTRIBUTED BY HASH(order_id) BUCKETS 8;

3.4. Primary Key

基于StarRocks提供的一個新的存儲引擎設計的
與Unique Key模型不同,Primary Key模型在查詢期間不需要聚合操作,并支持謂詞和索引的下推。因此,Primary Key模型可以提供較高的查詢性能,盡管實時和頻繁的數(shù)據(jù)更新。

Duplicate Key模型采用MoR策略。MoR簡化了數(shù)據(jù)寫入,但需要在線聚合多個數(shù)據(jù)版本。此外,Merge操作符不支持下推謂詞和索引。結果,查詢性能下降。
Primary Key模型采用刪除+插入策略,確保每條記錄都有唯一的主鍵。這樣,主鍵模型就不需要合并操作。詳情如下:

  • 對記錄進行更新操作時,它通過搜索主鍵索引來定位該記錄,將該記錄標記為已刪除,并插入一條新記錄。換句話說,StarRocks將更新操作轉換為刪除操作加上插入操作。
  • 對記錄進行刪除操作時,它通過搜索主鍵索引來定位記錄,并將記錄標記為已刪除

適用場景

  • 數(shù)據(jù)需要經(jīng)常實時更新
    • 實時流數(shù)據(jù)從交易處理系統(tǒng)到StarRocks,這簡化了數(shù)據(jù)同步,并提供比使用唯一鍵模型的MoR (Merge on Read)表高3到10倍的查詢性能
    • 通過對單個列執(zhí)行更新操作來連接多個流:這些場景中的上游數(shù)據(jù)可能來自各種應用程序,如購物app、物流app和銀行app,或者來自機器學習系統(tǒng)。主鍵模型非常適合這些場景,因為它支持對單個列的更新。每個應用程序或系統(tǒng)只能更新在自己的服務范圍內(nèi)保存數(shù)據(jù)的列
  • 主鍵占用的內(nèi)存【memory occupied by the primary key 】是可控的
    • 當將數(shù)據(jù)加載到表中時,StarRocks將主鍵索引加載到內(nèi)存中。因此Primary Key模型需要比其他三個數(shù)據(jù)模型更大的內(nèi)存容量。StarRocks將組成主鍵的字段的總長度限制為編碼后的127字節(jié)

    • 表包含快速變化的數(shù)據(jù)和緩慢變化的數(shù)據(jù)??焖僮兓臄?shù)據(jù)經(jīng)常在最近幾天更新,而緩慢變化的數(shù)據(jù)很少更新,如訂單表,按天分區(qū),在運行數(shù)據(jù)加載作業(yè)時,主鍵索引不會加載到內(nèi)存中,只有最近更新的訂單的索引項才會加載到內(nèi)存中。

    • 表是一個由數(shù)百或數(shù)千列組成的平面表。主鍵只包含表數(shù)據(jù)的一小部分,并且只消耗少量內(nèi)存。如user status or profile table,表的列太多,但只有幾千萬到幾億條

注意

  • 必須在強制執(zhí)行唯一約束的列上創(chuàng)建主鍵,并且不能更改主鍵列的名稱。
  • 主鍵列可以是以下任何數(shù)據(jù)類型:BOOLEAN、TINYINT、SMALLINT、INT、BIGINT、LARGEINT、STRING、VARCHAR、DATE和DATETIME。但是,主鍵列不能定義為NULL。
  • 分區(qū)列和桶列必須參與主鍵。
  • the memory occupied by the primary key index 的計算公式: (主鍵長度+9) x 記錄數(shù)量 x 副本數(shù) x 1.5 = 占用內(nèi)存大小
    • 9是每行不可變的開銷,1.5是每個哈希表的平均額外開銷
  • enable_persistent_index:主鍵索引可以持久化到磁盤并存儲在內(nèi)存中,以避免占用太多內(nèi)存。
  • 從2.3.0版本開始, indicator column現(xiàn)在支持BITMAP、HLL數(shù)據(jù)類型。
  • 創(chuàng)建表時,不能在表的 metric columns 上創(chuàng)建BITMAP索引或Bloom Filter索引。
  • 從2.4.0版本開始,可以基于主鍵表創(chuàng)建異步物化視圖
create table orders (
    dt date NOT NULL,
    order_id bigint NOT NULL,
    user_id int NOT NULL,
    merchant_id int NOT NULL,
    good_id int NOT NULL,
    good_name string NOT NULL,
    price int NOT NULL,
    cnt int NOT NULL,
    revenue int NOT NULL,
    state tinyint NOT NULL
) PRIMARY KEY (dt, order_id)
PARTITION BY RANGE(`dt`) (
    PARTITION p20210820 VALUES [('2021-08-20'), ('2021-08-21')),
    PARTITION p20210821 VALUES [('2021-08-21'), ('2021-08-22')),
    ...
    PARTITION p20210929 VALUES [('2021-09-29'), ('2021-09-30')),
    PARTITION p20210930 VALUES [('2021-09-30'), ('2021-10-01'))
) DISTRIBUTED BY HASH(order_id) BUCKETS 4
PROPERTIES("replication_num" = "3",
"enable_persistent_index" = "true");

create table users (
    user_id bigint NOT NULL,
    name string NOT NULL,
    email string NULL,
    address string NULL,
    age tinyint NULL,
    sex tinyint NULL,
    last_active datetime,
    property0 tinyint NOT NULL,
    property1 tinyint NOT NULL,
    property2 tinyint NOT NULL,
    property3 tinyint NOT NULL,
    ....
) PRIMARY KEY (user_id)
DISTRIBUTED BY HASH(user_id) BUCKETS 4
PROPERTIES("replication_num" = "3",
"enable_persistent_index" = "true");

4. 數(shù)據(jù)分布 Data distribution

4.1. 基本概念

  • 分區(qū)
    • 在分區(qū)時,可以設置分區(qū)的存儲策略,包括副本數(shù)量、熱數(shù)據(jù)或冷數(shù)據(jù)的存儲策略、存儲介質(zhì)等。
    • StarRocks允許在集群中使用多個存儲介質(zhì)。例如,將最新數(shù)據(jù)保存在SSD硬盤上,可以提高查詢性能;將歷史數(shù)據(jù)保存在SATA硬盤上,可以降低存儲成本。
  • 分桶
    • 分桶是將一個分區(qū)劃分為多個更易于管理的部分即tablet,tablet是使用和分配的最小存儲單元
    • bucket列中具有相同哈希值的數(shù)據(jù)被分布到同一tablet中
    • StarRocks為每個tablet創(chuàng)建多個副本(默認為三個),以防止數(shù)據(jù)丟失。這些副本由單獨的本地存儲引擎管理。創(chuàng)建表時必須指定bucket列。

4.2. 分區(qū)方法

  • Round-robin: distributes data across different nodes in a cyclic.
  • Range: distributes data across different nodes based on the value range of partitioning columns.
  • List: distributes data across different nodes based on the discrete values of partitioning columns, such as age.
  • Hash: distributes data across different nodes based on a hash algorithm.
    為了實現(xiàn)更靈活的數(shù)據(jù)分布,可以根據(jù)業(yè)務需求組合以上四種分區(qū)方法,例如hash-hash, range-hash, and hash-list。StarRocks提供了以下兩種分區(qū)方法:
# 整個表只有一個分區(qū),并按site_id分桶
CREATE TABLE site_access(
    site_id INT DEFAULT '10',
    city_code SMALLINT,
    user_name VARCHAR(32) DEFAULT '',
    pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(site_id, city_code, user_name)
DISTRIBUTED BY HASH(site_id) BUCKETS 10;

# 先按日期分區(qū),再按site_id分桶
CREATE TABLE site_access(
    event_day DATE,
    site_id INT DEFAULT '10',
    city_code VARCHAR(100),
    user_name VARCHAR(32) DEFAULT '',
    pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(event_day, site_id, city_code, user_name)
PARTITION BY RANGE(event_day)
(
    PARTITION p1 VALUES LESS THAN ("2020-01-31"),
    PARTITION p2 VALUES LESS THAN ("2020-02-29"),
    PARTITION p3 VALUES LESS THAN ("2020-03-31")
)
DISTRIBUTED BY HASH(site_id) BUCKETS 10;

4.3. 分區(qū)、分桶列的選擇

  • 分區(qū)列的選擇
    • 只有DATE、DATETIME或INT類型的列可以用作分區(qū)列,
    • 分區(qū)列要求:低基數(shù)、在查詢中經(jīng)常用作篩選器的列、每個分區(qū)的數(shù)據(jù)量必須小于100GB
  • 分桶列的選擇
    • 分桶列的要求:高基數(shù)列如ID、在查詢中經(jīng)常用作篩選器的列,列值不能更新
    • 分桶列最多為三個,不能太多
    • 分桶列在指定后不能被修改。
    • tablet反映了StarRocks中數(shù)據(jù)文件的組織方式。從StarRocks 2.5開始,創(chuàng)建表時不需要設置桶數(shù),StarRocks會自動設置桶數(shù)。
    • 建議每個tablet包含大約10GB的原始數(shù)據(jù)
    • 要在tablet上啟用并行掃描,請確保啟用了GLOBAL enable_tablet_internal_parallel
CREATE TABLE site_access(
    event_day DATE,
    site_id INT DEFAULT '10',
    city_code VARCHAR(100),
    user_name VARCHAR(32) DEFAULT '',
    pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(event_day, site_id, city_code, user_name)
PARTITION BY RANGE(event_day)
(
    PARTITION p1 VALUES LESS THAN ("2020-01-31"),
    PARTITION p2 VALUES LESS THAN ("2020-02-29"),
    PARTITION p3 VALUES LESS THAN ("2020-03-31")
)
DISTRIBUTED BY HASH(site_id) BUCKETS 10;

CREATE TABLE site_access(
    site_id INT DEFAULT '10',
    city_code SMALLINT,
    user_name VARCHAR(
32
) DEFAULT '',
    pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(site_id, city_code, user_name)
DISTRIBUTED BY HASH(site_id,city_code); --do not need to set the number of buckets

管理分區(qū)

  • 建表時指定分區(qū)
    CREATE TABLE site_access(
        datekey DATE,
        site_id INT,
        city_code SMALLINT,
        user_name VARCHAR(32),
        pv BIGINT DEFAULT '0'
    )
    ENGINE=olap
    DUPLICATE KEY(datekey, site_id, city_code, user_name)
    PARTITION BY RANGE (datekey) 
    (
        START ("2019-01-01") END ("2021-01-01") EVERY (INTERVAL 1 YEAR),
        START ("2021-01-01") END ("2021-05-01") EVERY (INTERVAL 1 MONTH),
        START ("2021-05-01") END ("2021-05-04") EVERY (INTERVAL 1 DAY)
    )
    DISTRIBUTED BY HASH(site_id) BUCKETS 10
    PROPERTIES(
        "replication_num" = "1"
    );
    
  • 修改、刪除、恢復、查看分區(qū)
    ALTER TABLE site_access
    ADD PARTITION p4 VALUES LESS THAN ("2020-04-30")
    DISTRIBUTED BY HASH(site_id) BUCKETS 20;
    
    ALTER TABLE site_access DROP PARTITION p1;
    
    RECOVER PARTITION p1 FROM site_access;
    
    SHOW PARTITIONS FROM site_access;
    

5. 數(shù)據(jù)壓縮

StarRocks支持四種數(shù)據(jù)壓縮算法:LZ4、Zstandard(或zstd)、zlib和Snappy。
這些數(shù)據(jù)壓縮算法在壓縮比和壓縮/解壓縮性能上存在差異。

壓縮比:zlib > Zstandard > LZ4 > Snappy.
特別是LZ4和Zstandard具有良好的壓縮比和解壓性能

如果對更小的存儲空間沒有特定的要求,建議使用LZ4或Zstandard。

只能在創(chuàng)建表時為表指定數(shù)據(jù)壓縮算法,不能在創(chuàng)建后更改。文章來源地址http://www.zghlxwxcb.cn/news/detail-604444.html

CREATE TABLE `data_compression` (
  `id`      INT(11)     NOT NULL     COMMENT "",
  `name`    CHAR(200)   NULL         COMMENT ""
)
ENGINE=OLAP 
UNIQUE KEY(`id`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`) BUCKETS 7
PROPERTIES (
"compression" = "ZSTD"
);

到了這里,關于數(shù)據(jù)倉庫系列:StarRocks 下一代高性能分析數(shù)據(jù)倉庫的架構、數(shù)據(jù)存儲及表設計的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • AI大模型時代網(wǎng)絡安全攻防對抗升級,瑞數(shù)信息變革“下一代應用與數(shù)據(jù)安全”

    AI大模型時代網(wǎng)絡安全攻防對抗升級,瑞數(shù)信息變革“下一代應用與數(shù)據(jù)安全”

    ? AI與大模型技術加速普及,安全領域也在以創(chuàng)新視角聚焦下一代應用安全WAAP變革,拓展新一代數(shù)據(jù)安全領域。近日瑞數(shù)信息重磅發(fā)布了瑞數(shù)全新API掃描器、API安全審計、數(shù)據(jù)安全檢測與應急響應系統(tǒng)及分布式數(shù)據(jù)庫備份系統(tǒng)四大新品。此次發(fā)布在延續(xù)瑞數(shù)信息Bot自動化攻擊

    2024年02月06日
    瀏覽(29)
  • 神經(jīng)數(shù)據(jù)庫:用于使用 ChatGPT 構建專用 AI 代理的下一代上下文檢索系統(tǒng) — (第 2/3 部分)

    神經(jīng)數(shù)據(jù)庫:用于使用 ChatGPT 構建專用 AI 代理的下一代上下文檢索系統(tǒng) — (第 2/3 部分)

    書接上回理解構建LLM驅動的聊天機器人時的向量數(shù)據(jù)庫檢索的局限性 - (第1/3部分)_阿爾法旺旺的博客-CSDN博客 其中我們強調(diào)了( 1 )嵌入生成,然后( 2 )使用近似近鄰( ANN )搜索進行矢量搜索的解耦架構的缺點。我們討論了生成式 AI 模型生成的向量嵌入之間的余弦相似

    2024年02月15日
    瀏覽(15)
  • 下一代邊緣計算技術在哪里?

    下一代邊緣計算技術在哪里?

    掃描文末二維碼,立刻 免費 報名 云網(wǎng)一體, 超大規(guī)模流量下 邊緣云 的架構與技術揭秘 伴隨超高清視頻時代的開啟,熱點賽事、晚會直播等特殊場景的巨大流量對業(yè)務的帶寬儲備、節(jié)點資源、流量調(diào)度和安全保障能力提出了新的挑戰(zhàn)。 火山引擎邊緣云基于抖音世界杯、央

    2024年02月15日
    瀏覽(102)
  • 下一代智能合約開發(fā)語言(一)

    背景 過去的三個月可能是我過去幾年離一百萬最近的一次,錯過了aptos的空投,幾分鐘就可以做一個任務,最后空投了150APT代幣,最高時價值4W。。。真的是真金白銀的教訓。不過作為一個開發(fā)者,看到的更多是區(qū)塊鏈未來的價值,所以開始真正投入到智能合約開發(fā)的學習中

    2024年02月02日
    瀏覽(103)
  • Deno 下一代JavaScript運行時

    Deno 下一代JavaScript運行時

    目錄 1、簡介 2、Deno 的特點 3、Deno 和 Node 的區(qū)別 4、TypeScript開箱即用 5、內(nèi)置的基本開發(fā)工具 獨立可執(zhí)行文件 測試運行器 代碼格式化程序 代碼linter ?6、專為云而建 7、從瀏覽器到后端的一致代碼 TC39 WinterCG 8、高性能聯(lián)網(wǎng) 9、數(shù)百萬個社區(qū)模塊 10、相關框架 Deno是為執(zhí)行Jav

    2024年02月08日
    瀏覽(97)
  • 下一代網(wǎng)絡爬蟲:AI agents

    下一代網(wǎng)絡爬蟲:AI agents

    下一代網(wǎng)絡爬蟲是爬蟲級 AI agents。 由于現(xiàn)代網(wǎng)頁的復雜性,現(xiàn)代爬蟲都傾向于使用高性能分布式 RPA,完全和真人一樣訪問網(wǎng)頁,采集數(shù)據(jù)。由于 AI 的成熟,RPA 工具也在升級為 AI agents。因此,網(wǎng)頁爬蟲的發(fā)展趨勢是爬蟲級智能體(AI agents),或者我喜歡稱為 數(shù)字超人 。 互聯(lián)

    2024年01月22日
    瀏覽(101)
  • Android 下一代架構指南:DDD

    Android 下一代架構指南:DDD

    移動端架構與網(wǎng)站架構的區(qū)別是什么?網(wǎng)易新聞客戶端的架構演進歷程是怎樣的?為什么要選擇 DDD 思想來指導重構?DDD 落地中應當關注哪些方面?帶著這些問題我們來看下文。(節(jié)選自網(wǎng)易新聞App架構重構實踐) 當前,大多數(shù)移動開發(fā)團隊選擇以 MVP 作為業(yè)務層的核心架構

    2023年04月10日
    瀏覽(97)
  • 邊緣計算:下一代計算模式的突破

    邊緣計算:下一代計算模式的突破

    ? 隨著物聯(lián)網(wǎng)、人工智能和大數(shù)據(jù)等技術的不斷發(fā)展,計算需求變得越來越復雜,傳統(tǒng)的云計算模式已經(jīng)難以滿足快速增長的數(shù)據(jù)處理需求。在這樣的背景下,邊緣計算作為一種全新的計算模式嶄露頭角,為我們帶來了更加靈活、高效的解決方案。本文將深入探討邊緣計算的

    2024年02月12日
    瀏覽(102)
  • 下一代Windows命名為Win 11?微軟的下一步要來了

    下一代Windows命名為Win 11?微軟的下一步要來了

    這包括一個新的開始菜單,新的系統(tǒng)圖標,文件資源管理器的改進,以及結束Windows 95時代的圖標,圓角和對內(nèi)置Windows應用程序的更新也在計劃之中。 除了用戶界面之外,Windows的重大變化似乎也在穩(wěn)步進行中。微軟似乎準備解決很多揮之不去的問題,計劃對多個顯示器上的應

    2024年04月12日
    瀏覽(98)
  • 下一代圖片格式AVIF,趕緊用起!

    下一代圖片格式AVIF,趕緊用起!

    介紹AVIF圖片格式的特點和在Web端顯示AVIF格式圖片的兩種方案。 AVIF是一種基于AV1視頻編碼的新圖像格式,相對于JPEG、Wep等圖片格式壓縮率更高,并且畫面細節(jié)更好。AVIF通過使用更現(xiàn)代的壓縮算法,在相同質(zhì)量的前提下,AVIF文件大小是JPEG文件的35%左右。 AVIF支持高動態(tài)范圍(

    2024年02月05日
    瀏覽(89)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包