最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Apache Doris的Bitmap索引和BloomFilter索引使用及注意事項

 更新時間:2022年09月26日 11:35:43   作者:Bulut0907  
bitmap index是一種位圖索引,是一種快速數(shù)據(jù)結(jié)構(gòu),能夠加快查詢速度,BloomFilter索引也是以Block為粒度創(chuàng)建的,這篇文章主要介紹了Apache Doris的Bitmap索引和BloomFilter索引使用,需要的朋友可以參考下

1. Bitmap索引的使用

1.1 Bitmap索引介紹

bitmap index是一種位圖索引,是一種快速數(shù)據(jù)結(jié)構(gòu),能夠加快查詢速度

1.2 Bitmap索引使用的注意事項

使用限制

  • 目前索引僅支持bitmap類型的索引
  • bitmap索引僅在單列上創(chuàng)建
  • bitmap索引能夠應(yīng)用在Duplicate、Uniq數(shù)據(jù)模型的所有列和Aggregate模型的key列上
  • bitmap索引僅在Segment V2儲存格式下生效。當(dāng)創(chuàng)建index時,表的存儲格式將默認(rèn)轉(zhuǎn)換為V2格式

bitmap索引支持的數(shù)據(jù)類型:

  • TINYINT
  • SMALLINT
  • INT
  • UNSIGNEDINT
  • BIGINT
  • CHAR
  • VARCHAR
  • DATE
  • DATETIME
  • LARGEINT
  • DECIMAL
  • BOOL

1.3 Bitmap索引的使用

創(chuàng)建索引

mysql> create index if not exists click_bitmap_index on test_db.click (user_id) using bitmap comment 'bitmap index test';
Query OK, 0 rows affected (0.05 sec)

mysql> 

查看索引

mysql> show index from test_db.click;
+-------------------------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-------------------+
| Table                         | Non_unique | Key_name           | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment           |
+-------------------------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-------------------+
| default_cluster:test_db.click |            | click_bitmap_index |              | user_id     |           |             |          |        |      | BITMAP     | bitmap index test |
+-------------------------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+-------------------+
1 row in set (0.04 sec)

mysql> 

刪除索引

mysql> drop index if exists click_bitmap_index on test_db.click;
Query OK, 0 rows affected (0.03 sec)

mysql> 

2. BloomFilter索引

2.1 BloomFilter索引介紹

是一種多哈希函數(shù)映射的快速查找算法,本質(zhì)上是一種位圖結(jié)構(gòu)。通常應(yīng)用在一些需要快速判斷某個元素是否屬于集合,但是并不嚴(yán)格要求100%正確的場合,因為BloomFilter會告訴調(diào)用者一個元素存在或不存在一個集合。但存在不一定準(zhǔn)確

2.2 BloomFilter原理

實際上是由一個超長的二進(jìn)制位數(shù)組和一系列的哈希函數(shù)組成。二進(jìn)制位數(shù)組初始全部為0,當(dāng)給定一個元素時,這個元素會被一系列哈希函數(shù)計算映射出一系列的值,所有的值在位數(shù)組的偏移量處置為1。而對于一個待查詢的元素,也會用相同的哈希函數(shù)映射到位數(shù)組上,只要有一個哈希函數(shù)映射沒有命中之前的元素的偏移量,則不存在于集合中

下圖所示出一個m=18, k=3(m是該Bit數(shù)組的大小,k是Hash函數(shù)的個數(shù))的Bloom Filter示例。集合中的x、y、z三個元素通過3個不同的哈希函數(shù)散列到位數(shù)組中。當(dāng)查詢元素w時,通過Hash函數(shù)計算之后因為有一個比特為0,因此w不在該集合中

BloomFilter

BloomFilter索引也是以Block為粒度創(chuàng)建的。每個Block中,指定列的值作為一個集合生成一個BloomFilter索引條目,用于在查詢是快速過濾不滿足條件的數(shù)據(jù)

2.3 BloomFilter索引的使用

創(chuàng)建表使用BloomFilter索引

mysql> create table order_tb(
    -> user_id bigint,
    -> order_date date,
    -> city varchar(32),
    -> url varchar(512)
    -> ) distributed by hash(user_id, city) buckets 8
    -> properties(
    -> 'bloom_filter_columns'='user_id,order_date'
    -> );
Query OK, 0 rows affected (0.07 sec)

mysql> 

查看BloomFilter索引

mysql> show create table order_tb;

刪除BloomFilter索引

mysql> alter table test_db.order_tb set ('bloom_filter_columns' = '');
Query OK, 0 rows affected (0.05 sec)

mysql>

修改BloomFilter索引

