8. Secondary and Hierarchical Access Paths

Size: px
Start display at page:

Download "8. Secondary and Hierarchical Access Paths"

Transcription

1 8. Secondary and Access Paths Theo Härder Main reference: Theo Härder, Erhard Rahm: Datenbanksysteme Konzepte und Techniken der Implementierung, Springer, 2, Chapter 8. Patrick O Neil, Elizabeth O Neil: Database Principles, Programming, Performance, 2nd edition, Morgan Kaufmann Publ., 2, Chapter 8. 2 AG DBIS of Database Systems SS 2 Secondary and Access Paths Goals Design principles for to all qualified records of a table Evaluation of search predicates by set-theoretic operations Mapping choices for hierarchical requirements Access via secondary keys Entry structure and link structure Use of pointer lists and compressed bit lists Run length, Null-sequence, Golomb codes Multi-mode, block Huffman codes Merged (generalized path structure) Join and path index 2 AG DBIS 8-2

2 Connection Structures for Record Sets Materialized storage. Physical contiguity of records (clustering, lists) 2. Chaining of records record record 2 record 3 record record 2 record 3 Referenced storage 3. Physical contiguity of pointers (inversion) 4. Chaining of pointer record record 2 record 3 record record 2 record 3 2 AG DBIS 8-3 Access Paths for Secondary Keys Search for records having given values of non-identifying attributes (secondary keys) Result is record set Dno A2 A3 A2... Eno Dno Loc Salary 2345 A2 KL A2 MA A3 KL A2 MA A3 F A2 KL 5 Loc KL MA F... : entry structure + link structure Primary key applicable as entry structure to record sets In principle, all connection structures can be used for record sets most frequently: use of B*-trees and inversion techniques Standard solution for inversion are sequential reference lists (often called OID lists or TID lists) efficient processing of set operations cost-effective maintenance 2 AG DBIS 8-4

3 Access Paths for Secondary Keys (2) Frequent realization: inversion Separation of path data and data records (referenced storage) Reference Z realized as TID, DBK/PPP,... Two representation methods are possible: a) Combined representation of lookup structure and pointer lists key pointer lists K2 4 Z Z Z Z K3 3 Z Z Z K2 Z... relatively short pointer lists assumed! b) In the lookup structure, there exists (similar to for primary keys) only a single reference per key value which points to a list with references to records (pointer list) key K2 4 K3 3 K2. Z Z Z Z Z Z Z pointer lists are managed in separate containers 2 AG DBIS 8-5 Z Access Paths for Secondary Keys (3) I table Emp Emp (Dno) K25 K6 K99 Emp ( Eno, Name, Dno, ) E Müller K55 E7 Maier K5 E25 Schmitt K55 K8 K3 K25 K33 K45 K6 K75 K86 K99 K5 2 TID TID k K55 n TID TID 2... TID n K6 2 TID l TID k B*-tree as path for secondary key Dno represents sort order of secondary keys and forward/backward chaining Complex search operation Range search Generic search Mask search (LIKE) Phonetic search 2 AG DBIS 8-6

4 Access Paths for Secondary Keys (4) Use for Information Retrieval Unformatted data: documents Inversion by means of descriptors (no assignment to attributes!) system Z D Z D29... Z D bit list bit list Z D57 Z D32... Z D777 Z D595 very many and very few references are possible Inversion using bit lists Addressing of data records or documents - Via allocation table AT - Directly in case of fixed length and contiguous storage Markings in the bit list correspond to entries of AT or computable addresses (b records per page) Attribute A has j attribute values a,..., a j 2 AG DBIS 8-7 Access Paths for Secondary Keys (5) Bit matrix for A n a a 2 a j Storage as vertical bit lists enables indexing of multi-valued attributes (example: shopping cart with products) s of fixed length j i bit lists of attribute A i Simple update operations Fast comparison Very space consuming Only for small j Often long null sequences: 2 AG DBIS 8-8

5 Access Paths for Secondary Keys (6) Compressed bit lists of variable length Space saving Reduction of I/O time Additional overhead for coding and decoding Fast comparison Ponderous update operations Application areas of Data Warehouse (inversion of Fact table) Transfer/storage of - Multimedia objects (Image, Audio, Video,...) - Sparse matrices - Objects in Geo-DBs,... Many techniques available 2 AG DBIS 8-9 Compression of Bit Lists Run length A run is a bit sequence of uniform bit marks. The uncompressed bit list is divided into subsequent alternating sequences of s and s. The technique represents each run in a coding sequence by its length (stored as a binary number). A coding sequence can be composed of several coding units of fixed length (k bits). In case of a run length larger than (2 k -) bits, a coding sequence having more than one coding units has to be used for the mapping. Compression of a run of length L with (n-) (2 k -) < L n (2 k -), n =, 2, requires n coding units, where the first (n-) coding units are completely filled with s (low value) which allows to recognize that subsequent coding units belong to a coding sequence. Checking each coding unit for low values needs an extra test in case of de; such an implicit continuation mark of a sequence prevents that the method fails for sequences of lengths > 2 k. Example (k=6): run length coding list of marks: 4, 5, 5, 5 2 AG DBIS 8-

