Bloom Filters. Christian Antognini Trivadis AG Zürich, Switzerland
|
|
|
- Anne Holland
- 10 years ago
- Views:
Transcription
1 Bloom Filters Christian Antognini Trivadis AG Zürich, Switzerland Oracle Database uses bloom filters in various situations. Unfortunately, no information about their usage is available in Oracle documentation. The aim of this paper is to explain not only what bloom filters are, but also, and foremost, to describe how Oracle Database makes use of them. What is a bloom filter? A bloom filter is not something new or specific to Oracle Database. In fact, it was first developed in 1970 by Burton H. Bloom [1] long before Oracle existed. That being the case, let me explain in general terms what a bloom filter is and for what it can be used for. A bloom filter is a data structure used to support membership queries. Simply put, a bloom filter is used to test whether an element is a member of a given set or not. Its main properties are: The amount of space needed to store the bloom filter is small compared to the amount of data belonging to the set being tested. The time needed to check whether an element is a member of a given set is independent of the number of elements contained in the set. False negatives are not possible. False positives are possible, but their frequency can be controlled. In practice, it is a tradeoff between space/time efficiency and the false positive frequency. A bloom filter is based on an array of m bits (b1, b2,, bm) that are initially set to 0. To understand how a bloom filter works, it is essential to describe how these bits are set and checked. For this purpose, k independent hash functions (h1, h2,, hk), each returning a value between 1 and m, are used. In order to store a given element into the bit array, each hash function must be applied to it and, based on the return value r of each function (r1, r2,, rk), the bit with the offset r is set to 1. Since there are k hash functions, up to k bits in the bit array are set to 1 (it might be less because several hash functions might return the same value). The following figure is an example where m=16, k=4 and e is the element to be stored in the bit array. To check whether an element is stored in the bit array, the process is similar. The only difference is that instead of setting k bits in the array, it is checked whether any of them are set to 0. If yes, this implies that the element is not stored in the bit array. Bloom Filters 1/7 June 2008
2 Let s take a look at an example that illustrates how a bloom filter might be used in practice. An application receives input data at a high throughput. Before processing it, it has to check whether that data belongs to a given set stored in a database table. Note that the rejection rate of this validation is very high. To perform the validation, the application has to call a remote service. Unfortunately, the time needed for the network roundtrip and to actually do the lookup is far too long. Since it is not possible to further optimize it (for example, the network latency is subject to physical limitations), another method must be implemented. In such cases, caches come to mind. The general idea is to duplicate the data stored remotely in a local cache and then to do the validation locally. In this specific case, let s say that it is not practicable. Not enough resources are available locally to store the data. In such a situation, a bloom filter might be useful. In fact, as described above, bloom filters need much less space than the actual set. Since the bloom filter is subject to false positives, the idea is to use it to discard the maximum amount of input data before calling the remote service. As a result, the original validation is not made faster but it is used much less frequently. A simple implementation in PL/SQL To provide you with a concrete example, I have written a very simple (in other words, neither space nor time efficient) bloom filter in PL/SQL. The package implementing it provides three routines: init to initialize the bloom filter add_value to store a string in the bit array contain to check whether a string is stored in the bit array This is the package specification: CREATE OR REPLACE PACKAGE bloom_filter IS PROCEDURE init (p_m IN BINARY_INTEGER, p_n IN BINARY_INTEGER); FUNCTION add_value (p_value IN VARCHAR2) RETURN BINARY_INTEGER; FUNCTION contain (p_value IN VARCHAR2) RETURN BINARY_INTEGER; END bloom_filter; Here is the package body (notice that for simplicity I decided to use the package dbms_random to implement the hash functions): CREATE OR REPLACE PACKAGE BODY bloom_filter IS TYPE t_bitarray IS TABLE OF BOOLEAN; g_bitarray t_bitarray; g_m BINARY_INTEGER; g_k BINARY_INTEGER; PROCEDURE init (p_m IN BINARY_INTEGER, p_n IN BINARY_INTEGER) IS BEGIN g_m := p_m; g_bitarray := t_bitarray(); g_bitarray.extend(p_m); FOR i IN g_bitarray.first..g_bitarray.last LOOP g_bitarray(i) := FALSE; END LOOP; g_k := ceil(p_m / p_n * ln(2)); END init; Bloom Filters 2/7 June 2008
3 FUNCTION add_value (p_value IN VARCHAR2) RETURN BINARY_INTEGER IS BEGIN dbms_random.seed(p_value); FOR i IN 0..g_k LOOP g_bitarray(dbms_random.value(1, g_m)) := TRUE; END LOOP; RETURN 1; END add_value; FUNCTION contain (p_value IN VARCHAR2) RETURN BINARY_INTEGER IS l_ret BINARY_INTEGER := 1; BEGIN dbms_random.seed(p_value); FOR i IN 0..g_k LOOP IF NOT g_bitarray(dbms_random.value(1, g_m)) THEN l_ret := 0; EXIT; END IF; END LOOP; RETURN l_ret; END contain; END bloom_filter; To test the package, a table containing 10,000 rows of 100 bytes each is created. CREATE TABLE t AS SELECT dbms_random.string('u',100) AS value FROM dual CONNECT BY level <= The bloom filter is initialized with m= The second parameter (1000) is the number of elements that are expected to be stored in the bit array. SQL> execute bloom_filter.init(16384, 1000) The values of the 1,000 rows are stored into the bit array. SQL> SELECT count(bloom_filter.add_value(value)) 2 FROM t 3 WHERE rownum <= 1000; COUNT(BLOOM_FILTER.ADD_VALUE(VALUE)) Now let s test how many of the 10,000 rows stored in the test table are recognized as belonging to the set according to the bloom filter (remember, false positives are possible). SQL> SELECT count(*) 2 FROM t 3 WHERE bloom_filter.contain(value) = 1; COUNT(*) As you can see, there are five false positive. It goes without saying that this number is highly dependent not only on the value of m (the number of bits in the array), but also on which hash functions are chosen. Bloom Filters 3/7 June 2008
4 For my simple bloom filter and the same test data as before, the following table shows the number of false positives for different values of m. m False positives 1,024 6,534 2,048 4,190 4,096 1,399 8, , ,768 0 Bloom filters and Oracle Database Now that we have seen what bloom filters are, let s describe how Oracle Database makes use of them. As far as I know, they are used in three situations: To reduce data communication between slave processes in parallel joins. To implement join-filter pruning. To support result caches. The first is available as of Oracle Database 10g Release 2, the other two as of Oracle Database 11g Release 1. Since I have never investigated the utilization of bloom filters with result caches, and to my knowledge there is no source of information describing it, the next two sections will only describe the other two cases. Note: No basics about parallel processing and partition pruning are given in this paper. In other words, I expect that you are familiar with them. Information about them is available in the Oracle documentation [4,5] and in my book [6]. Parallel joins When a hash or merge join is executed in parallel, there are several sets of slave processes that exchange data. For example, in the execution plan associated with the following query, three sets of slave processes are used (each set is identified by a different value in the column TQ). SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.mod = Id Operation Name TQ IN-OUT PQ Distrib SELECT STATEMENT 1 PX COORDINATOR 2 PX SEND QC (RANDOM) :TQ10002 Q1,02 P->S QC (RAND) * 3 HASH JOIN BUFFERED Q1,02 PCWP 4 PX RECEIVE Q1,02 PCWP 5 PX SEND HASH :TQ10000 Q1,00 P->P HASH 6 PX BLOCK ITERATOR Q1,00 PCWC * 7 TABLE ACCESS FULL T1 Q1,00 PCWP 8 PX RECEIVE Q1,02 PCWP 9 PX SEND HASH :TQ10001 Q1,01 P->P HASH 10 PX BLOCK ITERATOR Q1,01 PCWC 11 TABLE ACCESS FULL T2 Q1,01 PCWP access("t1"."id"="t2"."id") 7 - filter("t1"."mod"=42) Bloom Filters 4/7 June 2008
5 Simply put, this execution plan is executed in the following way: The slave processes of set Q1,00 scan table t1, apply the filter t1.mod=42, and send the remaining data to the slave processes of set Q1,02 (operations 5 to 7). The slave processes of set Q1,02 receive the data and build a hash table (operations 3 and 4). The slave processes of set Q1,01 scan table t2 and send the data to the slave processes of set Q1,02 (operations 9 to 11). The slave processes of set Q1,02 receive the data (operation 8), probe the hash table and send the rows fulfilling the join to the query coordinator (operations 2 and 3). The query coordinator receives the data and returns the result set (operations 0 and 1). The following figure illustrates the communication between the three sets of slave processes. The essential thing to notice is that the join is performed by slave processes of the set Q1,02 and, therefore, part of the data sent by the slave processes of the sets Q1,00 and Q1,01 may be discarded because it doesn't fulfill the join condition. In other words, data may be unnecessarily sent to the slave processes of the set Q1,02. The overhead associated with this unnecessary communication is particularly noticeable when two conditions are met. First, when most of the data is discarded because it doesn t fulfill the join condition. Second, when the slave processes, because of RAC, are distributed over several nodes. To avoid unnecessary communication, Oracle Database may use bloom filters. The following execution plan shows, for the same query as before, such an example Id Operation Name TQ IN-OUT PQ Distrib SELECT STATEMENT 1 PX COORDINATOR 2 PX SEND QC (RANDOM) :TQ10002 Q1,02 P->S QC (RAND) * 3 HASH JOIN BUFFERED Q1,02 PCWP 4 PX JOIN FILTER CREATE :BF0000 Q1,02 PCWP 5 PX RECEIVE Q1,02 PCWP 6 PX SEND HASH :TQ10000 Q1,00 P->P HASH 7 PX BLOCK ITERATOR Q1,00 PCWC * 8 TABLE ACCESS FULL T1 Q1,00 PCWP 9 PX RECEIVE Q1,02 PCWP 10 PX SEND HASH :TQ10001 Q1,01 P->P HASH 11 PX JOIN FILTER USE :BF0000 Q1,01 PCWP 12 PX BLOCK ITERATOR Q1,01 PCWC 13 TABLE ACCESS FULL T2 Q1,01 PCWP access("t1"."id"="t2"."id") 8 - filter("t1"."mod"=42) Bloom Filters 5/7 June 2008
6 Compared to the previous one, there are two additional operations (4 and 11). With operation 4, the slave processes of set Q1,02 create the bloom filter named :BF0000 (if there are several bloom filters, the numeric value is increased, i.e. the second one would be named :BF0001). With operation 11, the slave processes of set Q1,01 probe the bloom filter :BF0000 before sending data to the slave processes of set Q1,02. Thus, with the exception of false positives, data that doesn t fulfill the join condition is not sent. The query optimizer decides whether a bloom filter is to be used based on the estimated join selectivity and on the amount of data to be processed. To override these decisions, it is possible to use the hints px_join_filter and no_px_join_filter. However, if the amount of data is small, even by specifying the hint px_join_filter, it is not possible to force the query optimizer to use a bloom filter. To fully disable the feature, the initialization parameter _bloom_filter_enabled must be set to FALSE. To display information about bloom filters, the dynamic performance view v$sql_join_filter can be used. For example, as shown by the following query, it is possible to check how many rows have been filtered out and probed by the bloom filter. From this we can deduce the number of rows that have gone through the filter (probed filtered). SQL> SELECT filtered, probed, probed-filtered AS sent 2 FROM v$sql_join_filter 3 WHERE qc_session_id = sys_context('userenv','sid'); FILTERED PROBED SENT Be aware that up to Oracle Database 10g Release , the dynamic performance view v$sql_join_filter returns information only about active bloom filters. Another dynamic performance view that can show the reduced communication due to a bloom filter is v$pq_tqstat. Join-filter pruning The query optimizer is able to perform partition pruning based on literal values, bind variables or join conditions. Up to Oracle Database 10g Release 2, when partition pruning is based on join conditions, the query optimizer can use subquery pruning for hash and merge joins. Without going into the details that are explained in my book [6], this type of pruning is of limited usage because part of the query is executed twice. To avoid this double execution, Oracle Database 11g provides another type of partition pruning, join-filter pruning (aka bloom-filter pruning). The following execution plan shows an example of this new optimization technique (see operations 2 and 5). SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.mod = Id Operation Name Pstart Pstop SELECT STATEMENT * 1 HASH JOIN 2 PART JOIN FILTER CREATE :BF PARTITION HASH ALL 1 8 * 4 TABLE ACCESS FULL T PARTITION HASH JOIN-FILTER :BF0000 :BF TABLE ACCESS FULL T2 :BF0000 :BF access("t1"."id"="t2"."id") 4 - filter("t1"."mod"=42) Bloom Filters 6/7 June 2008
7 Simply put, this execution plan is executed in the following way: All partitions of table t1 are scanned (operations 3 and 4). Based on the data returned by operation 3, a bloom filter is created (operation 2). Based on the bloom filter, partition pruning on table t2 occurs (operations 5 and 6) and, therefore, only the partitions containing relevant data are scanned. It is interesting to note that even when there are no restrictions (in the previous case, the restriction is t1.mod=42), the query optimizer might choose this type of partition pruning. This is probably because the overhead of using the bloom filter is so small, that even if no pruning occurs, the overhead associated with its use is negligible. To disable the feature, the initialization parameter _bloom_pruning_enabled must be set to FALSE. Conclusion With bloom filters, Oracle has introduced an optimization technique that can be used in various situations. This paper discussed two of them: parallel joins and join-filter pruning. Both are devoted to improving the performance of very specific types of SQL statements that process large amounts of data. Even if not everyone will be able to take advantage of them, in my opinion, these types of enhancements are very important to keep up with the stringent requirements that ever-larger databases impose. I am sure that in future releases, more and more features like these will be implemented. References [1] Bloom, Burton H., Space/time trade-offs in hash coding with allowable errors Communications of the ACM, Volume 13, Issue 7, [2] Knuth, Donald, The Art of Computer Programming, Volume 3 Sorting and Searching Addison-Wesley, 1998 [3] Zait, Mohamed, Oracle10g SQL Optimization Trivadis CBO Days, 2006 [4] Oracle Corporation, Oracle Database VLDB and Partitioning Guide, 11g Release 1 [5] Oracle Corporation, Oracle Database Data Warehousing Guide, 11g Release 1 [6] Antognini, Christian, Troubleshooting Oracle Performance Apress, About the Author Since 1995, Christian Antognini has focused on understanding how the Oracle database engine works. He is currently working as a principal consultant and trainer at Trivadis in Zürich, Switzerland. If Christian is not helping one of his customers get the most out of Oracle, he is somewhere lecturing on application performance management. He is a proud member of the OakTable Network and the author of the book Troubleshooting Oracle Performance (Apress, 2008). Bloom Filters 7/7 June 2008
Drilling Deep Into Exadata Performance With ASH, SQL Monitoring and Exadata Snapper
Drilling Deep Into Exadata Performance With ASH, SQL Monitoring and Exadata Snapper Tanel Põder Enkitec h=p:// h=p://blog.tanelpoder.com 1 Intro: About me Tanel Põder Former Oracle Database Performance
Advanced Oracle SQL Tuning
Advanced Oracle SQL Tuning Seminar content technical details 1) Understanding Execution Plans In this part you will learn how exactly Oracle executes SQL execution plans. Instead of describing on PowerPoint
Oracle EXAM - 1Z0-117. Oracle Database 11g Release 2: SQL Tuning. Buy Full Product. http://www.examskey.com/1z0-117.html
Oracle EXAM - 1Z0-117 Oracle Database 11g Release 2: SQL Tuning Buy Full Product http://www.examskey.com/1z0-117.html Examskey Oracle 1Z0-117 exam demo product is here for you to test the quality of the
Who am I? Copyright 2014, Oracle and/or its affiliates. All rights reserved. 3
Oracle Database In-Memory Power the Real-Time Enterprise Saurabh K. Gupta Principal Technologist, Database Product Management Who am I? Principal Technologist, Database Product Management at Oracle Author
1Z0-117 Oracle Database 11g Release 2: SQL Tuning. Oracle
1Z0-117 Oracle Database 11g Release 2: SQL Tuning Oracle To purchase Full version of Practice exam click below; http://www.certshome.com/1z0-117-practice-test.html FOR Oracle 1Z0-117 Exam Candidates We
An Oracle White Paper May 2011. The Oracle Optimizer Explain the Explain Plan
An Oracle White Paper May 2011 The Oracle Optimizer Explain the Explain Plan Introduction... 1 The Execution Plan... 2 Displaying the Execution plan... 3 What is Cost... 8 Understanding the execution plan...
Oracle Database In- Memory Op4on in Ac4on
Oracle Database In- Memory Op4on in Ac4on Tanel Põder & Kerry Osborne Accenture Enkitec Group h4p:// 1 Tanel Põder Intro: About Consultant, Trainer, Troubleshooter Oracle Database Performance geek Exadata
An Oracle White Paper May 2010. Guide for Developing High-Performance Database Applications
An Oracle White Paper May 2010 Guide for Developing High-Performance Database Applications Introduction The Oracle database has been engineered to provide very high performance and scale to thousands
White Paper. Optimizing the Performance Of MySQL Cluster
White Paper Optimizing the Performance Of MySQL Cluster Table of Contents Introduction and Background Information... 2 Optimal Applications for MySQL Cluster... 3 Identifying the Performance Issues.....
Hadoop Internals for Oracle Developers and DBAs Exploring the HDFS and MapReduce Data Flow
Hadoop Internals for Oracle Developers and DBAs Exploring the HDFS and MapReduce Data Flow Tanel Põder Enkitec h=p:// h=p://blog.tanelpoder.com @tanelpoder 1 Intro: About me Tanel Põder Former Oracle Database
Oracle Database 11g: SQL Tuning Workshop Release 2
Oracle University Contact Us: 1 800 005 453 Oracle Database 11g: SQL Tuning Workshop Release 2 Duration: 3 Days What you will learn This course assists database developers, DBAs, and SQL developers to
Quanqing XU [email protected]. YuruBackup: A Highly Scalable and Space-Efficient Incremental Backup System in the Cloud
Quanqing XU [email protected] YuruBackup: A Highly Scalable and Space-Efficient Incremental Backup System in the Cloud Outline Motivation YuruBackup s Architecture Backup Client File Scan, Data
Oracle Database 11g: SQL Tuning Workshop
Oracle University Contact Us: + 38516306373 Oracle Database 11g: SQL Tuning Workshop Duration: 3 Days What you will learn This Oracle Database 11g: SQL Tuning Workshop Release 2 training assists database
PARALLEL SQL. Chapter 13
Chapter 13 PARALLEL SQL Parallel SQL enables a SQL statement to be processed by multiple threads or processes simultaneously. Today s widespread use of dual and quad core processors means that even the
<Insert Picture Here> Best Practices for Extreme Performance with Data Warehousing on Oracle Database
1 Best Practices for Extreme Performance with Data Warehousing on Oracle Database Rekha Balwada Principal Product Manager Agenda Parallel Execution Workload Management on Data Warehouse
Safe Harbor Statement
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment
How To Write A Paper On Bloom Join On A Distributed Database
Research Paper BLOOM JOIN FINE-TUNES DISTRIBUTED QUERY IN HADOOP ENVIRONMENT Dr. Sunita M. Mahajan 1 and Ms. Vaishali P. Jadhav 2 Address for Correspondence 1 Principal, Mumbai Education Trust, Bandra,
Big Data Technology Map-Reduce Motivation: Indexing in Search Engines
Big Data Technology Map-Reduce Motivation: Indexing in Search Engines Edward Bortnikov & Ronny Lempel Yahoo Labs, Haifa Indexing in Search Engines Information Retrieval s two main stages: Indexing process
The Sins of SQL Programming that send the DB to Upgrade Purgatory Abel Macias. 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.
The Sins of SQL Programming that send the DB to Upgrade Purgatory Abel Macias 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Who is Abel Macias? 1994 - Joined Oracle Support 2000
Query Processing C H A P T E R12. Practice Exercises
C H A P T E R12 Query Processing Practice Exercises 12.1 Assume (for simplicity in this exercise) that only one tuple fits in a block and memory holds at most 3 blocks. Show the runs created on each pass
Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database.
Physical Design Physical Database Design (Defined): Process of producing a description of the implementation of the database on secondary storage; it describes the base relations, file organizations, and
Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*
Oracle Database 11 g Performance Tuning Recipes Sam R. Alapati Darl Kuhn Bill Padfield Apress* Contents About the Authors About the Technical Reviewer Acknowledgments xvi xvii xviii Chapter 1: Optimizing
Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle
Direct NFS - Design considerations for next-gen NAS appliances optimized for database workloads Akshay Shah Gurmeet Goindi Oracle Agenda Introduction Database Architecture Direct NFS Client NFS Server
Partitioning under the hood in MySQL 5.5
Partitioning under the hood in MySQL 5.5 Mattias Jonsson, Partitioning developer Mikael Ronström, Partitioning author Who are we? Mikael is a founder of the technology behind NDB
Impala: A Modern, Open-Source SQL Engine for Hadoop. Marcel Kornacker Cloudera, Inc.
Impala: A Modern, Open-Source SQL Engine for Hadoop Marcel Kornacker Cloudera, Inc. Agenda Goals; user view of Impala Impala performance Impala internals Comparing Impala to other systems Impala Overview:
Best Practices for DB2 on z/os Performance
Best Practices for DB2 on z/os Performance A Guideline to Achieving Best Performance with DB2 Susan Lawson and Dan Luksetich www.db2expert.com and BMC Software September 2008 www.bmc.com Contacting BMC
High-Performance Oracle: Proven Methods for Achieving Optimum Performance and Availability
About the Author Geoff Ingram (mailto:[email protected]) is a UK-based ex-oracle product developer who has worked as an independent Oracle consultant since leaving Oracle Corporation in the mid-nineties.
Facebook: Cassandra. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation
Facebook: Cassandra Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi Leader Election 1/24 Outline 1 2 3 Smruti R. Sarangi Leader Election
Big Data & Scripting Part II Streaming Algorithms
Big Data & Scripting Part II Streaming Algorithms 1, Counting Distinct Elements 2, 3, counting distinct elements problem formalization input: stream of elements o from some universe U e.g. ids from a set
PERFORMANCE TIPS FOR BATCH JOBS
PERFORMANCE TIPS FOR BATCH JOBS Here is a list of effective ways to improve performance of batch jobs. This is probably the most common performance lapse I see. The point is to avoid looping through millions
MAD2: A Scalable High-Throughput Exact Deduplication Approach for Network Backup Services
MAD2: A Scalable High-Throughput Exact Deduplication Approach for Network Backup Services Jiansheng Wei, Hong Jiang, Ke Zhou, Dan Feng School of Computer, Huazhong University of Science and Technology,
Query Optimization in Oracle 12c Database In-Memory
Query Optimization in Oracle 12c Database In-Memory Dinesh Das *, Jiaqi Yan *, Mohamed Zait *, Satyanarayana R Valluri, Nirav Vyas *, Ramarajan Krishnamachari *, Prashant Gaharwar *, Jesse Kamp *, Niloy
2009 Oracle Corporation 1
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material,
SQL Performance for a Big Data 22 Billion row data warehouse
SQL Performance for a Big Data Billion row data warehouse Dave Beulke dave @ d a v e b e u l k e.com Dave Beulke & Associates Session: F19 Friday May 8, 15 8: 9: Platform: z/os D a v e @ d a v e b e u
FAST 11. Yongseok Oh <[email protected]> University of Seoul. Mobile Embedded System Laboratory
CAFTL: A Content-Aware Flash Translation Layer Enhancing the Lifespan of flash Memory based Solid State Drives FAST 11 Yongseok Oh University of Seoul Mobile Embedded System Laboratory
Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata
Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata Presented with Prakash Nauduri Technical Director Platform Migrations Group, Database Product Management Sep 30,
Hierarchical Bloom Filters: Accelerating Flow Queries and Analysis
Hierarchical Bloom Filters: Accelerating Flow Queries and Analysis January 8, 2008 FloCon 2008 Chris Roblee, P. O. Box 808, Livermore, CA 94551 This work performed under the auspices of the U.S. Department
SQL Query Evaluation. Winter 2006-2007 Lecture 23
SQL Query Evaluation Winter 2006-2007 Lecture 23 SQL Query Processing Databases go through three steps: Parse SQL into an execution plan Optimize the execution plan Evaluate the optimized plan Execution
Oracle Database In-Memory The Next Big Thing
Oracle Database In-Memory The Next Big Thing Maria Colgan Master Product Manager #DBIM12c Why is Oracle do this Oracle Database In-Memory Goals Real Time Analytics Accelerate Mixed Workload OLTP No Changes
Performance Tuning for the Teradata Database
Performance Tuning for the Teradata Database Matthew W Froemsdorf Teradata Partner Engineering and Technical Consulting - i - Document Changes Rev. Date Section Comment 1.0 2010-10-26 All Initial document
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along
Kafka & Redis for Big Data Solutions
Kafka & Redis for Big Data Solutions Christopher Curtin Head of Technical Research @ChrisCurtin About Me 25+ years in technology Head of Technical Research at Silverpop, an IBM Company (14 + years at Silverpop)
Power BI Performance. Tips and Techniques WWW.PRAGMATICWORKS.COM
Power BI Performance Tips and Techniques Rachael Martino Principal Consultant [email protected] @RMartinoBoston About Me SQL Server and Oracle developer and IT Manager since SQL Server 2000 Focused
IBM WebSphere DataStage Online training from Yes-M Systems
Yes-M Systems offers the unique opportunity to aspiring fresher s and experienced professionals to get real time experience in ETL Data warehouse tool IBM DataStage. Course Description With this training
SQL Server 2012 Performance White Paper
Published: April 2012 Applies to: SQL Server 2012 Copyright The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication.
MS SQL Performance (Tuning) Best Practices:
MS SQL Performance (Tuning) Best Practices: 1. Don t share the SQL server hardware with other services If other workloads are running on the same server where SQL Server is running, memory and other hardware
Using Object Database db4o as Storage Provider in Voldemort
Using Object Database db4o as Storage Provider in Voldemort by German Viscuso db4objects (a division of Versant Corporation) September 2010 Abstract: In this article I will show you how
Chapter 6: Physical Database Design and Performance. Database Development Process. Physical Design Process. Physical Database Design
Chapter 6: Physical Database Design and Performance Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden Robert C. Nickerson ISYS 464 Spring 2003 Topic 23 Database
Oracle Big Data, In-memory, and Exadata - One Database Engine to Rule Them All Dr.-Ing. Holger Friedrich
Oracle Big Data, In-memory, and Exadata - One Database Engine to Rule Them All Dr.-Ing. Holger Friedrich Agenda Introduction Old Times Exadata Big Data Oracle In-Memory Headquarters Conclusions 2 sumit
news from Tom Bacon about Monday's lecture
ECRIC news from Tom Bacon about Monday's lecture I won't be at the lecture on Monday due to the work swamp. The plan is still to try and get into the data centre in two weeks time and do the next migration,
Distributed Architecture of Oracle Database In-memory
Distributed Architecture of Oracle Database In-memory Niloy Mukherjee, Shasank Chavan, Maria Colgan, Dinesh Das, Mike Gleeson, Sanket Hase, Allison Holloway, Hui Jin, Jesse Kamp, Kartik Kulkarni, Tirthankar
SQL Server Query Tuning
SQL Server Query Tuning Klaus Aschenbrenner Independent SQL Server Consultant SQLpassion.at Twitter: @Aschenbrenner About me Independent SQL Server Consultant International Speaker, Author Pro SQL Server
SQL Query Performance Tuning: Tips and Best Practices
SQL Query Performance Tuning: Tips and Best Practices Pravasini Priyanka, Principal Test Engineer, Progress Software INTRODUCTION: In present day world, where dozens of complex queries are run on databases
Datenbanksysteme II: Implementation of Database Systems Implementing Joins
Datenbanksysteme II: Implementation of Database Systems Implementing Joins Material von Prof. Johann Christoph Freytag Prof. Kai-Uwe Sattler Prof. Alfons Kemper, Dr. Eickler Prof. Hector Garcia-Molina
ProTrack: A Simple Provenance-tracking Filesystem
ProTrack: A Simple Provenance-tracking Filesystem Somak Das Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology [email protected] Abstract Provenance describes a file
Physical Database Design Process. Physical Database Design Process. Major Inputs to Physical Database. Components of Physical Database Design
Physical Database Design Process Physical Database Design Process The last stage of the database design process. A process of mapping the logical database structure developed in previous stages into internal
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the
Controlling Dynamic SQL with DSCC By: Susan Lawson and Dan Luksetich
Controlling Dynamic SQL with DSCC By: Susan Lawson and Dan Luksetich Controlling Dynamic SQL with DSCC By: Susan Lawson and Dan Luksetich In today s high performance computing environments we are bombarded
SQL Activity Runaway sessions Session information. SQL Activity Concurrent Request runaways. Database sessions Concurrent Requests
Oracle Application Database Management, Part 1: Take Database Monitoring in Oracle Applications Manager to the Next Level Editor s Note: In this first of a series of ORAtips articles on Oracle Application
SWISSBOX REVISITING THE DATA PROCESSING SOFTWARE STACK
3/2/2011 SWISSBOX REVISITING THE DATA PROCESSING SOFTWARE STACK Systems Group Dept. of Computer Science ETH Zürich, Switzerland SwissBox Humboldt University Dec. 2010 Systems Group = www.systems.ethz.ch
Oracle 10g PL/SQL Training
Oracle 10g PL/SQL Training Course Number: ORCL PS01 Length: 3 Day(s) Certification Exam This course will help you prepare for the following exams: 1Z0 042 1Z0 043 Course Overview PL/SQL is Oracle's Procedural
EFFICIENT EXTERNAL SORTING ON FLASH MEMORY EMBEDDED DEVICES
ABSTRACT EFFICIENT EXTERNAL SORTING ON FLASH MEMORY EMBEDDED DEVICES Tyler Cossentine and Ramon Lawrence Department of Computer Science, University of British Columbia Okanagan Kelowna, BC, Canada [email protected]
Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB
Overview of Databases On MacOS Karl Kuehn Automation Engineer RethinkDB Session Goals Introduce Database concepts Show example players Not Goals: Cover non-macos systems (Oracle) Teach you SQL Answer what
Data Structures for Big Data: Bloom Filter. Vinicius Vielmo Cogo Smalltalks, DI, FC/UL. October 16, 2014.
Data Structures for Big Data: Bloom Filter Vinicius Vielmo Cogo Smalltalks, DI, FC/UL. October 16, 2014. is relative is not defined by a specific number of TB, PB, EB is when it becomes big for you is
Sivakumar Software Engg, Zagro Singapore Pte Ltd e-mail. [email protected]
SWOT Analysis of the Oracle standard and MS-SQL server Technologies Sivakumar Software Engg, Zagro Singapore Pte Ltd e-mail. [email protected] Abstract In the last few years the use of the Internet has
FHE DEFINITIVE GUIDE. ^phihri^^lv JEFFREY GARBUS. Joe Celko. Alvin Chang. PLAMEN ratchev JONES & BARTLETT LEARN IN G. y ti rvrrtuttnrr i t i r
: 1. FHE DEFINITIVE GUIDE fir y ti rvrrtuttnrr i t i r ^phihri^^lv ;\}'\^X$:^u^'! :: ^ : ',!.4 '. JEFFREY GARBUS PLAMEN ratchev Alvin Chang Joe Celko g JONES & BARTLETT LEARN IN G Contents About the Authors
Understanding Query Processing and Query Plans in SQL Server. Craig Freedman Software Design Engineer Microsoft SQL Server
Understanding Query Processing and Query Plans in SQL Server Craig Freedman Software Design Engineer Microsoft SQL Server Outline SQL Server engine architecture Query execution overview Showplan Common
Hypertable Architecture Overview
WHITE PAPER - MARCH 2012 Hypertable Architecture Overview Hypertable is an open source, scalable NoSQL database modeled after Bigtable, Google s proprietary scalable database. It is written in C++ for
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24 Data Federation Administration Tool Guide Content 1 What's new in the.... 5 2 Introduction to administration
Execution Plans: The Secret to Query Tuning Success. MagicPASS January 2015
Execution Plans: The Secret to Query Tuning Success MagicPASS January 2015 Jes Schultz Borland plan? The following steps are being taken Parsing Compiling Optimizing In the optimizing phase An execution
Benchmarking Hadoop & HBase on Violin
Technical White Paper Report Technical Report Benchmarking Hadoop & HBase on Violin Harnessing Big Data Analytics at the Speed of Memory Version 1.0 Abstract The purpose of benchmarking is to show advantages
Oracle SQL. Course Summary. Duration. Objectives
Oracle SQL Course Summary Identify the major structural components of the Oracle Database 11g Create reports of aggregated data Write SELECT statements that include queries Retrieve row and column data
Query Performance Tuning: Start to Finish. Grant Fritchey
Query Performance Tuning: Start to Finish Grant Fritchey Who? Product Evangelist for Red Gate Software Microsoft SQL Server MVP PASS Chapter President Author: SQL Server Execution Plans SQL Server 2008
Memory-Centric Database Acceleration
Memory-Centric Database Acceleration Achieving an Order of Magnitude Increase in Database Performance A FedCentric Technologies White Paper September 2007 Executive Summary Businesses are facing daunting
Oracle InMemory Database
Oracle InMemory Database Calgary Oracle Users Group December 11, 2014 Outline Introductions Who is here? Purpose of this presentation Background Why In-Memory What it is How it works Technical mechanics
An Oracle White Paper July 2014. Oracle Database In-Memory
An Oracle White Paper July 2014 Oracle Database In-Memory Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
PERFORMANCE TUNING FOR PEOPLESOFT APPLICATIONS
PERFORMANCE TUNING FOR PEOPLESOFT APPLICATIONS 1.Introduction: It is a widely known fact that 80% of performance problems are a direct result of the to poor performance, such as server configuration, resource
Bitmap Index as Effective Indexing for Low Cardinality Column in Data Warehouse
Bitmap Index as Effective Indexing for Low Cardinality Column in Data Warehouse Zainab Qays Abdulhadi* * Ministry of Higher Education & Scientific Research Baghdad, Iraq Zhang Zuping Hamed Ibrahim Housien**
low-level storage structures e.g. partitions underpinning the warehouse logical table structures
DATA WAREHOUSE PHYSICAL DESIGN The physical design of a data warehouse specifies the: low-level storage structures e.g. partitions underpinning the warehouse logical table structures low-level structures
The Database is Slow
The Database is Slow SQL Server Performance Tuning Starter Kit Calgary PASS Chapter, 19 August 2015 Randolph West, Born SQL Email: [email protected] Twitter: @rabryst Basic Internals Data File Transaction Log
Common Patterns and Pitfalls for Implementing Algorithms in Spark. Hossein Falaki @mhfalaki [email protected]
Common Patterns and Pitfalls for Implementing Algorithms in Spark Hossein Falaki @mhfalaki [email protected] Challenges of numerical computation over big data When applying any algorithm to big data
SQL Tuning Proven Methodologies
SQL Tuning Proven Methodologies V.Hariharaputhran V.Hariharaputhran o Twelve years in Oracle Development / DBA / Big Data / Cloud Technologies o All India Oracle Users Group (AIOUG) Evangelist o Passion
Oracle Database 10g: Introduction to SQL
Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.
Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.
& & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows
FAWN - a Fast Array of Wimpy Nodes
University of Warsaw January 12, 2011 Outline Introduction 1 Introduction 2 3 4 5 Key issues Introduction Growing CPU vs. I/O gap Contemporary systems must serve millions of users Electricity consumed
D B M G Data Base and Data Mining Group of Politecnico di Torino
Database Management Data Base and Data Mining Group of [email protected] A.A. 2014-2015 Optimizer objective A SQL statement can be executed in many different ways The query optimizer determines
Oracle Database In-Memory A Practical Solution
Oracle Database In-Memory A Practical Solution Sreekanth Chintala Oracle Enterprise Architect Dan Huls Sr. Technical Director, AT&T WiFi CON3087 Moscone South 307 Safe Harbor Statement The following is
Scaling To Infinity: Partitioning Data Warehouses on Oracle Database. Thursday 15-November 2012 Tim Gorman www.evdbt.com
NoCOUG Scaling To Infinity: Partitioning Data Warehouses on Oracle Database Thursday 15-November 2012 Tim Gorman www.evdbt.com NoCOUG Speaker Qualifications Co-author 1. Oracle8 Data Warehousing, 1998
SQL Performance Hero and OMG Method vs the Anti-patterns. Jeff Jacobs Jeffrey Jacobs & Associates [email protected]
SQL Performance Hero and OMG Method vs the Anti-patterns Jeff Jacobs Jeffrey Jacobs & Associates [email protected] Survey Says DBAs Developers Architects Heavily non-oracle development shop Concerned
Course Objectives. Database Applications. External applications. Course Objectives Interfacing. Mixing two worlds. Two approaches
Course Objectives Database Applications Design Construction SQL/PSM Embedded SQL JDBC Applications Usage Course Objectives Interfacing When the course is through, you should Know how to connect to and
Optimizing the Performance of the Oracle BI Applications using Oracle Datawarehousing Features and Oracle DAC 10.1.3.4.1
Optimizing the Performance of the Oracle BI Applications using Oracle Datawarehousing Features and Oracle DAC 10.1.3.4.1 Mark Rittman, Director, Rittman Mead Consulting for Collaborate 09, Florida, USA,
Performance and Tuning Guide. SAP Sybase IQ 16.0
Performance and Tuning Guide SAP Sybase IQ 16.0 DOCUMENT ID: DC00169-01-1600-01 LAST REVISED: February 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software
PERFORMANCE TUNING ORACLE RAC ON LINUX
PERFORMANCE TUNING ORACLE RAC ON LINUX By: Edward Whalen Performance Tuning Corporation INTRODUCTION Performance tuning is an integral part of the maintenance and administration of the Oracle database
<Insert Picture Here>
1 Database Technologies for Archiving Kevin Jernigan, Senior Director Product Management Advanced Compression, EHCC, DBFS, SecureFiles, ILM, Database Smart Flash Cache, Total Recall,
Oracle Database 12c: SQL Tuning for Developers. Sobre o curso. Destinatários. Oracle - Linguagens. Nível: Avançado Duração: 18h
Oracle Database 12c: SQL Tuning for Developers Oracle - Linguagens Nível: Avançado Duração: 18h Sobre o curso In the Oracle Database: SQL Tuning for Developers course, you learn about Oracle SQL tuning