mysql> alter table test_db.order_tb set ('bloom_filter_columns' = 'user_id,city');
Query OK, 0 rows affected (0.05 sec)

mysql> 

2.4 Doris BloomFilter使用場景

  • 首先BloomFilter適用于非前綴過濾
  • 查詢會根據(jù)該列高頻過濾,而且查詢條件大多是in和=過濾
  • 不同于Bitmap, BloomFilter適用于高基數(shù)列。比如UserID。因為如果創(chuàng)建在低基數(shù)的列上,比如”性別“列,則每個Block幾乎都會包含所有取值,導(dǎo)致BloomFilter索引失去意義

2.5 Doris BloomFilter使用注意事項

  • 不支持對Tinyint、Float、Double 類型的列建Bloom Filter索引
  • Bloom Filter索引只對in和=過濾查詢有加速效果
  • 如果要查看某個查詢是否命中了Bloom Filter索引,可以通過查詢的Profile信息查看

到此這篇關(guān)于Apache Doris的Bitmap索引和BloomFilter索引使用的文章就介紹到這了,更多相關(guān)Apache Doris索引內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • apache Php5配置方法

    apache Php5配置方法

    用了兩天的時間,終于把php配置成功了。測試成功了。
    2009-10-10
  • centos更改時區(qū)的方法

    centos更改時區(qū)的方法

    centos默認(rèn)使用UTC時區(qū),中國用戶需要修改成自己的時區(qū),這篇文章主要介紹了centos更改時區(qū)的方法,需要的朋友可以參考下
    2014-03-03
  • Linux與Windows編碼不一致的解決方案

    Linux與Windows編碼不一致的解決方案

    本篇文章給大家總結(jié)了Linux與Windows編碼不一致的解決方法以及相關(guān)注意點,有需要的朋友參考下。
    2018-03-03
  • hbase 簡介

    hbase 簡介

    HBase是基于GoogleBigTable模型開發(fā)的,典型的key/value系統(tǒng);下面通過本文給大家介紹hbase的相關(guān)知識,感興趣的朋友一起看看吧
    2017-09-09
  • 樹莓派無線上網(wǎng)時無屏幕下發(fā)現(xiàn)樹莓派IP的方法

    樹莓派無線上網(wǎng)時無屏幕下發(fā)現(xiàn)樹莓派IP的方法

    今天小編就為大家分享一篇關(guān)于樹莓派無線上網(wǎng)時無屏幕下發(fā)現(xiàn)樹莓派IP的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • linux中的軟連接和硬連接詳解

    linux中的軟連接和硬連接詳解

    大家好,本篇文章主要講的是linux中的軟連接和硬連接詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • linux網(wǎng)絡(luò)NAT配置方式詳解

    linux網(wǎng)絡(luò)NAT配置方式詳解

    這篇文章主要為大家詳細(xì)介紹了linux網(wǎng)絡(luò)NAT配置方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Linux 內(nèi)核通用鏈表學(xué)習(xí)小結(jié)

    Linux 內(nèi)核通用鏈表學(xué)習(xí)小結(jié)

    本篇文章主要介紹了Linux 內(nèi)核通用鏈表學(xué)習(xí)小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • LAMP服務(wù)器性能優(yōu)化技巧之Linux主機(jī)優(yōu)化

    LAMP服務(wù)器性能優(yōu)化技巧之Linux主機(jī)優(yōu)化

    LAMP服務(wù)器性能優(yōu)化技巧之Linux主機(jī)優(yōu)化:由于LAMP的發(fā)展迅速,如今LAMP已經(jīng)成為Web服務(wù)器的標(biāo)準(zhǔn)。如何才能優(yōu)化LAMP服務(wù)器的性能?
    2012-02-02
  • Centos6.5全自動安裝 vsftpd+dhcp+nfs+tftp

    Centos6.5全自動安裝 vsftpd+dhcp+nfs+tftp

    本文主要記述了在Centos6.5中,如何配置無人值守安裝vsftpd+dhcp+nfs+tftp,非常實用,希望對大家能有所幫助。
    2014-09-09

最新評論

正蓝旗| 吉隆县| 高清| 沙田区| 洞口县| 凤台县| 静乐县| 南漳县| 屏山县| 安溪县| 六盘水市| 古田县| 白玉县| 新龙县| 谢通门县| 内丘县| 台北县| 黔西县| 景宁| 五常市| 文山县| 沾益县| 革吉县| 东至县| 弥渡县| 宜昌市| 康平县| 东乌| 达州市| 漳平市| 三江| 横山县| 金门县| 务川| 铅山县| 廊坊市| 梁河县| 景德镇市| 马边| 禹城市| 会泽县|