6 Compression of Bit Lists (2) Null sequence A Null sequence is a sequence of bits between two bits in the uncompressed bit list. The basic idea of the method is to represent the bit list only by subsequent null sequences, where a bit is implicitly expressed in each case. Because now length L= of a Null sequence can happen, the following coding can be chosen (k=6), which corresponds to the addition of binary numbers 2 k -: length of null sequence coding Because a coding sequence can be composed in an additive way by several coding units, null sequences of arbitrary lengths can be represented. n coding units are required if for L holds: (n-) (2 k -) L < n (2 k -), n =, 2, list of marks: 4, 5, 5, 5 k=6 2 AG DBIS 8- Compression of Bit Lists (3) Golomb coding (for null sequence ) A Null sequence of length L is represented by a coding sequence consisting of a variable-length prefix, a separator bit, and a remainder field of fixed length using log 2 m bits. The prefix is composed of L/m bits followed by a bit as separator. The remainder contains (as a binary number) the number of remaining bits of the Null sequence: L - m*l/m L/m. This method enables the of arbitrary long Null sequences (improved by Exp-Golomb), independent of the chosen parameters. If p is the -bit probability in the bit list, parameter m should be chosen such that p m.5. Example (m=4): Null sequence m m m m prefix remainder separator list of marks: 4, 5, 5, 5 m=8 2 AG DBIS 8-2

7 Compression of Bit Lists (4) Multi-mode Some bits of a coding sequence of fixed length k are reserved as so-called type bits to mark different modes of a coding sequence. A single type bit enables two modes: : k- bits of the sequence are stored as bit pattern ; : 2 k- - bits of a Null sequence are expressed by a binary number Example list of marks: 4, 5, 5, 5 k=6, single type bit 2 AG DBIS 8-3 Compression of Bit Lists (5) Multi-mode (cont.) Because of the restricted k, long Null sequences require the use of several subsequent coding sequences. Furthermore, isolated s in a bit list need a separate coding sequence to code them as a bit pattern. Reserving a further type bit enables greater flexibility with, for example, the following four modes: : k-2 bits of the sequence are stored as bit pattern; : 2 k-2 - bits are encoded as a sequence of s by a binary number; : 2 k-2 - bits are encoded as Null sequence by a binary number; : 2 2k-2 - bits are encoded as Null sequence in a doubled coding sequence If an -sequence is large enough to compress any Null sequence, isolated s could be implicitly expressed Example list of marks: 4, 5, 5, 5 k=8, two type bits 2 AG DBIS 8-4

8 Compression of Bit Lists (6) Block The uncompressed bit list is divided into blocks of length k. A first method replaces the individual blocks by codes of variable length. If the probabilities of specific bit patterns are known or can be estimated, Huffman codes can be used. Using block length k, 2 k different patterns require 2 k code words of variable length (use of a translation table with optimally assigned code words). A second method stores only blocks where at least one bit occurs. To mark the blocks (low value blocks) which are not stored, a second bit list is used as a directory, in which each mark corresponds to a block stored. Because long Null sequences may occur in the directory, it again can be compressed using null-sequence- or multi-mode-. The idea to apply again block on the directory, leads to hierarchical block. It can be recursively continued until the elimination of Null sequences is not worth it. Starting from the highest hierarchy level, the uncompressed bit list (index depth d) can be easily reconstructed. 2 AG DBIS 8-5 Compression of Bit Lists (7) root level inner nodes level 2 leaves level Example node size l = 4 and index depth d = 3 indexed set S = {2, 3, 9, 2, 3, 4, 38, 4} physical storage AG DBIS 8-6

9 Optimal Codes Extended binary trees with minimal external path length can be used to design optimal codes for n+ characters Sequence to be coded: A A B C A A B B C A D B A B A (5 characters) Codes of fixed length: 2 bit A =... D = C 2Bit = 5 * 2 = 3 Are there better codings? character frequency code no character is prefix of another one E w = C Code Decoding can be performed with the same extended binary tree used to determine the codes Proceeding: A A B C A... =..... = A A B C A... 2 AG DBIS 8-7 Huffman Algorithm The minimal coding can be derived using extended binary trees having minimal weighted external path length. The resulting codes are called Huffman codes. Algorithm for the construction of binary trees with minimal weighted external path length Given: List of trees which initially consists of n external nodes as roots. The frequencies q i are carried by the roots of the trees Idea: Determine the two trees with the lowest frequencies and remove them from the list. By means of a new root, both trees found are composed as left and right subtree to a new tree and inserted into the list. external nodes n- trees = internal nodes Algorithm: Huffman (TreeList list, int n) for (i = ; i < n; i += ) { p = smallest element from list remove p from list p2 = smallest element from list remove p2 from list create node p attach p and p2 as subtrees to p determine the weight of p as sum of the weights p and p2 insert p into list } 2 AG DBIS 8-8

10 Huffman Algorithm (2) Execution example T T2 T3 T4 T5 q i T T2 T3 T4 E w = E w Cost: n n 2 C C ( n i) C( n )( n ) O( n ) i 2 2 AG DBIS 8-9 Assignment of Huffman-Codes Example Bitstring L i O i value range 48 [-2.8x 4, -4.3x 9 ] 32 [-4.3x 9, ] 6 [ , -444] 2 [-444, -345] 8 [-344, -89] 6 [-88, -25] 4 [-24, -9] 3 [-8, -] 3 [, 7] 4 [8, 23] 6 [24, 87] 8 [88, 343] 2 [344, 4439] 6 [444, 69975] 32 [69976, 4.3x 9 ] 48 [3.3x 9, 2.8x 4 ] Bitstring L i O i value range 2 [-8485, -699] 6 [-6999, -4374] 2 [-4373, -278] 8 [-277, -22] 4 [-2, -6] 2 [-5, -2] [-, ] [, ] [2, 3] 2 [4, 7] 4 [8, 23] 8 [24, 279] 2 [28, 4375] 6 [4376, 699] 2 [6992, 8487] 2 AG DBIS 8-2

