Amusing algorithms and data-structures that power Lucene and Elasticsearch. Adrien Grand
|
|
- Bonnie Shaw
- 5 years ago
- Views:
Transcription
1 Amusing algorithms and data-structures that power Lucene and Elasticsearch Adrien Grand
2 Agenda conjunctions regexp queries numeric doc values compression cardinality aggregation
3 How are conjunctions implemented?
4 Inverted index elastic 0 49 index 5 lucene shard 9 0 Terms dictionary Doc freq Postings lists 4
5 Inverted index next next elastic index lucene shard 9 0 Terms dictionary Doc freq Postings lists 5
6 Inverted index advance(0) Uses skip lists elastic 0 49 advance( search ) Uses a tiny in-memory terms index. index lucene shard Terms dictionary Doc freq Postings lists 6
7 Conjunctions. Sort by cost
8 Conjunctions Sort by cost. Leap frog!
9 Conjunctions next
10 Conjunctions next advance() TOO FAR
11 Conjunctions next advance() advance() TOO FAR
12 Conjunctions next advance() advance() TOO FAR 5 already on
13 Conjunctions next advance() advance() TOO FAR already on advance() MATCH 7
14 Conjunctions next advance() advance() TOO FAR already on advance() next 7 MATCH 7 4
15 Conjunctions next advance() advance() TOO FAR already on advance() next 7 MATCH 7 advance(7) TOO FAR 5
16 Conjunctions next advance() advance() TOO FAR already on advance() next 7 MATCH 7 advance(7) TOO FAR 6
17 Conjunctions next advance() advance() TOO FAR already on advance() next 7 MATCH 7 advance(7) advance() TOO FAR 7
18 Conjunctions next advance() advance() TOO FAR already on advance() next 7 MATCH 7 advance(7) advance() advance() TOO FAR 8
19 Conjunctions next advance() advance() TOO FAR already on advance() next 7 MATCH 7 advance(7) advance() advance() advance() TOO FAR MATCH 9
20 Conjunctions next advance() advance() TOO FAR already on advance() next 7 MATCH 7 advance(7) advance() advance() advance() TOO FAR MATCH next END 0
21 How do regexp queries work?
22 Regexp queries elastic 0 49 Challenge: find matching terms and merge postings lists index 5 Naive way: lucene search iterate over terms - evaluate regexp against every term shard 9 0 SLOWWWWWW
23 Regexp queries Ela[Ss]tic.* E l a S t i c s *
24 Regexp queries Not limited to regexps Fuzzy queries too! example: es~ 4
25 How are numeric doc values compressed? 5
26 Aggregation Execution What is average price of green docs? color blue green red Doc IDs 0, 4, 5 (inverted index) 6
27 Aggregation Execution What is average price of green docs? color Doc IDs Doc ID price blue green red 0, 4, ( ) = (field data) 7
28 Field Data and Doc Values Field Data In-memory, lives on JVM Heap All-or-nothing Lazily constructed at query-time Doc Values Disk-based, leverages OS FS cache Pages in/out of FS cache Precomputed at index-time Allows better compression 8
29 Allows better compression Lots of cool tricks, let s dive in! 9
30 Default strategy Delta Encoding + bit packing Doc ID price Encoding Compute min and max values: min= max=9 max - min = 7 so deltas require bits per value Encode the min value Encode deltas on bits per value: [,0,0,,7,] requires 8 bits 0
31 Default strategy Delta Encoding + bit packing Doc ID price Decoding For doc ID d Read bits at offset d* bits Add the min value
32 Less than 56 unique values Table encoding Doc ID price Encoding Dedup and sort values: [, 4, 5, 9] Encode the table index for every doc: [, 0, 0,,, ] bits per value
33 Less than 56 unique values Table encoding Doc ID price Decoding For doc ID d: Read bits at offset d* bits Gives table index t Read value in table at index t
34 Timestamps without full precision GCD compression Doc ID price 7 5 Encoding Compute minimum value: Compute deltas: [0, 0, 0, 0, 70, 50] Compute GCD of the deltas: 0 Encode min value and GCD Then encode quotients using bit packing [,,,0,7,5]: bits per value 4
35 Timestamps without full precision GCD compression Doc ID price 7 5 Decoding For doc ID d: Read bits at offset d* bits Multiply by the GCD Add the min value 5
36 How does the Cardinality agg work? bit-pattern observable magic 6
37 Distinct Counts: Naive Solution Cardinality agg == SELECT Count(Distinct foo) 7
38 Distinct Counts: Naive Solution Maintain a set of all values blue green red Cardinality == set.size() set.size() == n Memory usage == n * size of each term (Ignoring set overhead) 8
39 Distinct Counts: Naive Solution Gets worse in distributed environment blue green red Node abc xyz abc green xyz Node Node 9
40 Distinct Counts: Naive Solution Gets worse in distributed environment blue green red Node abc xyz abc green xyz Node Merge blue abc green green abc red xyz xyz Node 4 Node 40
41 Distinct Counts: HyperLogLog++ Cardinality agg uses HyperLogLog++ instead Approximates cardinality Uses only a few Kb of memory for billions of distinct values Fast! Lossless unions 4
42 Bit-Observable Patterns Let s flip some coins Probability of a run n 4
43 Bit-Observable Patterns Let s flip some coins Probability of a run n 5 heads in a row 4
44 Bit-Observable Patterns Let s flip some coins Probability of a run n 5 heads in a row 0 heads in a row
45 Bit-Observable Patterns Let s flip some coins Probability of a run n 5 heads in a row 0 heads in a row Could do this in one sitting Might take several days 45
46 Key Insight: ^(Length of the run) ~= duration of coin flipping 46
47 Bit-Observable Patterns Let s hash values, instead of flipping coins v = 45 h(v) = Run of zero 47
48 Bit-Observable Patterns Let s hash values, instead of flipping coins v = 45 Set register to h(v) =
49 Bit-Observable Patterns Let s hash values, instead of flipping coins v = 456 h(v) = Run of zeros 49
50 Bit-Observable Patterns Let s hash values, instead of flipping coins v = 456 Set register to h(v) =
51 Bit-Observable Patterns Let s hash values, instead of flipping coins v = 948 h(v) = Don t update register Run of zeros 5
52 Key Insight: ^(Length of the run) ~= cardinality duration of coin flipping Probability of a run n 5 zeros in a row 0 zeros in a row ~ distinct values ~ distinct values 5
53 What if you get unlucky on first value? v = 98 h(v) = Run of 0 zeros oops :( 5
54 Stochastic Averaging Solution: keep multiple counters v = 98 h(v) =
55 Stochastic Averaging Solution: keep multiple counters v = 98 h(v) = Use first bits as register index Run of 0 zeros 55
56 Stochastic Averaging Solution: keep multiple counters 0 v = 98 h(v) = Set register[0] to 0 56
57 Stochastic Averaging Solution: keep multiple counters 0 v = 748 h(v) = Use first bits as register index Run of zero 57
58 Stochastic Averaging Solution: keep multiple counters v = 748 h(v) = Set register[] to 58
59 Stochastic Averaging 0 ^0=04 ^=4 ^=8 ^= Naive approach: sum = 08 In practice harmonic mean times number of registers works better: 4 * 4 / (/04 + /4 + /8 + /) =8. Gives less weight to outliers 59
60 Other neat attributes Registers are small! bits 60
61 Other neat attributes Unions are lossless! U = Take max of each register 5 6
62 Other neat attributes Which is perfect for distributed environments Merge Node Node Node 4 Node 6
63 In closing Stop worrying and learn to love approximate algorithms 6
64 Thank
Is Elasticsearch the Answer?
High-Performance Big-Data Computation Solution Is Elasticsearch the Answer? Yoav Melamed Navigation The need Optional solutions What is Elasticsearch Not out of the box Shard limitations and capabilities
More informationIndexing. UCSB 290N. Mainly based on slides from the text books of Croft/Metzler/Strohman and Manning/Raghavan/Schutze
Indexing UCSB 290N. Mainly based on slides from the text books of Croft/Metzler/Strohman and Manning/Raghavan/Schutze All slides Addison Wesley, 2008 Table of Content Inverted index with positional information
More information230 Million Tweets per day
Tweets per day Queries per day Indexing latency Avg. query response time Earlybird - Realtime Search @twitter Michael Busch @michibusch michael@twitter.com buschmi@apache.org Earlybird - Realtime Search
More information1 o Semestre 2007/2008
Efficient Departamento de Engenharia Informática Instituto Superior Técnico 1 o Semestre 2007/2008 Outline 1 2 3 4 5 6 7 Outline 1 2 3 4 5 6 7 Text es An index is a mechanism to locate a given term in
More informationInside the InfluxDB Storage Engine
Inside the InfluxDB Storage Engine Gianluca Arbezzano gianluca@influxdb.com @gianarb 1 2 What is time series data? 3 Stock trades and quotes 4 Metrics 5 Analytics 6 Events 7 Sensor data 8 Traces Two kinds
More informationQuery Answering Using Inverted Indexes
Query Answering Using Inverted Indexes Inverted Indexes Query Brutus AND Calpurnia J. Pei: Information Retrieval and Web Search -- Query Answering Using Inverted Indexes 2 Document-at-a-time Evaluation
More informationCS6200 Information Retrieval. David Smith College of Computer and Information Science Northeastern University
CS6200 Information Retrieval David Smith College of Computer and Information Science Northeastern University Indexing Process!2 Indexes Storing document information for faster queries Indexes Index Compression
More informationElementary IR: Scalable Boolean Text Search. (Compare with R & G )
Elementary IR: Scalable Boolean Text Search (Compare with R & G 27.1-3) Information Retrieval: History A research field traditionally separate from Databases Hans P. Luhn, IBM, 1959: Keyword in Context
More informationLecture 15. Lecture 15: Bitmap Indexes
Lecture 5 Lecture 5: Bitmap Indexes Lecture 5 What you will learn about in this section. Bitmap Indexes 2. Storing a bitmap index 3. Bitslice Indexes 2 Lecture 5. Bitmap indexes 3 Motivation Consider the
More informationIn-Memory Data Management
In-Memory Data Management Martin Faust Research Assistant Research Group of Prof. Hasso Plattner Hasso Plattner Institute for Software Engineering University of Potsdam Agenda 2 1. Changed Hardware 2.
More informationHICAMP Bitmap. A Space-Efficient Updatable Bitmap Index for In-Memory Databases! Bo Wang, Heiner Litz, David R. Cheriton Stanford University DAMON 14
HICAMP Bitmap A Space-Efficient Updatable Bitmap Index for In-Memory Databases! Bo Wang, Heiner Litz, David R. Cheriton Stanford University DAMON 14 Database Indexing Databases use precomputed indexes
More informationTurbocharge your MySQL analytics with ElasticSearch. Guillaume Lefranc Data & Infrastructure Architect, Productsup GmbH Percona Live Europe 2017
Turbocharge your MySQL analytics with ElasticSearch Guillaume Lefranc Data & Infrastructure Architect, Productsup GmbH Percona Live Europe 2017 About the Speaker Guillaume Lefranc Data Architect at Productsup
More informationwhitepaper RediSearch: A High Performance Search Engine as a Redis Module
whitepaper RediSearch: A High Performance Search Engine as a Redis Module Author: Dvir Volk, Senior Architect, Redis Labs Table of Contents RediSearch At-a-Glance 2 A Little Taste: RediSearch in Action
More informationRELATIONAL OPERATORS #1
RELATIONAL OPERATORS #1 CS 564- Spring 2018 ACKs: Jeff Naughton, Jignesh Patel, AnHai Doan WHAT IS THIS LECTURE ABOUT? Algorithms for relational operators: select project 2 ARCHITECTURE OF A DBMS query
More informationInformation Retrieval
Information Retrieval Suan Lee - Information Retrieval - 05 Index Compression 1 05 Index Compression - Information Retrieval - 05 Index Compression 2 Last lecture index construction Sort-based indexing
More informationRecap: lecture 2 CS276A Information Retrieval
Recap: lecture 2 CS276A Information Retrieval Stemming, tokenization etc. Faster postings merges Phrase queries Lecture 3 This lecture Index compression Space estimation Corpus size for estimates Consider
More informationText Analytics. Index-Structures for Information Retrieval. Ulf Leser
Text Analytics Index-Structures for Information Retrieval Ulf Leser Content of this Lecture Inverted files Storage structures Phrase and proximity search Building and updating the index Using a RDBMS Ulf
More informationUnique Data Organization
Unique Data Organization INTRODUCTION Apache CarbonData stores data in the columnar format, with each data block sorted independently with respect to each other to allow faster filtering and better compression.
More informationAdvanced Database Systems
Lecture IV Query Processing Kyumars Sheykh Esmaili Basic Steps in Query Processing 2 Query Optimization Many equivalent execution plans Choosing the best one Based on Heuristics, Cost Will be discussed
More informationUsing ElasticSearch to Enable Stronger Query Support in Cassandra
Using ElasticSearch to Enable Stronger Query Support in Cassandra www.impetus.com Introduction Relational Databases have been in use for decades, but with the advent of big data, there is a need to use
More informationLecture 4. Distributed sketching. Graph problems
1 / 21 Lecture 4. Distributed sketching. Graph problems Ricard Gavaldà MIRI Seminar on Data Streams, Spring 2015 Contents 2 / 21 1 Distributed sketching 2 An application: distance distributions in large
More informationQuery Processing and Alternative Search Structures. Indexing common words
Query Processing and Alternative Search Structures CS 510 Winter 2007 1 Indexing common words What is the indexing overhead for a common term? I.e., does leaving out stopwords help? Consider a word such
More informationChallenges in maintaing a high-performance Search-Engine written in Java
Challenges in maintaing a high-performance Search-Engine written in Java Simon Willnauer Apache Lucene Core Committer & PMC Chair simonw@apache.org / simon.willnauer@searchworkings.com 1 Who am I? Lucene
More informationRealtime Search with Lucene. Michael
Realtime Search with Lucene Michael Busch @michibusch michael@twitter.com buschmi@apache.org 1 Realtime Search with Lucene Agenda Introduction - Near-realtime Search (NRT) - Searching DocumentsWriter s
More informationFigure 1: Organisation for 128KB Direct Mapped Cache with 16-word Block Size and Word Addressable
Tutorial 12: Cache Problem 1: Direct Mapped Cache Consider a 128KB of data in a direct-mapped cache with 16 word blocks. Determine the size of the tag, index and offset fields if a 32-bit architecture
More informationInformation Retrieval
Introduction to Information Retrieval Lecture 4: Index Construction 1 Plan Last lecture: Dictionary data structures Tolerant retrieval Wildcards Spell correction Soundex a-hu hy-m n-z $m mace madden mo
More informationIndexing Web pages. Web Search: Indexing Web Pages. Indexing the link structure. checkpoint URL s. Connectivity Server: Node table
Indexing Web pages Web Search: Indexing Web Pages CPS 296.1 Topics in Database Systems Indexing the link structure AltaVista Connectivity Server case study Bharat et al., The Fast Access to Linkage Information
More informationMaking Session Stores More Intelligent KYLE J. DAVIS TECHNICAL MARKETING MANAGER REDIS LABS
Making Session Stores More Intelligent KYLE J. DAVIS TECHNICAL MARKETING MANAGER REDIS LABS What is a session store? A session store is An chunk of data that is connected to one user of a service user
More informationGoal of this document: A simple yet effective
INTRODUCTION TO ELK STACK Goal of this document: A simple yet effective document for folks who want to learn basics of ELK (Elasticsearch, Logstash and Kibana) without any prior knowledge. Introduction:
More informationLucene 4 - Next generation open source search
Lucene 4 - Next generation open source search Simon Willnauer Apache Lucene Core Committer & PMC Chair simonw@apache.org / simon.willnauer@searchworkings.org Who am I? Lucene Core Committer Project Management
More informationIndex Construction. Dictionary, postings, scalable indexing, dynamic indexing. Web Search
Index Construction Dictionary, postings, scalable indexing, dynamic indexing Web Search 1 Overview Indexes Query Indexing Ranking Results Application Documents User Information analysis Query processing
More informationText Analytics. Index-Structures for Information Retrieval. Ulf Leser
Text Analytics Index-Structures for Information Retrieval Ulf Leser Content of this Lecture Inverted files Storage structures Phrase and proximity search Building and updating the index Using a RDBMS Ulf
More informationInformation Retrieval. Chap 8. Inverted Files
Information Retrieval Chap 8. Inverted Files Issues of Term-Document Matrix 500K x 1M matrix has half-a-trillion 0 s and 1 s Usually, no more than one billion 1 s Matrix is extremely sparse 2 Inverted
More informationDruid Power Interactive Applications at Scale. Jonathan Wei Software Engineer
Druid Power Interactive Applications at Scale Jonathan Wei Software Engineer History & Motivation Demo Overview Storage Internals Druid Architecture Motivation Motivation Visibility and analysis for complex
More informationUnderstanding the Optimizer
Understanding the Optimizer 1 Global topics Introduction At which point does the optimizer his work Optimizer steps Index Questions? 2 Introduction Arno Brinkman BISIT engineering b.v. ABVisie firebird@abvisie.nl
More informationBoolean Retrieval. Manning, Raghavan and Schütze, Chapter 1. Daniël de Kok
Boolean Retrieval Manning, Raghavan and Schütze, Chapter 1 Daniël de Kok Boolean query model Pose a query as a boolean query: Terms Operations: AND, OR, NOT Example: Brutus AND Caesar AND NOT Calpuria
More informationQuery Evaluation Strategies
Introduction to Search Engine Technology Term-at-a-Time and Document-at-a-Time Evaluation Ronny Lempel Yahoo! Labs (Many of the following slides are courtesy of Aya Soffer and David Carmel, IBM Haifa Research
More informationIntroduction to Database Services
Introduction to Database Services Shaun Pearce AWS Solutions Architect 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved Today s agenda Why managed database services? A non-relational
More informationORC Files. Owen O June Page 1. Hortonworks Inc. 2012
ORC Files Owen O Malley owen@hortonworks.com @owen_omalley owen@hortonworks.com June 2013 Page 1 Who Am I? First committer added to Hadoop in 2006 First VP of Hadoop at Apache Was architect of MapReduce
More informationPERISCOPE DATA PRESENTS. Speed up Your SQL
PERISCOPE DATA PRESENTS Speed up Your SQL Your SQL Queries Are Holding You Back As an analyst, your work is important! Slow queries can keep you from efficiently surfacing and acting on insights. This
More informationQuery Execution [15]
CSC 661, Principles of Database Systems Query Execution [15] Dr. Kalpakis http://www.csee.umbc.edu/~kalpakis/courses/661 Query processing involves Query processing compilation parsing to construct parse
More informationResearch Students Lecture Series 2015
Research Students Lecture Series 215 Analyse your big data with this one weird probabilistic approach! Or: applied probabilistic algorithms in 5 easy pieces Advait Sarkar advait.sarkar@cl.cam.ac.uk Research
More informationAnalyzing the performance of top-k retrieval algorithms. Marcus Fontoura Google, Inc
Analyzing the performance of top-k retrieval algorithms Marcus Fontoura Google, Inc This talk Largely based on the paper Evaluation Strategies for Top-k Queries over Memory-Resident Inverted Indices, VLDB
More informationData Blocks: Hybrid OLTP and OLAP on compressed storage
Data Blocks: Hybrid OLTP and OLAP on compressed storage Ben Brümmer Technische Universität München Fürstenfeldbruck, 26. November 208 Ben Brümmer 26..8 Lehrstuhl für Datenbanksysteme Problem HDD/Archive/Tape-Storage
More informationData-Intensive Distributed Computing
Data-Intensive Distributed Computing CS 45/65 43/63 (Winter 08) Part 3: Analyzing Text (/) January 30, 08 Jimmy Lin David R. Cheriton School of Computer Science University of Waterloo These slides are
More informationUnderstanding Your Audience: Using Probabilistic Data Aggregation Jason Carey Software Engineer, Data
Understanding Your Audience: Using Probabilistic Data Aggregation Jason Carey Software Engineer, Data Products @jmcarey The Vision Insights Audience API Fast, ad hoc aggregate queries 10+ proprietary demographic
More informationBig Data Analytics CSCI 4030
High dim. data Graph data Infinite data Machine learning Apps Locality sensitive hashing PageRank, SimRank Filtering data streams SVM Recommen der systems Clustering Community Detection Queries on streams
More informationGIN in 9.4 and further
GIN in 9.4 and further Heikki Linnakangas, Alexander Korotkov, Oleg Bartunov May 23, 2014 Two major improvements 1. Compressed posting lists Makes GIN indexes smaller. Smaller is better. 2. When combining
More informationIn-Memory Data Structures and Databases Jens Krueger
In-Memory Data Structures and Databases Jens Krueger Enterprise Platform and Integration Concepts Hasso Plattner Intitute What to take home from this talk? 2 Answer to the following questions: What makes
More informationFIBONACCI CODING AND A CARD TRICK
FIBONACCI CODING AND A CARD TRICK By Kiran Ananthpur Bacche [Author of Mathematical Approach to Puzzle Solving ] Fibonacci Series is a series of numbers such that each number in the series is a sum of
More informationCMSC424: Database Design. Instructor: Amol Deshpande
CMSC424: Database Design Instructor: Amol Deshpande amol@cs.umd.edu Databases Data Models Conceptual representa1on of the data Data Retrieval How to ask ques1ons of the database How to answer those ques1ons
More informationMySQL Indexing. Best Practices for MySQL 5.6. Peter Zaitsev CEO, Percona MySQL Connect Sep 22, 2013 San Francisco,CA
MySQL Indexing Best Practices for MySQL 5.6 Peter Zaitsev CEO, Percona MySQL Connect Sep 22, 2013 San Francisco,CA For those who Does not Know Us Percona Helping Businesses to be Successful with MySQL
More informationMemory management units
Memory management units Memory management unit (MMU) translates addresses: CPU logical address memory management unit physical address main memory Computers as Components 1 Access time comparison Media
More informationMain-Memory Databases 1 / 25
1 / 25 Motivation Hardware trends Huge main memory capacity with complex access characteristics (Caches, NUMA) Many-core CPUs SIMD support in CPUs New CPU features (HTM) Also: Graphic cards, FPGAs, low
More informationMEMORY: SWAPPING. Shivaram Venkataraman CS 537, Spring 2019
MEMORY: SWAPPING Shivaram Venkataraman CS 537, Spring 2019 ADMINISTRIVIA - Project 2b is out. Due Feb 27 th, 11:59 - Project 1b grades are out Lessons from p2a? 1. Start early! 2. Sketch out a design?
More informationPredictive Analysis: Evaluation and Experimentation. Heejun Kim
Predictive Analysis: Evaluation and Experimentation Heejun Kim June 19, 2018 Evaluation and Experimentation Evaluation Metrics Cross-Validation Significance Tests Evaluation Predictive analysis: training
More informationIntroduction to Information Retrieval
Introduction to Information Retrieval http://informationretrieval.org IIR 5: Index Compression Hinrich Schütze Center for Information and Language Processing, University of Munich 2014-04-17 1/59 Overview
More informationCAS CS 460/660 Introduction to Database Systems. Query Evaluation II 1.1
CAS CS 460/660 Introduction to Database Systems Query Evaluation II 1.1 Cost-based Query Sub-System Queries Select * From Blah B Where B.blah = blah Query Parser Query Optimizer Plan Generator Plan Cost
More informationHigh Performance Solr. Shalin Shekhar Mangar
High Performance Solr Shalin Shekhar Mangar Performance constraints CPU Memory Disk Network 2 Tuning (CPU) Queries Phrase query Boolean query (AND) Boolean query (OR) Wildcard Fuzzy Soundex roughly in
More informationAnnouncement. Reading Material. Overview of Query Evaluation. Overview of Query Evaluation. Overview of Query Evaluation 9/26/17
Announcement CompSci 516 Database Systems Lecture 10 Query Evaluation and Join Algorithms Project proposal pdf due on sakai by 5 pm, tomorrow, Thursday 09/27 One per group by any member Instructor: Sudeepa
More informationEfficiency. Efficiency: Indexing. Indexing. Efficiency Techniques. Inverted Index. Inverted Index (COSC 488)
Efficiency Efficiency: Indexing (COSC 488) Nazli Goharian nazli@cs.georgetown.edu Difficult to analyze sequential IR algorithms: data and query dependency (query selectivity). O(q(cf max )) -- high estimate-
More informationQuery Evaluation Strategies
Introduction to Search Engine Technology Term-at-a-Time and Document-at-a-Time Evaluation Ronny Lempel Yahoo! Research (Many of the following slides are courtesy of Aya Soffer and David Carmel, IBM Haifa
More information7. Query Processing and Optimization
7. Query Processing and Optimization Processing a Query 103 Indexing for Performance Simple (individual) index B + -tree index Matching index scan vs nonmatching index scan Unique index one entry and one
More informationADVANCED HBASE. Architecture and Schema Design GeeCON, May Lars George Director EMEA Services
ADVANCED HBASE Architecture and Schema Design GeeCON, May 2013 Lars George Director EMEA Services About Me Director EMEA Services @ Cloudera Consulting on Hadoop projects (everywhere) Apache Committer
More informationWeb Information Retrieval Exercises Boolean query answering. Prof. Luca Becchetti
Web Information Retrieval Exercises Boolean query answering Prof. Luca Becchetti Material rif 3. Christopher D. Manning, Prabhakar Raghavan and Hinrich Schueze, Introduction to Information Retrieval, Cambridge
More informationMySQL Indexing. Best Practices. Peter Zaitsev, CEO Percona Inc August 15, 2012
MySQL Indexing Best Practices Peter Zaitsev, CEO Percona Inc August 15, 2012 You ve Made a Great Choice! Understanding indexing is crucial both for Developers and DBAs Poor index choices are responsible
More informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY Database Systems: Fall 2008 Quiz II
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.830 Database Systems: Fall 2008 Quiz II There are 14 questions and 11 pages in this quiz booklet. To receive
More informationDatabase Architectures
Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL
More informationHow to tackle performance issues when implementing high traffic multi-language search engine with Solr/Lucene
How to tackle performance issues when implementing high traffic multi-language search engine with Solr/Lucene André Bois-Crettez Anca Kopetz Software Architect Software Engineer Berlin Buzzwords 2014 Outline
More informationAn In-Depth Analysis of Data Aggregation Cost Factors in a Columnar In-Memory Database
An In-Depth Analysis of Data Aggregation Cost Factors in a Columnar In-Memory Database Stephan Müller, Hasso Plattner Enterprise Platform and Integration Concepts Hasso Plattner Institute, Potsdam (Germany)
More informationTag a Tiny Aggregation Service for Ad-Hoc Sensor Networks. Samuel Madden, Michael Franklin, Joseph Hellerstein,Wei Hong UC Berkeley Usinex OSDI 02
Tag a Tiny Aggregation Service for Ad-Hoc Sensor Networks Samuel Madden, Michael Franklin, Joseph Hellerstein,Wei Hong UC Berkeley Usinex OSDI 02 Outline Introduction The Tiny AGgregation Approach Aggregate
More informationIn-Memory Data Management Jens Krueger
In-Memory Data Management Jens Krueger Enterprise Platform and Integration Concepts Hasso Plattner Intitute OLTP vs. OLAP 2 Online Transaction Processing (OLTP) Organized in rows Online Analytical Processing
More informationTrack Join. Distributed Joins with Minimal Network Traffic. Orestis Polychroniou! Rajkumar Sen! Kenneth A. Ross
Track Join Distributed Joins with Minimal Network Traffic Orestis Polychroniou Rajkumar Sen Kenneth A. Ross Local Joins Algorithms Hash Join Sort Merge Join Index Join Nested Loop Join Spilling to disk
More informationParallel DBs. April 25, 2017
Parallel DBs April 25, 2017 1 Why Scale Up? Scan of 1 PB at 300MB/s (SATA r2 Limit) (x1000) ~1 Hour ~3.5 Seconds 2 Data Parallelism Replication Partitioning A A A A B C 3 Operator Parallelism Pipeline
More informationDatabase Applications (15-415)
Database Applications (15-415) DBMS Internals- Part VII Lecture 15, March 17, 2014 Mohammad Hammoud Today Last Session: DBMS Internals- Part VI Algorithms for Relational Operations Today s Session: DBMS
More informationAdvanced Indexing Techniques with Lucene
Advanced Indexing Techniques with Lucene Michael Busch buschmi@{apache.org, us.ibm.com} 1 1 Advanced Indexing Techniques with Lucene Agenda Introduction - Lucene s data structures 101 - Payloads - Numeric
More informationOutline. Database Management and Tuning. Outline. Join Strategies Running Example. Index Tuning. Johann Gamper. Unit 6 April 12, 2012
Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 6 April 12, 2012 1 Acknowledgements: The slides are provided by Nikolaus Augsten
More information1. With respect to space, linked lists are and arrays are.
1. With respect to space, linked lists are and arrays are. 1. With respect to space, linked lists are good and arrays are bad. 2. With respect to time, linked lists are and arrays are. 2. With respect
More informationGuest Lecture. Daniel Dao & Nick Buroojy
Guest Lecture Daniel Dao & Nick Buroojy OVERVIEW What is Civitas Learning What We Do Mission Statement Demo What I Do How I Use Databases Nick Buroojy WHAT IS CIVITAS LEARNING Civitas Learning Mid-sized
More informationDatabase Applications (15-415)
Database Applications (15-415) DBMS Internals- Part VI Lecture 14, March 12, 2014 Mohammad Hammoud Today Last Session: DBMS Internals- Part V Hash-based indexes (Cont d) and External Sorting Today s Session:
More informationOverview of DB & IR. ICS 624 Spring Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa
ICS 624 Spring 2011 Overview of DB & IR Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 1/12/2011 Lipyeow Lim -- University of Hawaii at Manoa 1 Example
More informationData Warehouse Tuning. Without SQL Modification
Data Warehouse Tuning Without SQL Modification Agenda About Me Tuning Objectives Data Access Profile Data Access Analysis Performance Baseline Potential Model Changes Model Change Testing Testing Results
More informationV.2 Index Compression
V.2 Index Compression Heap s law (empirically observed and postulated): Size of the vocabulary (distinct terms) in a corpus E[ distinct terms in corpus] n with total number of term occurrences n, and constants,
More informationMG4J: Managing Gigabytes for Java. MG4J - intro 1
MG4J: Managing Gigabytes for Java MG4J - intro 1 Managing Gigabytes for Java Schedule: 1. Introduction to MG4J framework. 2. Exercitation: try to set up a search engine on a particular collection of documents.
More informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY Database Systems: Fall 2015 Quiz I
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.830 Database Systems: Fall 2015 Quiz I There are 12 questions and 13 pages in this quiz booklet. To receive
More informationUpdateable fields in Lucene and other Codec applications. Andrzej Białecki
Updateable fields in Lucene and other Codec applications Andrzej Białecki Codec API primer Agenda Some interesting Codec applications TeeCodec and TeeDirectory FilteringCodec Single-pass IndexSplitter
More informationInformation Retrieval. Lecture 3 - Index compression. Introduction. Overview. Characterization of an index. Wintersemester 2007
Information Retrieval Lecture 3 - Index compression Seminar für Sprachwissenschaft International Studies in Computational Linguistics Wintersemester 2007 1/ 30 Introduction Dictionary and inverted index:
More informationInformation Retrieval
Introduction to Information Retrieval CS3245 Information Retrieval Lecture 6: Index Compression 6 Last Time: index construction Sort- based indexing Blocked Sort- Based Indexing Merge sort is effective
More informationBuilding an Inverted Index
Building an Inverted Index Algorithms Memory-based Disk-based (Sort-Inversion) Sorting Merging (2-way; multi-way) 2 Memory-based Inverted Index Phase I (parse and read) For each document Identify distinct
More informationBoolean retrieval & basics of indexing CE-324: Modern Information Retrieval Sharif University of Technology
Boolean retrieval & basics of indexing CE-324: Modern Information Retrieval Sharif University of Technology M. Soleymani Fall 2016 Most slides have been adapted from: Profs. Manning, Nayak & Raghavan lectures
More informationSepand Gojgini. ColumnStore Index Primer
Sepand Gojgini ColumnStore Index Primer SQLSaturday Sponsors! Titanium & Global Partner Gold Silver Bronze Without the generosity of these sponsors, this event would not be possible! Please, stop by the
More informationDatabase Systems. Announcement. December 13/14, 2006 Lecture #10. Assignment #4 is due next week.
Database Systems ( 料 ) December 13/14, 2006 Lecture #10 1 Announcement Assignment #4 is due next week. 2 1 Overview of Query Evaluation Chapter 12 3 Outline Query evaluation (Overview) Relational Operator
More informationUsing Apache Spark for generating ElasticSearch indices offline
Using Apache Spark for generating ElasticSearch indices offline Andrej Babolčai ESET Database systems engineer Apache: Big Data Europe 2016 Who am I Software engineer in database systems team Responsible
More informationSelf Test Solutions. Introduction. New Requirements for Enterprise Computing. 1. Rely on Disks Does an in-memory database still rely on disks?
Self Test Solutions Introduction 1. Rely on Disks Does an in-memory database still rely on disks? (a) Yes, because disk is faster than main memory when doing complex calculations (b) No, data is kept in
More informationMain Memory: Address Translation
Main Memory: Address Translation (Chapter 8) CS 4410 Operating Systems Can t We All Just Get Along? Physical Reality: different processes/threads share the same hardware à need to multiplex CPU (temporal)
More informationCSE 373: Data Structures and Algorithms
CSE 373: Data Structures and Algorithms Lecture 19: Comparison Sorting Algorithms Instructor: Lilian de Greef Quarter: Summer 2017 Today Intro to sorting Comparison sorting Insertion Sort Selection Sort
More information6.830 Lecture Spark 11/15/2017
6.830 Lecture 19 -- Spark 11/15/2017 Recap / finish dynamo Sloppy Quorum (healthy N) Dynamo authors don't think quorums are sufficient, for 2 reasons: - Decreased durability (want to write all data at
More informationElasticsearch Scalability and Performance
The Do's and Don ts of Elasticsearch Scalability and Performance Patrick Peschlow Think hard about your mapping Think hard about your mapping Which fields to analyze? How to analyze them? Need term frequencies,
More informationFrom SQL-query to result Have a look under the hood
From SQL-query to result Have a look under the hood Classical view on RA: sets Theory of relational databases: table is a set Practice (SQL): a relation is a bag of tuples R π B (R) π B (R) A B 1 1 2
More informationBig Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2017)
Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 07) Week 4: Analyzing Text (/) January 6, 07 Jimmy Lin David R. Cheriton School of Computer Science University of Waterloo These slides
More information