Optimization of SQL Queries in Main-Memory Databases
|
|
- Christopher Cross
- 8 years ago
- Views:
Transcription
1 Optimization of SQL Queries in Main-Memory Databases Ladislav Vastag and Ján Genči Department of Computers and Informatics Technical University of Košice, Letná 9, Košice, Slovakia Abstract. In this article we have tried to summarize and notify the problems concerning query optimization those we have been dealing during elaboration of this thesis. Though we have dedicated maximum effort to compress information presented in this article, significant amount of information is not provided herein due to the limited range of this article. Key words: logical plan, physical plan, logical optimization, physical optinozation, cost function 1 Introduction With gradual evolution of real-time systems such as telecommunication systems, satellite pictures processing systems or target-searching in RADAR systems; the demand for databases with capability to perform transactions within extremely short time periods started to grow. To be more specific, we are talking about time intervals much shorter than the database stores primary copy of data on thedrive. If we consider that accessing main memory takes much less time than accessing the drive, databases those store primary copy of data in main memory (Main Memory databases - MMDB) became an alternative of solution to a problem of time demands on transaction execution. Decrease in semiconductor memory prices and increase in their capacity enabled to store larger amounts of data in main memory and consequently MMDB became reality. However with MMDB rollout many problems, previously only partly or not at all solved by DRDB, arose. 2 Goals The main goal of this master thesis was to create an SQL query optimizer for optimization tasks in conditions of Main-Memory databases. Shortly, it meant to create a complete query compiler. To achieve this goal we needed to carry out:
2 2 L. Vastag and J. Genči 1. SQL parser and preprocessor - main tasks of this two components of query compiler is both syntactical and lexical analysis of incoming query and translation of query string into an internal parse tree 2. Query optimizer - takes parse tree on input and transforms it into a cheapest physical plan. As we shall introduce a task of an optimizer can be divided into two, relatively independent, stages. At first, it is a logical optimization and second stage, it is a physical optimization. As we will see the task of an optimizer is very nontrivial. At the same time it is inevitable to respect the primary organization of data that was created at the department of computers and information technology [1] 3 Analysis In this section we shall introduce a short description of functionality of all stages of query compiler. 3.1 Parser and Preprocessor The parser is responsible for syntactic checking of a query. The job of the parser is to take text written in SQL (or other language) and convert it into a parse tree that is a tree whose nodes correspond to either atoms or syntactic categories. Atoms are lexical elements such as keywords, names of attributes or relations, constants, parentheses, operators etc. Syntactic categories are names for families of query subparts those all play a similar role in a query. For example, the syntactic category simple-select will be used to represent any simple SELECT query in common select-from-where form and condition will represent any expression that is a condition i. e. it can follow WHERE in SQL. The preprocessor has several important functions. If a relation used in query is a view, then each use of this relation in from-list must be replaced by a parse tree that represents the view. The preprocessor is also responsible for semantic checking. For instance, the preprocessor must check relation uses, check and resolve attribute uses and check types. If a parse tree passes all these tests, it is said to be valid, and parse tree is given to the logical plan generator. 3.2 Query optimizer Optimizer is responsible for elaboration of physical plan for executor. Input of optimizer is a parse tree of query and output is an effective physical plan selected fromspace of possible plans. The role of the optimizer is really nontrivial, especially if we take into account that the space of possible plans for the SQL queries can be rather large due to following reasons: Algebraic expression of the query can be transformed into various logically equivalent algebraic expressions,
3 Optimization of SQL queries in MMDBs 3 There can be several physical plans for implementation of one algebraic expression. For instance, in database systems there are several algorithms for execution of join operation. Moreover, times of execution of given physical plans can vary. Therefore reasonable selection of suitable physical plan is rather critical. Based on these premises we can consider optimization of queries to be a solution of complicated task within search space. In order to solve this problem we need to provide the optimizer with following: 1. A space of plans (search space) 2. Cost estimation technique that will assign each plan from search space its cost. Cost estimation is an estimate of system resources consumption required for the execution of the plan. 3. Searching or enumeration algorithm that will be used to search within the search space. In the context of previously mentioned points we can state that the required optimizer has following qualities: 1. Search space contains, beside other, also plans with low cost, 2. Cost estimate is exact, 3. Enumeration algorithm is effective. We should also state that transforming SQL query into physical plan is called query compilation. Logical optimization The first stage of query optimization is a logical optimization. The logical optimization is responsible for turning the parse tree into the preferred logical plan. Logical optimization consists of two steps. In the first step, the structures and nodes of parse tree are, in appropriate groups, replaced by an operator or operators of relational algebra. In this step the optimizer also simplifies the query by removing sub queries from condition i. e. from WHERE clause. The second step is aimed on taking the logical plan from first step and to turning it into the expression that, as we expect can be converted into the most efficient physical query plan. The second step is commonly called as query rewriting. The query rewriting applies some heuristics using the algebraic laws [2]. Keep in your mind that the logical query optimization of id conditions of Main-Memory database is same like that in conventional databases. Physical optimization The second stage of query optimization is the physical optimization. Physical optimization in MMDB significantly differs from physical optimization used in conventional databases because of different data organization and cost function. In conventional databases the cost function simply counts data blocks those are transferred from or to disk during an evaluation of physical operator. This is impossible in Main-Memory database because MMDB holds a primary copy of data in main memory. Cost function in MMDB must cover
4 4 L. Vastag and J. Genči costs such as CPU computation cost, cache misses, TLB misses and memory- CPU bandwidth. As an example we can see cost functions which are implemented in MMDB Monet. Detailed descriptions of these functions are in [3]. The role of physical optimization is to translate logical plan into physical plan. The first problem that shall be solved by physical optimization is selecting an order for joining of three or more relations. Considering that there can be large amount of join trees those represent equivalent connections it is inevitable to limit plan space by any sort of heuristics in order reach effectiveness. The mentioned techniques will be described briefly in the following article. After selecting an order for joining the resulting logical plan is translated into physical plan in such way that every logical operator is translated into one or more physical operators. Consequently algorithms for physical operators are selected. It is required to state that selection of physical operators and their algorithms is performed based on cost estimate so that the final cost of physical plan is minimum. Such an optimization is called cost based optimization. Basically the same principles as in logical optimization are used because every logical operator can be replaced by various physical operators or their combination. At the same time every physical operator can be implemented by various algorithms. Search space and enumeration algorithms As we have already mentioned the space for possible plans can be rather large. This can result in situation where optimization cost can exceed optimization benefits in case naive search is applied. In order to prevent this situation techniques called enumeration algorithms are used. Their role is to: Limit the space to potentially advantageous plans Increase the effectiveness of searching within the plans space As an example we can mention experimental database system SYSTEM R from IBM. In this system limitation of search space was reached by considering only linear join trees. For searching the search space dynamic programming was used. However this was not classical dynamic programming. We are considering splitting the task into sub tasks resulting in partial assignments and utilizing sub optimality principle. Technique called memoization is used. It is based on memorizing the previously computed results. This approach to optimization is called MEMO-based optimization and it is described in [4, 5] Besides dynamic programming also other techniques can be used. For instance PosgreSQL utilizes genetic algorithm for selecting a join tree. It is a heuristics optimization method that utilizes non deterministic random searching. Detailed description of genetic optimization of queries implemented in PosgreSQL, geqo (genetic query optimization) for short, can be found in [6] 4 Creating a query compiler If we take into account that logical optimization in conventional databases is the same as in MMDB, it was possible to take it over from any Open Source database system. Our selection was PosgreSQL. Let us proceed step by step.
5 Optimization of SQL queries in MMDBs 5 The first essential part of a query compiler is parser and preprocessor. Because we have possibility to take over logical optimization from PostgreSQL, there is no reason why we can t do this in case of parser. Therefore parser, after a modification, was taken over too. Modification consisted of elimination of parsable queries into SELECT. From optimization point of view this was sufficient. Preprocessor could not have been taken over because it has to access system catalog. In our case system catalog has to be based on [1]. Unfortunately, we have discovered that based on the solution in [1] it is not possible to build neither required system catalog nor physical optimization. The reason is an inadequate API of primary data organization created in [1]. This API is built on relation operators and its character does not enable implementation of physical optimization because its output is physical plan and its nodes are created from physical operators. Implementation of logical optimization encountered problems because transferring of parameters into functions of this API is executed on the basis of text strings what means that our query compiler shall work as follows. Syntactic and semantic analysis of query is performed. Afterwards query is translated into logical plan and logical optimization takes place. Consequently text string representing query is generated from logical plan and transferred into executor. However, such a compilation of queries is not effective because physical optimization is omitted. 4.1 Other components borrowed from PostgreSQL Other components taken over from PosgreSQL are error logging and memory management. Error logging Robust error logging system is implemented in PosgreSQL. It is capable of processing recurrent errors, where several options are needed to be taken into account: Error can arise also during processing of current mistake, therefore it is inevitable to differentiate between current and re-entered recursion, this is treated by creating a small stack of ErrorData type, Error logging system itself can create an error during treating another error, the most common error is out of memory. Memory management Memory allocation is performed based on so called memory context. Implementation of memory context is performed by AllocSet, that can be found in file backend/utils/mmgr/aset.c. Memory management provides API those enables to perform following basic operations: Context generation Allocating, reallocating or freeing of memory chunk within the context Deleting the context (including freeing all memory allocated within context) Resetting context (i. e. freeing memory allocated within context with the exception of context itself)
6 6 L. Vastag and J. Genči 5 Conclusion Part of the compiler created by myself is not yet finished at the moment. Only lexical and syntactical analyses are currently working. To complete the compiler and link it to the primary data organization from [1] the following steps need to be completed: Suggest data model of system catalog Modify API of primary data organization from [1] and at the same time suggest and implement execution engine Implement simple bootloader that shall load system catalog (and also testing data if required) from the drive during database start-up Implement preprocessor Take over logical optimization from PostgreSQL Implement physical optimization References 1. Raška P.: Main Memory Databases - Experimental Verification of Primary Organization, Master Thesis 2005, Technical University of Košice, Faculty of electrotechnics and informatics, Department of Computers and Informatics 2. Garcia-Molina H., Ullman J. D., Widom J.: Database System Implementation, Prentice Hall 2000, ISBN , pp Manegold S.: Understanding, Modeling, and Improving Main-Memory Database Performance, SIKS Dissertation Series No , ISBN , pp Chaudhuri S.: An Overview of Query Optimization in Relational Systems 5. Wass F.: Principles of Probablistic Query Optimization, SIKS Dissertation Series No , ISBN , pp The PostgreSQL Global Development Group: PostgreSQL Documentation, pp
Inside the PostgreSQL Query Optimizer
Inside the PostgreSQL Query Optimizer Neil Conway neilc@samurai.com Fujitsu Australia Software Technology PostgreSQL Query Optimizer Internals p. 1 Outline Introduction to query optimization Outline of
More informationCSE 562 Database Systems
UB CSE Database Courses CSE 562 Database Systems CSE 462 Database Concepts Introduction CSE 562 Database Systems Some slides are based or modified from originals by Database Systems: The Complete Book,
More informationElena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Query optimization. DBMS Architecture. Query optimizer. Query optimizer.
DBMS Architecture INSTRUCTION OPTIMIZER Database Management Systems MANAGEMENT OF ACCESS METHODS BUFFER MANAGER CONCURRENCY CONTROL RELIABILITY MANAGEMENT Index Files Data Files System Catalog BASE It
More informationINDEXING BIOMEDICAL STREAMS IN DATA MANAGEMENT SYSTEM 1. INTRODUCTION
JOURNAL OF MEDICAL INFORMATICS & TECHNOLOGIES Vol. 9/2005, ISSN 1642-6037 Michał WIDERA *, Janusz WRÓBEL *, Adam MATONIA *, Michał JEŻEWSKI **,Krzysztof HOROBA *, Tomasz KUPKA * centralized monitoring,
More informationNatural Language to Relational Query by Using Parsing Compiler
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 3, March 2015,
More information03 - Lexical Analysis
03 - Lexical Analysis First, let s see a simplified overview of the compilation process: source code file (sequence of char) Step 2: parsing (syntax analysis) arse Tree Step 1: scanning (lexical analysis)
More informationSymbol Tables. Introduction
Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The
More information2) What is the structure of an organization? Explain how IT support at different organizational levels.
(PGDIT 01) Paper - I : BASICS OF INFORMATION TECHNOLOGY 1) What is an information technology? Why you need to know about IT. 2) What is the structure of an organization? Explain how IT support at different
More informationProfessional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008
Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report
More informationEvaluation of Sub Query Performance in SQL Server
EPJ Web of Conferences 68, 033 (2014 DOI: 10.1051/ epjconf/ 201468033 C Owned by the authors, published by EDP Sciences, 2014 Evaluation of Sub Query Performance in SQL Server Tanty Oktavia 1, Surya Sujarwo
More informationIn-memory databases and innovations in Business Intelligence
Database Systems Journal vol. VI, no. 1/2015 59 In-memory databases and innovations in Business Intelligence Ruxandra BĂBEANU, Marian CIOBANU University of Economic Studies, Bucharest, Romania babeanu.ruxandra@gmail.com,
More informationCompilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam.
Compilers Spring term Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam.es Lecture 1 to Compilers 1 Topic 1: What is a Compiler? 3 What is a Compiler? A compiler is a computer
More informationMapReduce With Columnar Storage
SEMINAR: COLUMNAR DATABASES 1 MapReduce With Columnar Storage Peitsa Lähteenmäki Abstract The MapReduce programming paradigm has achieved more popularity over the last few years as an option to distributed
More informationAn efficient Join-Engine to the SQL query based on Hive with Hbase Zhao zhi-cheng & Jiang Yi
International Conference on Applied Science and Engineering Innovation (ASEI 2015) An efficient Join-Engine to the SQL query based on Hive with Hbase Zhao zhi-cheng & Jiang Yi Institute of Computer Forensics,
More informationPDA DRIVEN WAREHOUSE INVENTORY MANAGEMENT SYSTEM Sebastian Albert Master of Science in Technology sebastianpremraj@yahoo.com
PDA DRIVEN WAREHOUSE INVENTORY MANAGEMENT SYSTEM Sebastian Albert Master of Science in Technology sebastianpremraj@yahoo.com Abstract In times of economic slow-down, cutting costs is the major strategy
More information1 File Processing Systems
COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.
More informationDevelopment of a Relational Database Management System.
Development of a Relational Database Management System. Universidad Tecnológica Nacional Facultad Córdoba Laboratorio de Investigación de Software Departamento de Ingeniería en Sistemas de Información
More informationLecture 9. Semantic Analysis Scoping and Symbol Table
Lecture 9. Semantic Analysis Scoping and Symbol Table Wei Le 2015.10 Outline Semantic analysis Scoping The Role of Symbol Table Implementing a Symbol Table Semantic Analysis Parser builds abstract syntax
More information1 Energy Data Problem Domain. 2 Getting Started with ESPER. 2.1 Experimental Setup. Diogo Anjos José Cavalheiro Paulo Carreira
1 Energy Data Problem Domain Energy Management Systems (EMSs) are energy monitoring tools that collect data streams from energy meters and other related sensors. In real-world, buildings are equipped with
More informationManaging large sound databases using Mpeg7
Max Jacob 1 1 Institut de Recherche et Coordination Acoustique/Musique (IRCAM), place Igor Stravinsky 1, 75003, Paris, France Correspondence should be addressed to Max Jacob (max.jacob@ircam.fr) ABSTRACT
More informationCSCE-608 Database Systems COURSE PROJECT #2
CSCE-608 Database Systems Fall 2015 Instructor: Dr. Jianer Chen Teaching Assistant: Yi Cui Office: HRBB 315C Office: HRBB 501C Phone: 845-4259 Phone: 587-9043 Email: chen@cse.tamu.edu Email: yicui@cse.tamu.edu
More informationCA4003 - Compiler Construction
CA4003 - Compiler Construction David Sinclair Overview This module will cover the compilation process, reading and parsing a structured language, storing it in an appropriate data structure, analysing
More informationThis is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 12518
Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited
More informationDatabase Management. Chapter Objectives
3 Database Management Chapter Objectives When actually using a database, administrative processes maintaining data integrity and security, recovery from failures, etc. are required. A database management
More informationMySQL databases as part of the Online Business, using a platform based on Linux
Database Systems Journal vol. II, no. 3/2011 3 MySQL databases as part of the Online Business, using a platform based on Linux Ion-Sorin STROE Romanian Academy of Economic Studies Romana Sq, no 6, 1 st
More informationCre-X-Mice Database. User guide
Cre-X-Mice Database User guide Table of Contents Table of Figure... ii Introduction... 1 Searching the Database... 1 Quick Search Mode... 1 Advanced Search... 1 Viewing Search Results... 2 Registration...
More informationHorizontal Aggregations in SQL to Prepare Data Sets for Data Mining Analysis
IOSR Journal of Computer Engineering (IOSRJCE) ISSN: 2278-0661, ISBN: 2278-8727 Volume 6, Issue 5 (Nov. - Dec. 2012), PP 36-41 Horizontal Aggregations in SQL to Prepare Data Sets for Data Mining Analysis
More informationTopics in basic DBMS course
Topics in basic DBMS course Database design Transaction processing Relational query languages (SQL), calculus, and algebra DBMS APIs Database tuning (physical database design) Basic query processing (ch
More informationDesign Patterns in Parsing
Abstract Axel T. Schreiner Department of Computer Science Rochester Institute of Technology 102 Lomb Memorial Drive Rochester NY 14623-5608 USA ats@cs.rit.edu Design Patterns in Parsing James E. Heliotis
More informationFunctional Modelling in secondary schools using spreadsheets
Functional Modelling in secondary schools using spreadsheets Peter Hubwieser Techn. Universität München Institut für Informatik Boltzmannstr. 3, 85748 Garching Peter.Hubwieser@in.tum.de http://ddi.in.tum.de
More informationAn Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
More informationBitemporal Extensions to Non-temporal RDBMS in Distributed Environment
The 8 th International Conference on Computer Supported Cooperative Work in Design Procceedings Bitemporal Extensions to Non-temporal RDBMS in Distributed Environment Yong Tang, Lu Liang, Rushou Huang,
More informationMINIMIZING STORAGE COST IN CLOUD COMPUTING ENVIRONMENT
MINIMIZING STORAGE COST IN CLOUD COMPUTING ENVIRONMENT 1 SARIKA K B, 2 S SUBASREE 1 Department of Computer Science, Nehru College of Engineering and Research Centre, Thrissur, Kerala 2 Professor and Head,
More informationICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001
ICOM 6005 Database Management Systems Design Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 Readings Read Chapter 1 of text book ICOM 6005 Dr. Manuel
More informationXML DATA INTEGRATION SYSTEM
XML DATA INTEGRATION SYSTEM Abdelsalam Almarimi The Higher Institute of Electronics Engineering Baniwalid, Libya Belgasem_2000@Yahoo.com ABSRACT This paper describes a proposal for a system for XML data
More informationExploring Query Optimization Techniques in Relational Databases
Exploring Optimization Techniques in Relational Databases Majid Khan and M. N. A. Khan SZABIST, Islamabad, Pakistan engrmajidkhan@gmail.com,mnak2010@gmail.com Abstract In the modern era, digital data is
More informationMaster s Program in Information Systems
The University of Jordan King Abdullah II School for Information Technology Department of Information Systems Master s Program in Information Systems 2006/2007 Study Plan Master Degree in Information Systems
More informationBig Data and Scripting map/reduce in Hadoop
Big Data and Scripting map/reduce in Hadoop 1, 2, parts of a Hadoop map/reduce implementation core framework provides customization via indivudual map and reduce functions e.g. implementation in mongodb
More informationUnderstanding IBM Tivoli Monitoring 6.1 Agents In A Microsoft Clustered Environment 06/01/2006
Page 1 of 17 Introduction Understanding IBM Tivoli Monitoring 6.1 Agents In A Microsoft Clustered Environment 06/01/2006 The purpose of this document is to describe the IBM Tivoli Monitoring 6.1 agents
More informationWorkload Characterization and Analysis of Storage and Bandwidth Needs of LEAD Workspace
Workload Characterization and Analysis of Storage and Bandwidth Needs of LEAD Workspace Beth Plale Indiana University plale@cs.indiana.edu LEAD TR 001, V3.0 V3.0 dated January 24, 2007 V2.0 dated August
More informationMonitoring PostgreSQL database with Verax NMS
Monitoring PostgreSQL database with Verax NMS Table of contents Abstract... 3 1. Adding PostgreSQL database to device inventory... 4 2. Adding sensors for PostgreSQL database... 7 3. Adding performance
More informationFig. 3. PostgreSQL subsystems
Development of a Parallel DBMS on the Basis of PostgreSQL C. S. Pan kvapen@gmail.com South Ural State University Abstract. The paper describes the architecture and the design of PargreSQL parallel database
More informationParallel Processing of JOIN Queries in OGSA-DAI
Parallel Processing of JOIN Queries in OGSA-DAI Fan Zhu Aug 21, 2009 MSc in High Performance Computing The University of Edinburgh Year of Presentation: 2009 Abstract JOIN Query is the most important and
More informationData Structures for Databases
60 Data Structures for Databases Joachim Hammer University of Florida Markus Schneider University of Florida 60.1 Overview of the Functionality of a Database Management System..................................
More informationDiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com info@flexense.com 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
More informationQuickDB Yet YetAnother Database Management System?
QuickDB Yet YetAnother Database Management System? Radim Bača, Peter Chovanec, Michal Krátký, and Petr Lukáš Radim Bača, Peter Chovanec, Michal Krátký, and Petr Lukáš Department of Computer Science, FEECS,
More informationDeferred node-copying scheme for XQuery processors
Deferred node-copying scheme for XQuery processors Jan Kurš and Jan Vraný Software Engineering Group, FIT ČVUT, Kolejn 550/2, 160 00, Prague, Czech Republic kurs.jan@post.cz, jan.vrany@fit.cvut.cz Abstract.
More informationNew Hash Function Construction for Textual and Geometric Data Retrieval
Latest Trends on Computers, Vol., pp.483-489, ISBN 978-96-474-3-4, ISSN 79-45, CSCC conference, Corfu, Greece, New Hash Function Construction for Textual and Geometric Data Retrieval Václav Skala, Jan
More informationSilect Software s MP Author
Silect MP Author for Microsoft System Center Operations Manager Silect Software s MP Author User Guide September 2, 2015 Disclaimer The information in this document is furnished for informational use only,
More informationImproving SQL Server Performance
Informatica Economică vol. 14, no. 2/2010 55 Improving SQL Server Performance Nicolae MERCIOIU 1, Victor VLADUCU 2 1 Prosecutor's Office attached to the High Court of Cassation and Justice 2 Prosecutor's
More informationOptimizing Description Logic Subsumption
Topics in Knowledge Representation and Reasoning Optimizing Description Logic Subsumption Maryam Fazel-Zarandi Company Department of Computer Science University of Toronto Outline Introduction Optimization
More informationProblems with your Data Model in SAP NetWeaver MDM Do s and Don ts
How-to Guide SAP NetWeaver 7.0 (2004s) How to Avoid Problems with your Data Model in SAP NetWeaver MDM Do s and Don ts Version 1.00 May 2007 Applicable Releases: SAP NetWeaver 2004 SAP NetWeaver 7.0 (2004s)
More informationBuilding well-balanced CDN 1
Proceedings of the Federated Conference on Computer Science and Information Systems pp. 679 683 ISBN 978-83-60810-51-4 Building well-balanced CDN 1 Piotr Stapp, Piotr Zgadzaj Warsaw University of Technology
More informationUsing Continuous Operations Mode for Proper Backups
Using Continuous Operations Mode for Proper Backups A White Paper From Goldstar Software Inc. For more information, see our web site at Using Continuous Operations Mode for Proper Backups Last Updated:
More informationThe University of Jordan
The University of Jordan Master in Web Intelligence Non Thesis Department of Business Information Technology King Abdullah II School for Information Technology The University of Jordan 1 STUDY PLAN MASTER'S
More informationFrom Databases to Natural Language: The Unusual Direction
From Databases to Natural Language: The Unusual Direction Yannis Ioannidis Dept. of Informatics & Telecommunications, MaDgIK Lab University of Athens, Hellas (Greece) yannis@di.uoa.gr http://www.di.uoa.gr/
More informationSAP HANA - Main Memory Technology: A Challenge for Development of Business Applications. Jürgen Primsch, SAP AG July 2011
SAP HANA - Main Memory Technology: A Challenge for Development of Business Applications Jürgen Primsch, SAP AG July 2011 Why In-Memory? Information at the Speed of Thought Imagine access to business data,
More informationNATURAL LANGUAGE TO SQL CONVERSION SYSTEM
International Journal of Computer Science Engineering and Information Technology Research (IJCSEITR) ISSN 2249-6831 Vol. 3, Issue 2, Jun 2013, 161-166 TJPRC Pvt. Ltd. NATURAL LANGUAGE TO SQL CONVERSION
More informationIMPROVING DATA INTEGRATION FOR DATA WAREHOUSE: A DATA MINING APPROACH
IMPROVING DATA INTEGRATION FOR DATA WAREHOUSE: A DATA MINING APPROACH Kalinka Mihaylova Kaloyanova St. Kliment Ohridski University of Sofia, Faculty of Mathematics and Informatics Sofia 1164, Bulgaria
More informationMS 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
More informationRevolutionized DB2 Test Data Management
Revolutionized DB2 Test Data Management TestBase's Patented Slice Feature Provides a Fresh Solution to an Old Set of DB2 Application Testing Problems The challenge in creating realistic representative
More informationChapter One Introduction to Programming
Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of
More informationDivision of Mathematical Sciences
Division of Mathematical Sciences Chair: Mohammad Ladan, Ph.D. The Division of Mathematical Sciences at Haigazian University includes Computer Science and Mathematics. The Bachelor of Science (B.S.) degree
More informationEDG Project: Database Management Services
EDG Project: Database Management Services Leanne Guy for the EDG Data Management Work Package EDG::WP2 Leanne.Guy@cern.ch http://cern.ch/leanne 17 April 2002 DAI Workshop Presentation 1 Information in
More informationCS 525 Advanced Database Organization - Spring 2013 Mon + Wed 3:15-4:30 PM, Room: Wishnick Hall 113
CS 525 Advanced Database Organization - Spring 2013 Mon + Wed 3:15-4:30 PM, Room: Wishnick Hall 113 Instructor: Boris Glavic, Stuart Building 226 C, Phone: 312 567 5205, Email: bglavic@iit.edu Office Hours:
More informationAnalyze Database Optimization Techniques
IJCSNS International Journal of Computer Science and Network Security, VOL.10 No.8, August 2010 275 Analyze Database Optimization Techniques Syedur Rahman 1, A. M. Ahsan Feroz 2, Md. Kamruzzaman 3 and
More informationCHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS
66 CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS 5.1 INTRODUCTION In this research work, two new techniques have been proposed for addressing the problem of SQL injection attacks, one
More informationWorkflow Templates Library
Workflow s Library Table of Contents Intro... 2 Active Directory... 3 Application... 5 Cisco... 7 Database... 8 Excel Automation... 9 Files and Folders... 10 FTP Tasks... 13 Incident Management... 14 Security
More informationExperimental Comparison of Set Intersection Algorithms for Inverted Indexing
ITAT 213 Proceedings, CEUR Workshop Proceedings Vol. 13, pp. 58 64 http://ceur-ws.org/vol-13, Series ISSN 1613-73, c 213 V. Boža Experimental Comparison of Set Intersection Algorithms for Inverted Indexing
More informationCloud Computing at Google. Architecture
Cloud Computing at Google Google File System Web Systems and Algorithms Google Chris Brooks Department of Computer Science University of San Francisco Google has developed a layered system to handle webscale
More informationChapter 13: Query Processing. Basic Steps in Query Processing
Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing
More informationFirewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
More informationUniversity of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011
University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 Department Mission The Department of Computer Science in the College of Arts and Sciences
More informationAdvanced Query for Query Developers
for Developers This is a training guide to step you through the advanced functions of in NUFinancials. is an ad-hoc reporting tool that allows you to retrieve data that is stored in the NUFinancials application.
More information2) Write in detail the issues in the design of code generator.
COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage
More informationIn-memory database 1
In-memory database 1 2 Write a review to receive any FREE ebook from our Catalogue - $99 Value! If you recently bought this book we would love to hear from you! Benefit from receiving a free ebook from
More informationThe syslog-ng Premium Edition 5F2
The syslog-ng Premium Edition 5F2 PRODUCT DESCRIPTION Copyright 2000-2014 BalaBit IT Security All rights reserved. www.balabit.com Introduction The syslog-ng Premium Edition enables enterprises to collect,
More informationCompiler I: Syntax Analysis Human Thought
Course map Compiler I: Syntax Analysis Human Thought Abstract design Chapters 9, 12 H.L. Language & Operating Sys. Compiler Chapters 10-11 Virtual Machine Software hierarchy Translator Chapters 7-8 Assembly
More informationA Business Process Services Portal
A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru
More informationPostgreSQL Backup Strategies
PostgreSQL Backup Strategies Austin PGDay 2012 Austin, TX Magnus Hagander magnus@hagander.net PRODUCTS CONSULTING APPLICATION MANAGEMENT IT OPERATIONS SUPPORT TRAINING Replication! But I have replication!
More informationHow To Create A Data Transformation And Data Visualization Tool In Java (Xslt) (Programming) (Data Visualization) (Business Process) (Code) (Powerpoint) (Scripting) (Xsv) (Mapper) (
A Generic, Light Weight, Pluggable Data Transformation and Visualization Tool for XML to XML Transformation Rahil A. Khera 1, P. S. Game 2 1,2 Pune Institute of Computer Technology, Affiliated to SPPU,
More informationSAP Note 1642148 - FAQ: SAP HANA Database Backup & Recovery
Note Language: English Version: 1 Validity: Valid Since 14.10.2011 Summary Symptom To ensure optimal performance, SAP HANA database holds the bulk of its data in memory. However, it still uses persistent
More informationE-R Method Applied to Design the Teacher Information Management System s Database Model
Vol. 6, o. 4, August, 2013 E-R ethod Applied to Design the Teacher Information anagement System s Database odel Yingjian Kang 1 and Dan Zhao 2 1 Department of Computer Technology, College of Telecommunications
More informationIT2305 Database Systems I (Compulsory)
Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this
More informationFiles. Files. Files. Files. Files. File Organisation. What s it all about? What s in a file?
Files What s it all about? Information being stored about anything important to the business/individual keeping the files. The simple concepts used in the operation of manual files are often a good guide
More informationConfiguring Backup Settings. Copyright 2009, Oracle. All rights reserved.
Configuring Backup Settings Objectives After completing this lesson, you should be able to: Use Enterprise Manager to configure backup settings Enable control file autobackup Configure backup destinations
More informationChapter 1. The Worlds of Database. Systems. Databases today are essential to every business. They are used to maintain
Chapter 1 The Worlds of Database Systems Databases today are essential to every business. They are used to maintain internal records, to present data to customers and clients on the World-Wide- Web, and
More informationCOMP3420: Advanced Databases and Data Mining. Classification and prediction: Introduction and Decision Tree Induction
COMP3420: Advanced Databases and Data Mining Classification and prediction: Introduction and Decision Tree Induction Lecture outline Classification versus prediction Classification A two step process Supervised
More informationA very short Intro to Hadoop
4 Overview A very short Intro to Hadoop photo by: exfordy, flickr 5 How to Crunch a Petabyte? Lots of disks, spinning all the time Redundancy, since disks die Lots of CPU cores, working all the time Retry,
More informationLoad balancing using automatically discovered domain knowledge
Load balancing using automatically discovered domain knowledge Jouke van der Maas 10186883 Bachelor thesis Credits: 18 EC Bachelor Opleiding Kunstmatige Intelligentie University of Amsterdam Faculty of
More informationProgramming Languages CIS 443
Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception
More informationPerformance evaluation of Web Information Retrieval Systems and its application to e-business
Performance evaluation of Web Information Retrieval Systems and its application to e-business Fidel Cacheda, Angel Viña Departament of Information and Comunications Technologies Facultad de Informática,
More informationForensic Analysis of Internet Explorer Activity Files
Forensic Analysis of Internet Explorer Activity Files by Keith J. Jones keith.jones@foundstone.com 3/19/03 Table of Contents 1. Introduction 4 2. The Index.dat File Header 6 3. The HASH Table 10 4. The
More informationComputer Architecture
Computer Architecture Slide Sets WS 2013/2014 Prof. Dr. Uwe Brinkschulte M.Sc. Benjamin Betting Part 11 Memory Management Computer Architecture Part 11 page 1 of 44 Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin
More informationMicrosoft Dynamics GP 2013. econnect Installation and Administration Guide
Microsoft Dynamics GP 2013 econnect Installation and Administration Guide Copyright Copyright 2012 Microsoft Corporation. All rights reserved. Limitation of liability This document is provided as-is. Information
More informationArtificial Intelligence. Class: 3 rd
Artificial Intelligence Class: 3 rd Teaching scheme: 4 hours lecture credits: Course description: This subject covers the fundamentals of Artificial Intelligence including programming in logic, knowledge
More informationTable of Contents INTRODUCTION...2 HOME PAGE...3. Announcements... 6 Personalize... 7 Reminders... 9 Recent Items... 11 SERVICE CATALOG...
Table of Contents INTRODUCTION...2 HOME PAGE...3 Announcements... 6 Personalize... 7 Reminders... 9 Recent Items... 11 SERVICE CATALOG...12 REQUEST...14 Request List View... 15 Creating a New Incident...
More informationSystem Requirement Specification for A Distributed Desktop Search and Document Sharing Tool for Local Area Networks
System Requirement Specification for A Distributed Desktop Search and Document Sharing Tool for Local Area Networks OnurSoft Onur Tolga Şehitoğlu November 10, 2012 v1.0 Contents 1 Introduction 3 1.1 Purpose..............................
More informationCompiler Construction
Compiler Construction Lecture 1 - An Overview 2003 Robert M. Siegfried All rights reserved A few basic definitions Translate - v, a.to turn into one s own language or another. b. to transform or turn from
More informationIntroduction to Databases
Introduction to Databases IT University of Copenhagen January 7, 2005 This exam consists of 6 problems with a total of 16 questions. The weight of each problem is stated. You have 4 hours to answer all
More information