11 Access Paths of functional relationships among two record types Owner Member: Set types according to the network model Each instance of an Owner record type is linked to..n instances of the Member record type Logical view: Illustration of navigation options Dno Mno D-Loc Owner Dept: PRIOR K2 ABEL KL LAST/PRIOR FIRST/NEXT NEXT OWNER OWNER OWNER NEXT NEXT Member Emp: 234 K2 DA K2 KL K2 KL 5 Eno Dno Loc Salary PRIOR PRIOR K3 SCHULZ DA 6927 K3 DA K3 FR 55 Three implementations for different performance requirements 2 AG DBIS 8-2 Access Paths Implementation Sequential list based on pages SET OWNER Last SET MEMBER SET MEMBER 2 SET MEMBER 3 SET MEMBER 4 Chained list SET OWNER Last/PRIOR SET MEMBER SET MEMBER 2 SET MEMBER 3 SET MEMBER 4 : optional pointer 2 AG DBIS 8-22

12 Access Paths Implementation (2) Pointer array structure ENTRY SET OWNER POINTER-ARRAY ENTRY ENTRY ENTRY SET MEMBER SET MEMBER 2 SET MEMBER 3 SET MEMBER 4 : optional pointer 2 AG DBIS 8-23 Access Paths Evaluation of Implementation Techniques Pointer array Stable performance behavior Behavior independent of Set growth and Set sequence Standard method in case of imprecise information concerning Set size and frequency Sequential list Restricted to a single Set type per Member record type (clustering) Fast location / insertion in Set sequence Updates more expensive than for pointer array Chained list Advantages in case of membership of the Member record type in several Sets Cheap switch to other Set occurrences Sequential faster than for pointer array Only useful in small Set occurrences 2 AG DBIS 8-24

13 Access Path Structure Idea: Shared exploitation of an index structure (B*-tree) for several record types for which the relationships (:, :n, n:m) are defined over the same domain (e.g. for Dno) and represented by equality of attribute values Dept Emp Use of the Index structure for primary key e.g. as I Dept (Dno) secondary key e.g. as I Emp (Dno) hierarchical e.g. of Dept(Dno) to Emp(Dno) or vice versa join operations (Join) e.g. of Dept.Dno = Emp.Dno Mgr Equipment all tables carry an attribute (e.g. Dno) which is defined on domain Deptno Combined realization of primary key, secondary key, and hierarchical using an extended B*-tree Inner tree nodes remain unchanged Leaves contain references for primary and secondary 2 AG DBIS 8-25 B*-Tree as Combined Access Path Structure I Emp (Dno) K25 K6 K99 K8 K3 K25 K33 K45 K6 K75 K86 K99 K5 2 TID TID k K55 n TID TID 2... TID n K6 2 TID l TID k I Emp/Dept (Dno) K25 K6 K99 K8 K3 K25 K33 K45 K6 K75 K86 K99... K55 n TID TID TID 2... TID n... Structure contains index for Dept, Emp and link for Dept-Emp with direct from. OWNER to each MEMBER, 2. Each MEMBER to each other MEMBER, 3. Each MEMBER to the OWNER 2 AG DBIS 8-26

14 B*-Tree as Access Path Structure I Emp/Dept/Mgr/Equip (Dno) K25 K6 K99 K8 K3 K25 K33 K45 K6 K75 K86 K99 TIDs for Dept TIDs for Mgr... K TID TID TID TID TID TID TID TID TID... PRIOR NEXT TIDs for Emp TIDs for optional Equipment reference to overflow page Access path structure comprises -4 index structures - 6 link structures 2 AG DBIS 8-27 Access Path Structure Evaluation Keys are stored only once Saving of storage space Uniform structure for all path types Simplification of implementation ti Support of join operation and certain statistical queries Simple checking of referential integrity and further integrity constraints (e.g., cardinality restrictions) Increased number of leaf pages More page es in case of scanning all records of a record type in sort order Height of the tree remains stable in most cases Similar performance behavior for locating data and update 2 AG DBIS 8-28

15 Join and Path Indexes Join index The join index VI between two tables V and S (not necessarily disjoint) with the join attributes A and B is defined as follows: VI = {(v.tid, s.tid) f(v.a, s.b) is TRUE, v V, s S} f denotes a Boolean function which defines the join predicate, which may be very complex. Especially, -joins ( {=,, <,, >, }) can be specified in this way. Application of selection predicates and parallelism for the join VI V : VI S : V S V S S V TID s4 TID v TID s3 TID s2 TID v TID s3 TID s2 TID s3 TID v TID s2 TID s4 TID s4 TID s6 TID s6 TID s6 logical view Index auf TID V Index auf TID S 2 AG DBIS 8-29 Join and Path Indexes (2) Multi-join index Generalization of the idea to efficiently process join operations via a statically computed join index (compile time instead of runtime) Index for a two-way join is used to determine the join partners in a third table T and to extend the index table by a column for the TID ti. If two index tables for VS and ST already exist, these can be immediately used to combine them to an extended Index table VST If the VST join should contain only attributes of V and T, a VT index can be created. Column S is indispensable for the join computation Multi-join index (example) Index tables for the join: logical view V S S T V S T TID v TID s3 TID s2 TID t TID v TID s3 TID t2 TID s4 TID s3 TID t2 TID v TID s3 TID t3 TID s2 TID s3 TID t3 TID s4 TID t4 TID s4 TID t4 TID s4 TID t5 TID s4 TID t5 TID s2 TID t 2 AG DBIS 8-3

