SlideShare uma empresa Scribd logo
1 de 31
Processing Queries with  Bit-Vector Indexes Originally presented by Anand Deshpande
Motivation ,[object Object],[object Object],[object Object],[object Object],[object Object]
Example students table  1 2 3 4 5 6 7 8 9 10 11 12 13 14 CS CS CS CS CS CS EE ME EE EE ME ME AE AE M M M M M M M M F F F F F F H1 H1 H2 H2 H2 H1 H1 H2 H3 H3 H3 H4 H4 H4 Abhay Athavale Bina Bajaj Chinmay Chatterjee David DeMillo Era Edke Frank Fernandez Gauri Gaikwad Hari Hate Indira Irani Jaya Joshi Kader Khan Leo Lobo Meera Malik Naresh Naik RID Name Hostel Gender Dept
Using an Index to Process Queries ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Processing Queries  1 2 3 4 5 6 7 8 9 10 11 12 13 14 CS CS CS CS CS CS EE ME EE EE ME ME AE AE M M M M M M M M F F F F F F H1 H1 H2 H2 H2 H1 H1 H2 H3 H3 H3 H4 H4 H4 Abhay Athavale Bina Bajaj Chinmay Chatterjee David DeMillo Era Edke Frank Fernandez Gauri Gaikwad Hari Hate Indira Irani Jaya Joshi Kader Khan Leo Lobo Meera Malik Naresh Naik RID Name Hostel Gender Dept Dept = CS {1, 5, 7, 8, 12, 14} Hostel = H2 {6, 8,11,12} Dept = CS   Hostel = H2 {8, 12}
What does an Index do? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
B-Tree Index AE CS EE ME {4, 6} {1,5,7,8,12,14} {2, 9, 11} {3, 10, 13} B-Tree Index for  Department List of RIDs
Index Architecture Value-based Index (B-Tree) Lists of RIDs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CS CS CS CS CS CS EE ME EE EE ME ME AE AE M M M M M M M M F F F F F F H1 H1 H2 H2 H2 H1 H1 H2 H3 H3 H3 H4 H4 H4 RID Hostel Gender Dept Value-based Index (B-Tree) Lists of RIDs
Selectivity of Domains ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Motivating Bit-Vectors ,[object Object],[object Object]
Bit-Vector Representation of Sets 1 2 3 4 5 6 7 8 9 10 11 12 5 3 7 4 3 2 4 6 2 0 5 4 RID Score 0 -- {10} 1 - {} 2 - {6,9} 3 - {2,5} 4 - {4,7,12} 5 - {1,11} 6 - {8} 7 - {3} Score between 4 and 6 --  S4 U S5 U S6 V4 or V5 or V6 7 5 6 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Range Encoded Bit-Vectors Score = 4 V4   V3 Score <= 4 V4 Score >= 2  and Score <= 4 V4    V1 1 2 3 4 5 6 7 8 9 10 11 12 5 3 7 4 3 2 4 6 2 0 5 4 RID Score 7 5 6 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Bit-Vectors AE CS EE ME Dept H1 H2 H3 H4 Hostel M F Gender 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CS CS CS CS CS CS EE ME EE EE ME ME AE AE M M M M M M M M F F F F F F H1 H1 H2 H2 H2 H1 H1 H2 H3 H3 H3 H4 H4 H4 RID Hostel Gender Dept
Merging RecordIds ,[object Object],[object Object],[object Object],[object Object],[object Object]
Processing Queries Bit-vector Bit-vector Bit-vector Dept  =  CSCI Hostel = H2  Record-Set Record-Set Record-Set Dept  =  CSCI Hostel = H2 • Dept  =  CSCI • Bit-Vector Bit-Vector Record-Set Hostel = H2 convert
Processing Queries ,[object Object],[object Object],[object Object],[object Object],[object Object]
N-way AND and ORs Early Exit Strategy Dept  =  CSCI Hostel = H2 • Age = 19 Age = 20 Age = 21 Age = 22 +
Where are Bit-Vectors good ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Aggregate Queries ,[object Object],[object Object],[object Object]
Metrics for Indices ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bit-Vector Indices ,[object Object],[object Object]
Comparing Space Requirements ,[object Object],[object Object],[object Object]
Calculating Space ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Can we do better? ,[object Object],[object Object],[object Object],[object Object]
Handling Skew ,[object Object],[object Object],[object Object],[object Object]
Compression ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Inserts/Deletes Updates ,[object Object],[object Object],[object Object],[object Object],[object Object]
Star Joins ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Star Join Queries ,[object Object]
Rewriting the Query ,[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Semelhante a Bit Vectors Siddhesh

What to do when one size does not fit all?!
What to do when one size does not fit all?!What to do when one size does not fit all?!
What to do when one size does not fit all?!Arjen de Vries
 
Database Management System Review
Database Management System ReviewDatabase Management System Review
Database Management System ReviewKaya Ota
 
Kudler has plenty of room to increase sales while controlling cost.docx
Kudler has plenty of room to increase sales while controlling cost.docxKudler has plenty of room to increase sales while controlling cost.docx
Kudler has plenty of room to increase sales while controlling cost.docxDIPESH30
 
Cassandra Data Model
Cassandra Data ModelCassandra Data Model
Cassandra Data Modelebenhewitt
 
Python Programming.pptx
Python Programming.pptxPython Programming.pptx
Python Programming.pptxSudhakarVenkey
 
Outrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesOutrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesMax De Marzi
 
Getting started with Pandas Cheatsheet.pdf
Getting started with Pandas Cheatsheet.pdfGetting started with Pandas Cheatsheet.pdf
Getting started with Pandas Cheatsheet.pdfSudhakarVenkey
 
MySQL Indexing Crash Course
MySQL Indexing Crash CourseMySQL Indexing Crash Course
MySQL Indexing Crash CourseAaron Silverman
 
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingAmazon Web Services Korea
 
Wildcard In database
Wildcard In databaseWildcard In database
Wildcard In databasejamilmalik19
 
Data types in java | What is Datatypes in Java | Learning with RD | Created b...
Data types in java | What is Datatypes in Java | Learning with RD | Created b...Data types in java | What is Datatypes in Java | Learning with RD | Created b...
Data types in java | What is Datatypes in Java | Learning with RD | Created b...rahuldaredia21
 
Business Research Methods. data collection preparation and analysis
Business Research Methods. data collection preparation and analysisBusiness Research Methods. data collection preparation and analysis
Business Research Methods. data collection preparation and analysisAhsan Khan Eco (Superior College)
 
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huaweihbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
hbaseconasia2017: Ecosystems with HBase and CloudTable service at HuaweiHBaseCon
 
Lecture 2: arrays and pointers
Lecture 2: arrays and pointersLecture 2: arrays and pointers
Lecture 2: arrays and pointersVivek Bhargav
 
dbms-unit-_part-1.pptxeqweqweqweqweqweqweqweq
dbms-unit-_part-1.pptxeqweqweqweqweqweqweqweqdbms-unit-_part-1.pptxeqweqweqweqweqweqweqweq
dbms-unit-_part-1.pptxeqweqweqweqweqweqweqweqwrushabhsirsat
 
Data Vault 2.0: Using MD5 Hashes for Change Data Capture
Data Vault 2.0: Using MD5 Hashes for Change Data CaptureData Vault 2.0: Using MD5 Hashes for Change Data Capture
Data Vault 2.0: Using MD5 Hashes for Change Data CaptureKent Graziano
 
Data pre processing
Data pre processingData pre processing
Data pre processingjunnubabu
 
HospETL - Delivering a Healthcare Analytics Platform
HospETL - Delivering a Healthcare Analytics PlatformHospETL - Delivering a Healthcare Analytics Platform
HospETL - Delivering a Healthcare Analytics PlatformAngela Razzell
 
An analytic framework for estimating puzzle quality
An analytic framework for estimating puzzle qualityAn analytic framework for estimating puzzle quality
An analytic framework for estimating puzzle qualitysblom
 

Semelhante a Bit Vectors Siddhesh (20)

What to do when one size does not fit all?!
What to do when one size does not fit all?!What to do when one size does not fit all?!
What to do when one size does not fit all?!
 
Database Management System Review
Database Management System ReviewDatabase Management System Review
Database Management System Review
 
Kudler has plenty of room to increase sales while controlling cost.docx
Kudler has plenty of room to increase sales while controlling cost.docxKudler has plenty of room to increase sales while controlling cost.docx
Kudler has plenty of room to increase sales while controlling cost.docx
 
Cassandra Data Model
Cassandra Data ModelCassandra Data Model
Cassandra Data Model
 
Python Programming.pptx
Python Programming.pptxPython Programming.pptx
Python Programming.pptx
 
Outrageous Ideas for Graph Databases
Outrageous Ideas for Graph DatabasesOutrageous Ideas for Graph Databases
Outrageous Ideas for Graph Databases
 
Getting started with Pandas Cheatsheet.pdf
Getting started with Pandas Cheatsheet.pdfGetting started with Pandas Cheatsheet.pdf
Getting started with Pandas Cheatsheet.pdf
 
MySQL Indexing Crash Course
MySQL Indexing Crash CourseMySQL Indexing Crash Course
MySQL Indexing Crash Course
 
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
Wildcard In database
Wildcard In databaseWildcard In database
Wildcard In database
 
Data types in java | What is Datatypes in Java | Learning with RD | Created b...
Data types in java | What is Datatypes in Java | Learning with RD | Created b...Data types in java | What is Datatypes in Java | Learning with RD | Created b...
Data types in java | What is Datatypes in Java | Learning with RD | Created b...
 
Business Research Methods. data collection preparation and analysis
Business Research Methods. data collection preparation and analysisBusiness Research Methods. data collection preparation and analysis
Business Research Methods. data collection preparation and analysis
 
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huaweihbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
 
Lecture 2: arrays and pointers
Lecture 2: arrays and pointersLecture 2: arrays and pointers
Lecture 2: arrays and pointers
 
dbms-unit-_part-1.pptxeqweqweqweqweqweqweqweq
dbms-unit-_part-1.pptxeqweqweqweqweqweqweqweqdbms-unit-_part-1.pptxeqweqweqweqweqweqweqweq
dbms-unit-_part-1.pptxeqweqweqweqweqweqweqweq
 
Data Vault 2.0: Using MD5 Hashes for Change Data Capture
Data Vault 2.0: Using MD5 Hashes for Change Data CaptureData Vault 2.0: Using MD5 Hashes for Change Data Capture
Data Vault 2.0: Using MD5 Hashes for Change Data Capture
 
Vhdl introduction
Vhdl introductionVhdl introduction
Vhdl introduction
 
Data pre processing
Data pre processingData pre processing
Data pre processing
 
HospETL - Delivering a Healthcare Analytics Platform
HospETL - Delivering a Healthcare Analytics PlatformHospETL - Delivering a Healthcare Analytics Platform
HospETL - Delivering a Healthcare Analytics Platform
 
An analytic framework for estimating puzzle quality
An analytic framework for estimating puzzle qualityAn analytic framework for estimating puzzle quality
An analytic framework for estimating puzzle quality
 

Mais de Siddhesh Bhobe

eMee at HR Tech Europe, 26 March, London
eMee at HR Tech Europe, 26 March, LondoneMee at HR Tech Europe, 26 March, London
eMee at HR Tech Europe, 26 March, LondonSiddhesh Bhobe
 
Industry expectations from new recruits
Industry expectations from new recruitsIndustry expectations from new recruits
Industry expectations from new recruitsSiddhesh Bhobe
 
The eMee Value Proposition
The eMee Value PropositionThe eMee Value Proposition
The eMee Value PropositionSiddhesh Bhobe
 
Redefining Employee Engagement
Redefining Employee EngagementRedefining Employee Engagement
Redefining Employee EngagementSiddhesh Bhobe
 
Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3Siddhesh Bhobe
 
Introduction To Dot Net Siddhesh
Introduction To Dot Net SiddheshIntroduction To Dot Net Siddhesh
Introduction To Dot Net SiddheshSiddhesh Bhobe
 
Ruby On Rails Siddhesh
Ruby On Rails SiddheshRuby On Rails Siddhesh
Ruby On Rails SiddheshSiddhesh Bhobe
 
Six Thinking Hats Siddhesh
Six Thinking Hats SiddheshSix Thinking Hats Siddhesh
Six Thinking Hats SiddheshSiddhesh Bhobe
 
Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3Siddhesh Bhobe
 
Sql Injection Attacks Siddhesh
Sql Injection Attacks SiddheshSql Injection Attacks Siddhesh
Sql Injection Attacks SiddheshSiddhesh Bhobe
 
Software Accessibility Siddhesh
Software Accessibility SiddheshSoftware Accessibility Siddhesh
Software Accessibility SiddheshSiddhesh Bhobe
 
Anti Patterns Siddhesh Lecture3 Of3
Anti Patterns Siddhesh Lecture3 Of3Anti Patterns Siddhesh Lecture3 Of3
Anti Patterns Siddhesh Lecture3 Of3Siddhesh Bhobe
 

Mais de Siddhesh Bhobe (16)

eMee at HR Tech Europe, 26 March, London
eMee at HR Tech Europe, 26 March, LondoneMee at HR Tech Europe, 26 March, London
eMee at HR Tech Europe, 26 March, London
 
Industry expectations from new recruits
Industry expectations from new recruitsIndustry expectations from new recruits
Industry expectations from new recruits
 
The eMee Value Proposition
The eMee Value PropositionThe eMee Value Proposition
The eMee Value Proposition
 
Redefining Employee Engagement
Redefining Employee EngagementRedefining Employee Engagement
Redefining Employee Engagement
 
Introduction to eMee
Introduction to eMeeIntroduction to eMee
Introduction to eMee
 
Tour Of Europe
Tour Of EuropeTour Of Europe
Tour Of Europe
 
Software As Solutions
Software As SolutionsSoftware As Solutions
Software As Solutions
 
Effective ALM
Effective ALMEffective ALM
Effective ALM
 
Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3Anti Patterns Siddhesh Lecture1 Of3
Anti Patterns Siddhesh Lecture1 Of3
 
Introduction To Dot Net Siddhesh
Introduction To Dot Net SiddheshIntroduction To Dot Net Siddhesh
Introduction To Dot Net Siddhesh
 
Ruby On Rails Siddhesh
Ruby On Rails SiddheshRuby On Rails Siddhesh
Ruby On Rails Siddhesh
 
Six Thinking Hats Siddhesh
Six Thinking Hats SiddheshSix Thinking Hats Siddhesh
Six Thinking Hats Siddhesh
 
Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3Anti Patterns Siddhesh Lecture2 Of3
Anti Patterns Siddhesh Lecture2 Of3
 
Sql Injection Attacks Siddhesh
Sql Injection Attacks SiddheshSql Injection Attacks Siddhesh
Sql Injection Attacks Siddhesh
 
Software Accessibility Siddhesh
Software Accessibility SiddheshSoftware Accessibility Siddhesh
Software Accessibility Siddhesh
 
Anti Patterns Siddhesh Lecture3 Of3
Anti Patterns Siddhesh Lecture3 Of3Anti Patterns Siddhesh Lecture3 Of3
Anti Patterns Siddhesh Lecture3 Of3
 

Último

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Último (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Bit Vectors Siddhesh

  • 1. Processing Queries with Bit-Vector Indexes Originally presented by Anand Deshpande
  • 2.
  • 3. Example students table 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CS CS CS CS CS CS EE ME EE EE ME ME AE AE M M M M M M M M F F F F F F H1 H1 H2 H2 H2 H1 H1 H2 H3 H3 H3 H4 H4 H4 Abhay Athavale Bina Bajaj Chinmay Chatterjee David DeMillo Era Edke Frank Fernandez Gauri Gaikwad Hari Hate Indira Irani Jaya Joshi Kader Khan Leo Lobo Meera Malik Naresh Naik RID Name Hostel Gender Dept
  • 4.
  • 5. Processing Queries 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CS CS CS CS CS CS EE ME EE EE ME ME AE AE M M M M M M M M F F F F F F H1 H1 H2 H2 H2 H1 H1 H2 H3 H3 H3 H4 H4 H4 Abhay Athavale Bina Bajaj Chinmay Chatterjee David DeMillo Era Edke Frank Fernandez Gauri Gaikwad Hari Hate Indira Irani Jaya Joshi Kader Khan Leo Lobo Meera Malik Naresh Naik RID Name Hostel Gender Dept Dept = CS {1, 5, 7, 8, 12, 14} Hostel = H2 {6, 8,11,12} Dept = CS  Hostel = H2 {8, 12}
  • 6.
  • 7. B-Tree Index AE CS EE ME {4, 6} {1,5,7,8,12,14} {2, 9, 11} {3, 10, 13} B-Tree Index for Department List of RIDs
  • 8. Index Architecture Value-based Index (B-Tree) Lists of RIDs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CS CS CS CS CS CS EE ME EE EE ME ME AE AE M M M M M M M M F F F F F F H1 H1 H2 H2 H2 H1 H1 H2 H3 H3 H3 H4 H4 H4 RID Hostel Gender Dept Value-based Index (B-Tree) Lists of RIDs
  • 9.
  • 10.
  • 11. Bit-Vector Representation of Sets 1 2 3 4 5 6 7 8 9 10 11 12 5 3 7 4 3 2 4 6 2 0 5 4 RID Score 0 -- {10} 1 - {} 2 - {6,9} 3 - {2,5} 4 - {4,7,12} 5 - {1,11} 6 - {8} 7 - {3} Score between 4 and 6 -- S4 U S5 U S6 V4 or V5 or V6 7 5 6 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  • 12. Range Encoded Bit-Vectors Score = 4 V4  V3 Score <= 4 V4 Score >= 2 and Score <= 4 V4  V1 1 2 3 4 5 6 7 8 9 10 11 12 5 3 7 4 3 2 4 6 2 0 5 4 RID Score 7 5 6 4 3 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  • 13. Bit-Vectors AE CS EE ME Dept H1 H2 H3 H4 Hostel M F Gender 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CS CS CS CS CS CS EE ME EE EE ME ME AE AE M M M M M M M M F F F F F F H1 H1 H2 H2 H2 H1 H1 H2 H3 H3 H3 H4 H4 H4 RID Hostel Gender Dept
  • 14.
  • 15. Processing Queries Bit-vector Bit-vector Bit-vector Dept = CSCI Hostel = H2  Record-Set Record-Set Record-Set Dept = CSCI Hostel = H2 • Dept = CSCI • Bit-Vector Bit-Vector Record-Set Hostel = H2 convert
  • 16.
  • 17. N-way AND and ORs Early Exit Strategy Dept = CSCI Hostel = H2 • Age = 19 Age = 20 Age = 21 Age = 22 +
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.