16 Join and Path Indexes (4) Example Given are the tables Dept, Emp, Proj and EP (Eno, Jno) which embodies an (n:m) relationship between Emp (Eno, Dno,...) and Proj (Jno,..., Loc). Q2: SELECT D.Dno, A.ANAME FROM Dept D, Emp E, EP M, Proj J WHERE DDno=EDno D.Dno E.Dno AND E.Eno = M.Eno AND M.Jno = J.Jno AND J.Loc = :X Extension to n tables possible Path index Integration of an index Loc into multi-join index DEMJ Enables evaluation of special queries on the index Assumption: multi-valued reference attributes in ORDBMS Analogous path expression to Q2: Dept.Employs-Emp.Works-at.Loc = :X Dept Emp EP Proj Loc TID a TID p TID m TID j Berlin TID a TID p2 TID m3 TID j Berlin TID a TID p2 TID m4 TID j2 Köln TID a2 TID p3 TID m5 TID j3 Bonn AG DBIS 8-3 Summary Access paths for secondary keys Entry structure: B*-tree etc. Link structure: pointer lists, bit lists Many methods available Support of set-theoretic theoretic operations Compression of bit lists Support of variable-length keys and entries required s are highly efficient in case of low domain cardinality Huffman codes allow for flexible adaptation to value distributions Support of join operations (relational model) Efficient processing of Set operations (network model) Link structure: chains, pointer lists, lists (adjustment to special workloads) path structure Support of primary key-, secondary key- and hierarchical es Also applicable as special join index Join and path Explicit construction of join results and their indexing Path only enable optimization of special queries 2 AG DBIS 8-32

10. Record-Oriented DB Interface

10. Record-Oriented DB Interface 10 Record-Oriented DB Interface Theo Härder wwwhaerderde Goals - Design principles for record-oriented and navigation on logical access paths - Development of a scan technique and a Main reference: Theo

More information

Indices. We consider B-Trees only

Indices. We consider B-Trees only We consider B-Trees only key attributes: a 1,..., a n data attributes: d 1,..., d m Often: one special data attribute holding the TID of a tuple Some notions: simple/complex key unique/non-unique index

More information

Kathleen Durant PhD Northeastern University CS Indexes

Kathleen Durant PhD Northeastern University CS Indexes Kathleen Durant PhD Northeastern University CS 3200 Indexes Outline for the day Index definition Types of indexes B+ trees ISAM Hash index Choosing indexed fields Indexes in InnoDB 2 Indexes A typical

More information

CS 525: Advanced Database Organization 04: Indexing

CS 525: Advanced Database Organization 04: Indexing CS 5: Advanced Database Organization 04: Indexing Boris Glavic Part 04 Indexing & Hashing value record? value Slides: adapted from a course taught by Hector Garcia-Molina, Stanford InfoLab CS 5 Notes 4

More information

Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 11: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 11: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

More information

Chapter 11: Indexing and Hashing" Chapter 11: Indexing and Hashing"

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing" Database System Concepts, 6 th Ed.! Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use " Chapter 11: Indexing and Hashing" Basic Concepts!

More information

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

More information

Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

Database System Concepts, 6 th Ed. Silberschatz, Korth and Sudarshan See  for conditions on re-use Chapter 11: Indexing and Hashing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files Static

More information

CSIT5300: Advanced Database Systems

CSIT5300: Advanced Database Systems CSIT5300: Advanced Database Systems L08: B + -trees and Dynamic Hashing Dr. Kenneth LEUNG Department of Computer Science and Engineering The Hong Kong University of Science and Technology Hong Kong SAR,

More information

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

More information

CSE 562 Database Systems

CSE 562 Database Systems Goal of Indexing CSE 562 Database Systems Indexing Some slides are based or modified from originals by Database Systems: The Complete Book, Pearson Prentice Hall 2 nd Edition 08 Garcia-Molina, Ullman,

More information

Exercise 9 Solution proposal

Exercise 9 Solution proposal Prof. Dr.-Ing. Dr. h. c. T. Härder Computer Science Department Databases and Information Systems University of Kaiserslautern Exercise 9 Solution proposal Documentation of the lecture: http://wwwlgis.informatik.uni-kl.de/cms/courses/realisierung/

More information

Access Methods. Basic Concepts. Index Evaluation Metrics. search key pointer. record. value. Value

Access Methods. Basic Concepts. Index Evaluation Metrics. search key pointer. record. value. Value Access Methods This is a modified version of Prof. Hector Garcia Molina s slides. All copy rights belong to the original author. Basic Concepts search key pointer Value record? value Search Key - set of

More information

Physical Design. Elena Baralis, Silvia Chiusano Politecnico di Torino. Phases of database design D B M G. Database Management Systems. Pag.

Physical Design. Elena Baralis, Silvia Chiusano Politecnico di Torino. Phases of database design D B M G. Database Management Systems. Pag. Physical Design D B M G 1 Phases of database design Application requirements Conceptual design Conceptual schema Logical design ER or UML Relational tables Logical schema Physical design Physical schema

More information

Physical Level of Databases: B+-Trees

Physical Level of Databases: B+-Trees Physical Level of Databases: B+-Trees Adnan YAZICI Computer Engineering Department METU (Fall 2005) 1 B + -Tree Index Files l Disadvantage of indexed-sequential files: performance degrades as file grows,

More information

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Chapter 12: Indexing and Hashing Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

Intro to DB CHAPTER 12 INDEXING & HASHING

Intro to DB CHAPTER 12 INDEXING & HASHING Intro to DB CHAPTER 12 INDEXING & HASHING Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing

More information

ITCT Lecture 6.1: Huffman Codes

ITCT Lecture 6.1: Huffman Codes ITCT Lecture 6.1: Huffman Codes Prof. Ja-Ling Wu Department of Computer Science and Information Engineering National Taiwan University Huffman Encoding 1. Order the symbols according to their probabilities

More information

Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan See for conditions on re-use

Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan See   for conditions on re-use Chapter 12: Indexing and Hashing Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

Indexing. Chapter 8, 10, 11. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1

Indexing. Chapter 8, 10, 11. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Indexing Chapter 8, 10, 11 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Tree-Based Indexing The data entries are arranged in sorted order by search key value. A hierarchical search

More information

Indexing and Hashing

Indexing and Hashing C H A P T E R 1 Indexing and Hashing This chapter covers indexing techniques ranging from the most basic one to highly specialized ones. Due to the extensive use of indices in database systems, this chapter

More information

Data on External Storage

Data on External Storage Advanced Topics in DBMS Ch-1: Overview of Storage and Indexing By Syed khutubddin Ahmed Assistant Professor Dept. of MCA Reva Institute of Technology & mgmt. Data on External Storage Prg1 Prg2 Prg3 DBMS

More information

What happens. 376a. Database Design. Execution strategy. Query conversion. Next. Two types of techniques

What happens. 376a. Database Design. Execution strategy. Query conversion. Next. Two types of techniques 376a. Database Design Dept. of Computer Science Vassar College http://www.cs.vassar.edu/~cs376 Class 16 Query optimization What happens Database is given a query Query is scanned - scanner creates a list

More information

CSIT5300: Advanced Database Systems

CSIT5300: Advanced Database Systems CSIT5300: Advanced Database Systems L11: Physical Database Design Dr. Kenneth LEUNG Department of Computer Science and Engineering The Hong Kong University of Science and Technology Hong Kong SAR, China

More information

Chapter 11: Indexing and Hashing

Chapter 11: Indexing and Hashing Chapter 11: Indexing and Hashing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files B-Tree

More information

CS 245: Database System Principles

CS 245: Database System Principles CS 2: Database System Principles Notes 4: Indexing Chapter 4 Indexing & Hashing value record value Hector Garcia-Molina CS 2 Notes 4 1 CS 2 Notes 4 2 Topics Conventional indexes B-trees Hashing schemes

More information

3.1.1 Cost model Search with equality test (A = const) Scan

3.1.1 Cost model Search with equality test (A = const) Scan Module 3: File Organizations and Indexes A heap file provides just enough structure to maintain a collection of records (of a table). The heap file supports sequential scans (openscan) over the collection,

More information

Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis

Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis 1 Advances in Data Management Principles of Database Systems - 2 A.Poulovassilis 1 Storing data on disk The traditional storage hierarchy for DBMSs is: 1. main memory (primary storage) for data currently

More information

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel

Indexing. Week 14, Spring Edited by M. Naci Akkøk, , Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Indexing Week 14, Spring 2005 Edited by M. Naci Akkøk, 5.3.2004, 3.3.2005 Contains slides from 8-9. April 2002 by Hector Garcia-Molina, Vera Goebel Overview Conventional indexes B-trees Hashing schemes

More information

Module 4: Tree-Structured Indexing

Module 4: Tree-Structured Indexing Module 4: Tree-Structured Indexing Module Outline 4.1 B + trees 4.2 Structure of B + trees 4.3 Operations on B + trees 4.4 Extensions 4.5 Generalized Access Path 4.6 ORACLE Clusters Web Forms Transaction

More information

Temporal Relations 369 / 482

Temporal Relations 369 / 482 Temporal Relations and Table Functions Temporal Relations The query optimizer might introduce temporal relations: a relations just for the query allows for reusing intermediate results related: temporary

More information

CSE100. Advanced Data Structures. Lecture 12. (Based on Paul Kube course materials)

CSE100. Advanced Data Structures. Lecture 12. (Based on Paul Kube course materials) CSE100 Advanced Data Structures Lecture 12 (Based on Paul Kube course materials) CSE 100 Coding and decoding with a Huffman coding tree Huffman coding tree implementation issues Priority queues and priority

More information

SQL Queries. COSC 304 Introduction to Database Systems SQL. Example Relations. SQL and Relational Algebra. Example Relation Instances

SQL Queries. COSC 304 Introduction to Database Systems SQL. Example Relations. SQL and Relational Algebra. Example Relation Instances COSC 304 Introduction to Database Systems SQL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca SQL Queries Querying with SQL is performed using a SELECT statement. The general

More information

COSC 304 Introduction to Database Systems SQL. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 304 Introduction to Database Systems SQL. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 304 Introduction to Database Systems SQL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca SQL Queries Querying with SQL is performed using a SELECT statement. The general

More information

Information Systems (Informationssysteme)

Information Systems (Informationssysteme) Information Systems (Informationssysteme) Jens Teubner, TU Dortmund jens.teubner@cs.tu-dortmund.de Summer 2018 c Jens Teubner Information Systems Summer 2018 1 Part IX B-Trees c Jens Teubner Information

More information

Systems Infrastructure for Data Science. Web Science Group Uni Freiburg WS 2014/15

Systems Infrastructure for Data Science. Web Science Group Uni Freiburg WS 2014/15 Systems Infrastructure for Data Science Web Science Group Uni Freiburg WS 2014/15 Lecture II: Indexing Part I of this course Indexing 3 Database File Organization and Indexing Remember: Database tables

More information

Datenbanksysteme II: Caching and File Structures. Ulf Leser

Datenbanksysteme II: Caching and File Structures. Ulf Leser Datenbanksysteme II: Caching and File Structures Ulf Leser Content of this Lecture Caching Overview Accessing data Cache replacement strategies Prefetching File structure Index Files Ulf Leser: Implementation

More information

Indexing: Overview & Hashing. CS 377: Database Systems

Indexing: Overview & Hashing. CS 377: Database Systems Indexing: Overview & Hashing CS 377: Database Systems Recap: Data Storage Data items Records Memory DBMS Blocks blocks Files Different ways to organize files for better performance Disk Motivation for

More information

An undirected graph is a tree if and only of there is a unique simple path between any 2 of its vertices.

An undirected graph is a tree if and only of there is a unique simple path between any 2 of its vertices. Trees Trees form the most widely used subclasses of graphs. In CS, we make extensive use of trees. Trees are useful in organizing and relating data in databases, file systems and other applications. Formal

More information

Physical Database Design: Outline

Physical Database Design: Outline Physical Database Design: Outline File Organization Fixed size records Variable size records Mapping Records to Files Heap Sequentially Hashing Clustered Buffer Management Indexes (Trees and Hashing) Single-level

More information

The Vagabond Temporal OID Index: An Index Structure for OID Indexing in Temporal Object Database Systems

The Vagabond Temporal OID Index: An Index Structure for OID Indexing in Temporal Object Database Systems The Vagabond Temporal OID Index: An Index Structure for OID Indexing in Temporal Object Database Systems Kjetil Nørvåg Department of Computer and Information Science Norwegian University of Science and

More information

CSE 530A. B+ Trees. Washington University Fall 2013

CSE 530A. B+ Trees. Washington University Fall 2013 CSE 530A B+ Trees Washington University Fall 2013 B Trees A B tree is an ordered (non-binary) tree where the internal nodes can have a varying number of child nodes (within some range) B Trees When a key

More information

CS301 - Data Structures Glossary By

CS301 - Data Structures Glossary By CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm

More information

Indexing Methods. Lecture 9. Storage Requirements of Databases

Indexing Methods. Lecture 9. Storage Requirements of Databases Indexing Methods Lecture 9 Storage Requirements of Databases Need data to be stored permanently or persistently for long periods of time Usually too big to fit in main memory Low cost of storage per unit

More information

Announcements. Reading Material. Recap. Today 9/17/17. Storage (contd. from Lecture 6)

Announcements. Reading Material. Recap. Today 9/17/17. Storage (contd. from Lecture 6) CompSci 16 Intensive Computing Systems Lecture 7 Storage and Index Instructor: Sudeepa Roy Announcements HW1 deadline this week: Due on 09/21 (Thurs), 11: pm, no late days Project proposal deadline: Preliminary

More information

System R Optimization (contd.)

System R Optimization (contd.) System R Optimization (contd.) Instructor: Sharma Chakravarthy sharma@cse.uta.edu The University of Texas @ Arlington Database Management Systems, S. Chakravarthy 1 Optimization Criteria number of page

More information

(Storage System) Access Methods Buffer Manager

(Storage System) Access Methods Buffer Manager 6.830 Lecture 5 9/20/2017 Project partners due next Wednesday. Lab 1 due next Monday start now!!! Recap Anatomy of a database system Major Components: Admission Control Connection Management ---------------------------------------(Query

More information

Text Compression through Huffman Coding. Terminology

Text Compression through Huffman Coding. Terminology Text Compression through Huffman Coding Huffman codes represent a very effective technique for compressing data; they usually produce savings between 20% 90% Preliminary example We are given a 100,000-character

More information

Modern Database Systems Lecture 1

Modern Database Systems Lecture 1 Modern Database Systems Lecture 1 Aristides Gionis Michael Mathioudakis T.A.: Orestis Kostakis Spring 2016 logistics assignment will be up by Monday (you will receive email) due Feb 12 th if you re not

More information

CARNEGIE MELLON UNIVERSITY DEPT. OF COMPUTER SCIENCE DATABASE APPLICATIONS

CARNEGIE MELLON UNIVERSITY DEPT. OF COMPUTER SCIENCE DATABASE APPLICATIONS CARNEGIE MELLON UNIVERSITY DEPT. OF COMPUTER SCIENCE 15-415 DATABASE APPLICATIONS C. Faloutsos Indexing and Hashing 15-415 Database Applications http://www.cs.cmu.edu/~christos/courses/dbms.s00/ general

More information

Greedy Approach: Intro

Greedy Approach: Intro Greedy Approach: Intro Applies to optimization problems only Problem solving consists of a series of actions/steps Each action must be 1. Feasible 2. Locally optimal 3. Irrevocable Motivation: If always

More information

CMPUT 391 Database Management Systems. Query Processing: The Basics. Textbook: Chapter 10. (first edition: Chapter 13) University of Alberta 1

CMPUT 391 Database Management Systems. Query Processing: The Basics. Textbook: Chapter 10. (first edition: Chapter 13) University of Alberta 1 CMPUT 391 Database Management Systems Query Processing: The Basics Textbook: Chapter 10 (first edition: Chapter 13) Based on slides by Lewis, Bernstein and Kifer University of Alberta 1 External Sorting

More information

Why Is This Important? Overview of Storage and Indexing. Components of a Disk. Data on External Storage. Accessing a Disk Page. Records on a Disk Page

Why Is This Important? Overview of Storage and Indexing. Components of a Disk. Data on External Storage. Accessing a Disk Page. Records on a Disk Page Why Is This Important? Overview of Storage and Indexing Chapter 8 DB performance depends on time it takes to get the data from storage system and time to process Choosing the right index for faster access

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) DBMS Internals- Part IV Lecture 14, March 10, 015 Mohammad Hammoud Today Last Two Sessions: DBMS Internals- Part III Tree-based indexes: ISAM and B+ trees Data Warehousing/

More information

Chapter 17. Disk Storage, Basic File Structures, and Hashing. Records. Blocking

Chapter 17. Disk Storage, Basic File Structures, and Hashing. Records. Blocking Chapter 17 Disk Storage, Basic File Structures, and Hashing Records Fixed and variable length records Records contain fields which have values of a particular type (e.g., amount, date, time, age) Fields

More information

Modern Systems Analysis and Design

Modern Systems Analysis and Design Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Designing Databases Learning Objectives Concisely define each of the following key database design terms:

More information

Remember. 376a. Database Design. Also. B + tree reminders. Algorithms for B + trees. Remember

Remember. 376a. Database Design. Also. B + tree reminders. Algorithms for B + trees. Remember 376a. Database Design Dept. of Computer Science Vassar College http://www.cs.vassar.edu/~cs376 Class 14 B + trees, multi-key indices, partitioned hashing and grid files B and B + -trees are used one implementation

More information

Representing Data Elements

Representing Data Elements Representing Data Elements Week 10 and 14, Spring 2005 Edited by M. Naci Akkøk, 5.3.2004, 3.3.2005 Contains slides from 18.3.2002 by Hector Garcia-Molina, Vera Goebel INF3100/INF4100 Database Systems Page

More information

Huffman Codes (data compression)

Huffman Codes (data compression) Huffman Codes (data compression) Data compression is an important technique for saving storage Given a file, We can consider it as a string of characters We want to find a compressed file The compressed

More information

Material You Need to Know

Material You Need to Know Review Quiz 2 Material You Need to Know Normalization Storage and Disk File Layout Indexing B-trees and B+ Trees Extensible Hashing Linear Hashing Decomposition Goals: Lossless Joins, Dependency preservation

More information

QUIZ: Buffer replacement policies

QUIZ: Buffer replacement policies QUIZ: Buffer replacement policies Compute join of 2 relations r and s by nested loop: for each tuple tr of r do for each tuple ts of s do if the tuples tr and ts match do something that doesn t require

More information

Tree-Structured Indexes

Tree-Structured Indexes Tree-Structured Indexes Chapter 9 Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Introduction As for any index, 3 alternatives for data entries k*: ➀ Data record with key value k ➁

More information

Step 4: Choose file organizations and indexes

Step 4: Choose file organizations and indexes Step 4: Choose file organizations and indexes Asst. Prof. Dr. Kanda Saikaew (krunapon@kku.ac.th) Dept of Computer Engineering Khon Kaen University Overview How to analyze users transactions to determine

More information

CSE 544 Principles of Database Management Systems

CSE 544 Principles of Database Management Systems CSE 544 Principles of Database Management Systems Alvin Cheung Fall 2015 Lecture 5 - DBMS Architecture and Indexing 1 Announcements HW1 is due next Thursday How is it going? Projects: Proposals are due

More information

Database index structures

Database index structures Database index structures From: Database System Concepts, 6th edijon Avi Silberschatz, Henry Korth, S. Sudarshan McGraw- Hill Architectures for Massive DM D&K / UPSay 2015-2016 Ioana Manolescu 1 Chapter

More information

Query Processing & Optimization

Query Processing & Optimization Query Processing & Optimization 1 Roadmap of This Lecture Overview of query processing Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Introduction

More information

Chapter 12: Query Processing. Chapter 12: Query Processing

Chapter 12: Query Processing. Chapter 12: Query Processing Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Query Processing Overview Measures of Query Cost Selection Operation Sorting Join

More information

CS 245: Database System Principles

CS 245: Database System Principles CS 245: Database System Principles Notes 03: Disk Organization Peter Bailis CS 245 Notes 3 1 Topics for today How to lay out data on disk How to move it to memory CS 245 Notes 3 2 What are the data items

More information

Chapter 13: Indexing. Chapter 13. ? value. Topics. Indexing & Hashing. value. Conventional indexes B-trees Hashing schemes (self-study) record

Chapter 13: Indexing. Chapter 13. ? value. Topics. Indexing & Hashing. value. Conventional indexes B-trees Hashing schemes (self-study) record Chapter 13: Indexing (Slides by Hector Garcia-Molina, http://wwwdb.stanford.edu/~hector/cs245/notes.htm) Chapter 13 1 Chapter 13 Indexing & Hashing value record? value Chapter 13 2 Topics Conventional

More information

Chapter 12: Indexing and Hashing (Cnt(

Chapter 12: Indexing and Hashing (Cnt( Chapter 12: Indexing and Hashing (Cnt( Cnt.) Basic Concepts Ordered Indices B+-Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition

More information

Tree-Structured Indexes

Tree-Structured Indexes Introduction Tree-Structured Indexes Chapter 10 As for any index, 3 alternatives for data entries k*: Data record with key value k

More information

CS122 Lecture 15 Winter Term,

CS122 Lecture 15 Winter Term, CS122 Lecture 15 Winter Term, 2014-2015 2 Index Op)miza)ons So far, only discussed implementing relational algebra operations to directly access heap Biles Indexes present an alternate access path for

More information

CS34800 Information Systems

CS34800 Information Systems CS34800 Information Systems Indexing & Hashing Prof. Chris Clifton 31 October 2016 First: Triggers - Limitations Many database functions do not quite work as expected One example: Trigger on a table that

More information

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 9: Query Processing - Algorithms. Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 9: Query Processing - Algorithms Gustavo Alonso Systems Group Department of Computer Science ETH Zürich Transactions (Locking, Logging) Metadata Mgmt (Schema, Stats) Application

More information

7. Query Processing and Optimization

7. 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 information

Lecture #16 (Physical DB Design)

Lecture #16 (Physical DB Design) Introduction to Data Management Lecture #16 (Physical DB Design) Instructor: Mike Carey mjcarey@ics.uci.edu Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Announcements v Homework info:

More information

Greedy Algorithms CHAPTER 16

Greedy Algorithms CHAPTER 16 CHAPTER 16 Greedy Algorithms In dynamic programming, the optimal solution is described in a recursive manner, and then is computed ``bottom up''. Dynamic programming is a powerful technique, but it often

More information

Trees, Part 1: Unbalanced Trees

Trees, Part 1: Unbalanced Trees Trees, Part 1: Unbalanced Trees The first part of this chapter takes a look at trees in general and unbalanced binary trees. The second part looks at various schemes to balance trees and/or make them more

More information

File Systems: Fundamentals

File Systems: Fundamentals File Systems: Fundamentals 1 Files! What is a file? Ø A named collection of related information recorded on secondary storage (e.g., disks)! File attributes Ø Name, type, location, size, protection, creator,

More information

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11 DATABASE PERFORMANCE AND INDEXES CS121: Relational Databases Fall 2017 Lecture 11 Database Performance 2 Many situations where query performance needs to be improved e.g. as data size grows, query performance

More information

Note that it works well to answer questions on computer instead of on the board.

Note that it works well to answer questions on computer instead of on the board. 1) SELECT pname FROM Proj WHERE budget > 250000; 2) SELECT eno FROM Emp where salary < 30000; 3) SELECT DISTINCT resp from WorksOn; 4) SELECT ename FROM Emp WHERE bdate > DATE 1970-07-01' and salary >

More information

Storage hierarchy. Textbook: chapters 11, 12, and 13

Storage hierarchy. Textbook: chapters 11, 12, and 13 Storage hierarchy Cache Main memory Disk Tape Very fast Fast Slower Slow Very small Small Bigger Very big (KB) (MB) (GB) (TB) Built-in Expensive Cheap Dirt cheap Disks: data is stored on concentric circular

More information

File Systems: Fundamentals

File Systems: Fundamentals 1 Files Fundamental Ontology of File Systems File Systems: Fundamentals What is a file? Ø A named collection of related information recorded on secondary storage (e.g., disks) File attributes Ø Name, type,

More information

EE 368. Weeks 5 (Notes)

EE 368. Weeks 5 (Notes) EE 368 Weeks 5 (Notes) 1 Chapter 5: Trees Skip pages 273-281, Section 5.6 - If A is the root of a tree and B is the root of a subtree of that tree, then A is B s parent (or father or mother) and B is A

More information

Overview of Storage and Indexing

Overview of Storage and Indexing Overview of Storage and Indexing Chapter 8 How index-learning turns no student pale Yet holds the eel of science by the tail. -- Alexander Pope (1688-1744) Database Management Systems 3ed, R. Ramakrishnan

More information

Indexing. Jan Chomicki University at Buffalo. Jan Chomicki () Indexing 1 / 25

Indexing. Jan Chomicki University at Buffalo. Jan Chomicki () Indexing 1 / 25 Indexing Jan Chomicki University at Buffalo Jan Chomicki () Indexing 1 / 25 Storage hierarchy Cache Main memory Disk Tape Very fast Fast Slower Slow (nanosec) (10 nanosec) (millisec) (sec) Very small Small

More information

Query optimization. Elena Baralis, Silvia Chiusano Politecnico di Torino. DBMS Architecture D B M G. Database Management Systems. Pag.

Query optimization. Elena Baralis, Silvia Chiusano Politecnico di Torino. DBMS Architecture D B M G. Database Management Systems. Pag. Database Management Systems DBMS Architecture SQL INSTRUCTION OPTIMIZER MANAGEMENT OF ACCESS METHODS CONCURRENCY CONTROL BUFFER MANAGER RELIABILITY MANAGEMENT Index Files Data Files System Catalog DATABASE

More information

15 July, Huffman Trees. Heaps

15 July, Huffman Trees. Heaps 1 Huffman Trees The Huffman Code: Huffman algorithm uses a binary tree to compress data. It is called the Huffman code, after David Huffman who discovered d it in 1952. Data compression is important in

More information

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe Introduction to Query Processing and Query Optimization Techniques Outline Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms

More information

Summary. 4. Indexes. 4.0 Indexes. 4.1 Tree Based Indexes. 4.0 Indexes. 19-Nov-10. Last week: This week:

Summary. 4. Indexes. 4.0 Indexes. 4.1 Tree Based Indexes. 4.0 Indexes. 19-Nov-10. Last week: This week: Summary Data Warehousing & Data Mining Wolf-Tilo Balke Silviu Homoceanu Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de Last week: Logical Model: Cubes,

More information

(i) It is efficient technique for small and medium sized data file. (ii) Searching is comparatively fast and efficient.

(i) It is efficient technique for small and medium sized data file. (ii) Searching is comparatively fast and efficient. INDEXING An index is a collection of data entries which is used to locate a record in a file. Index table record in a file consist of two parts, the first part consists of value of prime or non-prime attributes

More information

C-Store: A column-oriented DBMS

C-Store: A column-oriented DBMS Presented by: Manoj Karthick Selva Kumar C-Store: A column-oriented DBMS MIT CSAIL, Brandeis University, UMass Boston, Brown University Proceedings of the 31 st VLDB Conference, Trondheim, Norway 2005

More information

Understanding the Optimizer

Understanding 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 information

Big Data Management and NoSQL Databases

Big Data Management and NoSQL Databases NDBI040 Big Data Management and NoSQL Databases Lecture 10. Graph databases Doc. RNDr. Irena Holubova, Ph.D. holubova@ksi.mff.cuni.cz http://www.ksi.mff.cuni.cz/~holubova/ndbi040/ Graph Databases Basic

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Overview Catalog Information for Cost Estimation $ Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Transformation

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Overview Chapter 12: Query Processing Measures of Query Cost Selection Operation Sorting Join

More information

More Bits and Bytes Huffman Coding

More Bits and Bytes Huffman Coding More Bits and Bytes Huffman Coding Encoding Text: How is it done? ASCII, UTF, Huffman algorithm ASCII C A T Lawrence Snyder, CSE UTF-8: All the alphabets in the world Uniform Transformation Format: a variable-width

More information

Algorithms and Data Structures CS-CO-412

Algorithms and Data Structures CS-CO-412 Algorithms and Data Structures CS-CO-412 David Vernon Professor of Informatics University of Skövde Sweden david@vernon.eu www.vernon.eu Algorithms and Data Structures 1 Copyright D. Vernon 2014 Trees

More information