Patterns of Enterprise Application Architecture
|
|
- Trevor Mathews
- 6 years ago
- Views:
Transcription
1 Patterns of Enterprise Application Architecture CS446/ECE452/SE464 Majed Al-Shawa
2 Q1: Performance There are two systems, Shark and Whale. Each system is running on a single processor, but Shark produces 60 tps (transactions per second), while Whale produces 40 tps. After adding a processor to each system, Shark produces 90 tps and Whale produces 80 tps. As more processors are added, each system exhibits a linear increase in performance. Which system is more scalable, with respect to processor addition?
3 A1: Performance scalability =
4 A1: Performance scalability = change in performance / change in resources
5 A1: Performance scalability = change in performance / change in resources scalability shark = (tps new - tps old ) / number of processors added scalability whale = (tps new - tps old ) / number of processors added
6 A1: Performance scalability = change in performance / change in resources scalability shark = (tps new - tps old ) / number of processors added = (90 tps - 60 tps) / 1 processor = 30 tps / processor scalability whale = (tps new - tps old ) / number of processors added = (80 tps - 40 tps) / 1 processor = 40 tps / processor
7 A1: Performance scalability = change in performance / change in resources scalability shark = (tps new - tps old ) / number of processors added = (90 tps - 60 tps) / 1 processor = 30 tps / processor scalability whale = (tps new - tps old ) / number of processors added = (80 tps - 40 tps) / 1 processor = 40 tps / processor Therefore, Whale is a more scalable system Obviously, this calculation works only because the example assumes linear growth in performance. In general, you have to compare the two [performance vs. resource] curves for a range of resources.
8 Q2: Simple Expense-Tracking System There is a simple expense-tracking system that keeps track of expenses incurred on accounts for a small company. An expense is simply some amount of money that is incurred on an account at a point in time for some purpose. The system can perform three kinds of operations: 1) book an expense for an account 2) determine the expense balance for an account for a range of dates 3) determine the largest expense in the system What domain logic and data source architectural patterns would you use? Describe each pattern and explain why you would use each pattern. Show the class diagrams and the database schema used.
9 A2: Simple Expense-Tracking System Domain Logic Transaction Script Description: 1 business logic-containing procedure for each presentation request Reason for usage: simple implementation that works for a simple problem (few rules, not complex) Data Source Table Data Gateway Description: 1 class provides interface to perform database access on 1 table Reason for usage: separate queries from business logic, granularity appropriate for this small problem (even just one Table Data Gateway for all tables) Database schema CREATE TABLE accounts (ID int primary key, description varchar) CREATE TABLE expenses (ID int primary key, accountid int foreign key references accounts(id), amount int, description varchar, timebooked datetime)
10 A2: Simple Expense-Tracking System Domain Logic Transaction Script Description: 1 business logic-containing procedure for each presentation request Reason for usage: simple implementation that works for a simple problem (few rules, not complex) Data Source Table Data Gateway Description: 1 class provides interface to perform database access on 1 table Reason for usage: separate queries from business logic, granularity appropriate for this small problem (even just one Table Data Gateway for all tables) Database schema CREATE TABLE accounts (ID int primary key, description varchar) CREATE TABLE expenses (ID int primary key, accountid int foreign key references accounts(id), amount int, description varchar, timebooked datetime)
11 A2: Simple Expense-Tracking System Domain Logic Transaction Script Description: 1 business logic-containing procedure for each presentation request Reason for usage: simple implementation that works for a simple problem (few rules, not complex) Data Source Table Data Gateway Description: 1 class provides interface to perform database access on 1 table Reason for usage: separate queries from business logic, granularity appropriate for this small problem (even just one Table Data Gateway for all tables) Database schema CREATE TABLE accounts (ID int primary key, description varchar) CREATE TABLE expenses (ID int primary key, accountid int foreign key references accounts(id), amount int, description varchar, timebooked datetime)
12 A2: Simple Expense-Tracking System Class diagrams Services group the Transaction Scripts in meaningful ways As data complexity increases, multiple Table Data Gateways may be used AccountService + bookexpense(expense: ExpenseBean): void + getexpensesbalance (accountid: int, starting: Time, ending: Time): Money <<accesses DB usings>> Gateway + insertexpense(accountid: int, amount: int, description: String, timebooked: Time): void <<provides access to>> <<Database>> ExpenseService + getlargestexpense(): ExpenseBean <<accesses DB usings>> + findexpenses(accountid: int, starting: Time, ending: Time): ResultSet + remove + update
13 Q3: More Sophisticated Expense- Tracking System There is an expense-tracking system that has a slightly more sophisticated business logic than the previous system, for which you re able to create your own database schema. This system can perform numerous tax-related operations on expenses, including the ability to determine how much of an expense is tax-deductible according to different tax laws Your team is comfortable with object-oriented design. What domain logic and data source architectural patterns would you use? Describe each pattern and explain why you would use each pattern. Show the class diagrams.
14 A3: More Sophisticated Expense- Tracking System Domain Logic Simple Domain Model Description: an object model of the domain incorporates both behaviour and data, but that is not very complicated Reason for usage: complex business logic Data Source Active Record Description: an object that wraps a row in a database table or view, encapsulates the database access and adds domain logic on that data Reason for usage: Simple Domain Model, class structure not very different from the database schema
15 A3: More Sophisticated Expense- Tracking System Domain Logic Simple Domain Model Description: an object model of the domain incorporates both behaviour and data, but that is not very complicated Reason for usage: complex business logic Data Source Active Record Description: an object that wraps a row in a database table or view, encapsulates the database access and adds domain logic on that data Reason for usage: Simple Domain Model, class structure not very different from the database schema
16 A3: More Sophisticated Expense- Tracking System Domain Logic Simple Domain Model Description: an object model of the domain incorporates both behaviour and data, but that is not very complicated Reason for usage: complex business logic Data Source Active Record Description: an object that wraps a row in a database table or view, encapsulates the database access and adds domain logic on that data Reason for usage: Simple Domain Model, class structure not very different from the database schema
17 A3: More Sophisticated Expense- Tracking System - description: String - type: AccountType + insert + update + delete Account <<Database>> Tables: Account, Expense <<provides access to>> <<provides access to>> <<provides access to>> - expenses 1 0..* Expense - amount: int - account: Account - timebooked: Time - type: ExpenseType + insert + update + delete + gettaxdeductableamount(): int TaxStrategy + gettaxdeductableamount (expense: Expense): int <<calculates tax deductable amount using>> Finder ConcreteTaxStrategy1 ConcreteTaxStrategy2 + findexpensesforaccount(id: int): Account + gettaxdeductableamount (expense: Expense): int + gettaxdeductableamount (expense: Expense): int
18 Q4: Lazy loading using ghosts What design mechanisms are used to decouple domain objects in the domain logic layer from data mappers in data source layer when loading ghosts? Explain the rationale behind the mechanisms.
19 A4: Lazy loading using ghosts DomainObject needs to access DataSource, however, DomainObject should not be dependent on DataSource Therefore we use dependency inversion, which means that DomainObject accesses DataSource interface (IDataSource), which is in the domain logic layer There is a subclass of Mapper for every subclass of DomainObject MapperRegistry receives operations against an instance of a subclass of DomainObject, looks up the corresponding singleton subclass of Mapper, then forwards operations to the singleton MapperRegistry is a middleman that allows decoupling of concrete Mappers from concrete DomainObjects MapperRegistry, in the data source layer, implements the DataSource interface
20 Q5: Lazy loading collections How would you avoid ripple loading when loading a collection of objects using the lazy load mechanism?
21 A5: Lazy loading collections Lazy Loading the Collection The collection is Lazy Loaded. The database is hit once for the entire collection and all of its objects are retrieved at once.
22 Q6: Identity Field Discuss the problems associated with the different ways of getting a new key for the Identity Field objectrelational structural pattern.
23 A6: Identity Field Auto-generate Auto-generated field Can determine the new key only after insertion Cumbersome to insert rows related by foreign key constraints due to the need to specify foreign keys Database counter GUID A query (in a separate transaction) allows multiple ID values to be retrieved Nonstandard Readability Large in size
24 A6: Identity Field Generate your own Table scan using SQL max function (largest integer in the column + 1) Read-locks the table, preventing concurrent updates/insertions (resource contention) Must ensure complete isolation between transactions (otherwise, duplicate IDs) Separate key table <table name, latest key value> (database wide key system means 1 row only, with table name =database name) Key table update should be in a separate transaction. Otherwise, other transactions requiring access to the same row cannot continue. But putting into a separate transaction means that rollback of transactions will cause the new keys made by these transactions to become invalid (but this can be fixed)
Introduction. Example Databases
Introduction Example databases Overview of concepts Why use database systems Example Databases University Data: departments, students, exams, rooms,... Usage: creating exam plans, enter exam results, create
More informationSoftware LEIC/LETI. Lecture 10
Software Engineering @ LEIC/LETI Lecture 10 Last Lecture Project Management Large Number of Features Project Planning Risk Management Agile Planning Scrum (Sommerville, Fig 3.9) (http://en.wikipedia.org/wiki/scrum_(software_development))
More informationSQL STORED ROUTINES. CS121: Relational Databases Fall 2017 Lecture 9
SQL STORED ROUTINES CS121: Relational Databases Fall 2017 Lecture 9 SQL Functions 2 SQL queries can use sophisticated math operations and functions Can compute simple functions, aggregates Can compute
More informationDatabases. Jörg Endrullis. VU University Amsterdam
Databases Jörg Endrullis VU University Amsterdam Databases A database (DB) is a collection of data with a certain logical structure a specific semantics a specific group of users Databases A database (DB)
More informationOutline. Database Tuning. Ideal Transaction. Concurrency Tuning Goals. Concurrency Tuning. Nikolaus Augsten. Lock Tuning. Unit 8 WS 2013/2014
Outline Database Tuning Nikolaus Augsten University of Salzburg Department of Computer Science Database Group 1 Unit 8 WS 2013/2014 Adapted from Database Tuning by Dennis Shasha and Philippe Bonnet. Nikolaus
More informationProduced by. Design Patterns. MSc Computer Science. Eamonn de Leastar
Design Patterns MSc Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie)! Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationDatabase Management and Tuning
Database Management and Tuning Concurrency Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 8 May 10, 2012 Acknowledgements: The slides are provided by Nikolaus
More informationEngineering Robust Server Software
Engineering Robust Server Software Scalability Other Scalability Issues Database Load Testing 2 Databases Most server applications use databases Very complex pieces of software Designed for scalability
More informationEngineering Robust Server Software
Engineering Robust Server Software Scalability Other Scalability Issues Database Load Testing 2 Databases Most server applications use databases Very complex pieces of software Designed for scalability
More informationPatterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture Martin Fowler The Addison-Wesley Signature Series 2003 525 pages Ref: http://nida.se/patterns/poeaa/index.html A. Domain Logic Patterns 1. Transaction Script
More informationChapter 8: Working With Databases & Tables
Chapter 8: Working With Databases & Tables o Working with Databases & Tables DDL Component of SQL Databases CREATE DATABASE class; o Represented as directories in MySQL s data storage area o Can t have
More informationTopics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL
Databases Topics History - RDBMS - SQL Architecture - SQL - NoSQL MongoDB, Mongoose Persistent Data Storage What features do we want in a persistent data storage system? We have been using text files to
More informationWhere Are We? Next Few Lectures. Integrity Constraints Motivation. Constraints in E/R Diagrams. Keys in E/R Diagrams
Where Are We? Introduction to Data Management CSE 344 Lecture 15: Constraints We know quite a bit about using a DBMS Start with real-world problem, design ER diagram From ER diagram to relations -> conceptual
More informationIntroduction. Who wants to study databases?
Introduction Example databases Overview of concepts Why use database systems Who wants to study databases? What is the use of all the courses I have taken so far? This course shows very concrete how CS
More informationApproach for Mapping Ontologies to Relational Databases
Approach for Mapping Ontologies to Relational Databases A. Rozeva Technical University Sofia E-mail: arozeva@tu-sofia.bg INTRODUCTION Research field mapping ontologies to databases Research goal facilitation
More informationSoftware LEIC/LETI. Lecture 15
Software Engineering @ LEIC/LETI Lecture 15 Last Lecture Software Architecture Architectural Patterns Application Architectures Software Architecture in the Project Today Enterprise Application Architecture
More informationWeb Applications. Software Engineering 2017 Alessio Gambi - Saarland University
Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system
More informationMICHIEL ROOK DATABASE MIGRATIONS WITHOUT DOWN TIME
MICHIEL ROOK DATABASE MIGRATIONS WITHOUT DOWN TIME @michieltcs Developer, consultant, trainer, speaker @michieltcs ABOUT DATABASE MIGRATIONS ABOUT SCHEMA MIGRATIONS SQL UP @michieltcs UP DOWN @michieltcs
More informationCSE 530A ACID. Washington University Fall 2013
CSE 530A ACID Washington University Fall 2013 Concurrency Enterprise-scale DBMSs are designed to host multiple databases and handle multiple concurrent connections Transactions are designed to enable Data
More informationModule 9: Managing Schema Objects
Module 9: Managing Schema Objects Overview Naming guidelines for identifiers in schema object definitions Storage and structure of schema objects Implementing data integrity using constraints Implementing
More informationLocking, Blocking, Versions: Concurrency for Maximum Performance. Kalen Delaney, Moderated By: Daniel Janik
Locking, Blocking, Versions: Concurrency for Maximum Performance Kalen Delaney, www.sqlserverinternals.com Moderated By: Daniel Janik Thank You microsoft.com idera.com attunity.com Empower users with new
More informationLearning patterns of application architecture by looking at code
Proceedings of the 11th WSEAS International Conference on COMPUTERS, Agios Nikolaos, Crete Island, Greece, July 26-28, 2007 577 Learning patterns of application architecture by looking at code PAULO SOUSA
More informationDATABASE 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 informationHeckaton. SQL Server's Memory Optimized OLTP Engine
Heckaton SQL Server's Memory Optimized OLTP Engine Agenda Introduction to Hekaton Design Consideration High Level Architecture Storage and Indexing Query Processing Transaction Management Transaction Durability
More informationObject Persistence Design Guidelines
Object Persistence Design Guidelines Motivation Design guideline supports architects and developers in design and development issues of binding object-oriented applications to data sources The major task
More informationBackground. vanilladb.org
Background vanilladb.org Why do you need a database system? 2 To store data, why not just use a file system? 3 Advantages of a Database System It answers queries fast Q1: among a set of blog pages, find
More informationDB Creation with SQL DDL
DB Creation with SQL DDL Outline SQL Concepts Data Types Schema/Table/View Creation Transactions and Access Control Objectives of SQL Ideally, database language should allow user to: create the database
More informationDatabase Technology Introduction. Heiko Paulheim
Database Technology Introduction Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query Processing Transaction Manager Introduction to the Relational Model
More informationTOPLink for WebLogic. Whitepaper. The Challenge: The Solution:
Whitepaper The Challenge: Enterprise JavaBeans (EJB) represents a new standard in enterprise computing: a component-based architecture for developing and deploying distributed object-oriented applications
More informationIntroduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 10: Transaction processing. November 14, Lecturer: Rasmus Pagh
Introduction to Databases, Fall 2005 IT University of Copenhagen Lecture 10: Transaction processing November 14, 2005 Lecturer: Rasmus Pagh Today s lecture Part I: Transaction processing Serializability
More informationDatabase Systems CSE 414
Database Systems CSE 414 Lecture 20: Introduction to Transactions CSE 414 - Spring 2017 1 Announcements HW6 due on Wednesday WQ6 available for one more day WQ7 (last one!) due on Sunday CSE 414 - Spring
More informationSoftware Architecture Design Architectural Patterns
Software Architecture Design Architectural Patterns Matthew Dailey Computer Science and Information Management Asian Institute of Technology Matthew Dailey (CSIM-AIT) Patterns 1 / 193 Readings Readings
More informationDistributed KIDS Labs 1
Distributed Databases @ KIDS Labs 1 Distributed Database System A distributed database system consists of loosely coupled sites that share no physical component Appears to user as a single system Database
More informationSoftware LEIC/LETI. Lecture 20
Software Engineering @ LEIC/LETI Lecture 20 Last Lecture Profiler and Debugger tools Offline concurrency patterns Presentation logic Services Domain logic Remote access Data access Remote Service Database
More informationB.H.GARDI COLLEGE OF ENGINEERING & TECHNOLOGY (MCA Dept.) Parallel Database Database Management System - 2
Introduction :- Today single CPU based architecture is not capable enough for the modern database that are required to handle more demanding and complex requirements of the users, for example, high performance,
More informationSQL: DML and Advanced Constructs Insert, Update, Delete, View, Index, Procedure, Transaction, Trigger
Courses B0B36DBS, A7B36DBS: Database Systems Practical Class 08: SQL: DML and Advanced Constructs Insert, Update, Delete, View, Index, Procedure, Transaction, Trigger Martin Svoboda 11. 4. 2017 Faculty
More informationCS425 Fall 2016 Boris Glavic Chapter 1: Introduction
CS425 Fall 2016 Boris Glavic Chapter 1: Introduction Modified from: Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Textbook: Chapter 1 1.2 Database Management System (DBMS)
More informationCourse Outline and Objectives: Database Programming with SQL
Introduction to Computer Science and Business Course Outline and Objectives: Database Programming with SQL This is the second portion of the Database Design and Programming with SQL course. In this portion,
More informationTransactions. Juliana Freire. Some slides adapted from L. Delcambre, R. Ramakrishnan, G. Lindstrom, J. Ullman and Silberschatz, Korth and Sudarshan
Transactions Juliana Freire Some slides adapted from L. Delcambre, R. Ramakrishnan, G. Lindstrom, J. Ullman and Silberschatz, Korth and Sudarshan Motivation Database systems are normally being accessed
More informationDaffodil DB. Design Document (Beta) Version 4.0
Daffodil DB Design Document (Beta) Version 4.0 January 2005 Copyright Daffodil Software Limited Sco 42,3 rd Floor Old Judicial Complex, Civil lines Gurgaon - 122001 Haryana, India. www.daffodildb.com All
More informationDynamically build connection objects for Microsoft Access databases in SQL Server Integration Services SSIS
Dynamically build connection objects for Microsoft Access databases in SQL Server Integration Services SSIS Problem As a portion of our daily data upload process, we receive data in the form of Microsoft
More informationDatabase Application Development Oracle PL/SQL, part 2. CS430/630 Lecture 18b
Database Application Development Oracle PL/SQL, part 2 CS430/630 Lecture 18b Murach Chapter 14 How to manage transactions and locking PL/SQL, C14 2014, Mike Murach & Associates, Inc. Slide 2 Objectives
More informationB.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1
Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished
More informationWhat is Transaction? Why Transaction Management Required? JDBC Transaction Management in Java with Example. JDBC Transaction Management Example
JDBC Transaction Management in Java with Example Here you will learn to implement JDBC transaction management in java. By default database is in auto commit mode. That means for any insert, update or delete
More informationEternal Story on Temporary Objects
Eternal Story on Temporary Objects Dmitri V. Korotkevitch http://aboutsqlserver.com About Me 14+ years of experience working with Microsoft SQL Server Microsoft SQL Server MVP Microsoft Certified Master
More informationPlug-and-Analyze (PnA): An Integrated Framework for Architecture Tradeoff Analysis Tool Support
Plug-and-Analyze (PnA): An Integrated Framework for Architecture Tradeoff Analysis Tool Support Ground Systems Architecture Workshop 2000 February 23-25, 2000 Hoh In (hohin@cs.tamu.edu) http://www.cs.tamu.edu/faculty/hohin
More informationArchitecture of an Application Generator Short Public Version
Architecture of an Application Generator Short Public Version May, 2007 By: Yaniv Hakim ewave ltd. Agenda Why application Generators? egen General Architecture Server Runtime Designer Question/Discussion
More informationMiddle-Tier Database Caching for e-business
Discussion of Middle-Tier Database Caching for e-business Joon Wong System Testing IBM Toronto Lab Outline ƒ Limitations and Restrictions ƒ Counter Examples ƒ Performance Issues ƒ Experimental Results
More informationCourse Logistics & Chapter 1 Introduction
CMSC 461, Database Management Systems Spring 2018 Course Logistics & Chapter 1 Introduction These slides are based on Database System Concepts book th edition, and the 2009 CMSC 461 slides by Dr. Kalpakis
More informationSoftware Design and Analysis CSCI 2040
Software Design and Analysis CSCI 2040 Summarize UML Deployment and Component notation. Design a framework with the Template Method, State, and Command patterns. Introduce issues in object-relational (O-R)
More informationDefining an ODBC data source
Defining an ODBC data source Cisco IPIVR and ICM Environment ALINEiT LLC alineit.com OVERVIEW This guideline document provides the steps needed to create an ODBC data source for the Cisco IPIVR application.
More informationSQL OVERVIEW. CS121: Relational Databases Fall 2017 Lecture 4
SQL OVERVIEW CS121: Relational Databases Fall 2017 Lecture 4 SQL 2 SQL = Structured Query Language Original language was SEQUEL IBM s System R project (early 1970 s) Structured English Query Language Caught
More informationT-SQL Training: T-SQL for SQL Server for Developers
Duration: 3 days T-SQL Training Overview T-SQL for SQL Server for Developers training teaches developers all the Transact-SQL skills they need to develop queries and views, and manipulate data in a SQL
More informationA Journey to DynamoDB
A Journey to DynamoDB and maybe away from DynamoDB Adam Dockter VP of Engineering ServiceTarget Who are we? Small Company 4 Developers AWS Infrastructure NO QA!! About our product Self service web application
More informationDatabases - Have it your way
Databases - Have it your way Frederick Cheung - kgb fred@texperts.com http://www.spacevatican.org 1 kgb Operates a number of Directory Enquiry type products in several countries Runs the 542542 Ask Us
More informationBottom line: A database is the data stored and a database system is the software that manages the data. COSC Dr.
COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically related data for
More informationLightweight J2EE Framework
Lightweight J2EE Framework Struts, spring, hibernate Software System Design Zhu Hongjun Session 4: Hibernate DAO Refresher in Enterprise Application Architectures Traditional Persistence and Hibernate
More informationHow to speed up a database which has gotten slow
Triad Area, NC USA E-mail: info@geniusone.com Web: http://geniusone.com How to speed up a database which has gotten slow hardware OS database parameters Blob fields Indices table design / table contents
More informationUpBit: Scalable In-Memory Updatable Bitmap Indexing. Guanting Chen, Yuan Zhang 2/21/2019
UpBit: Scalable In-Memory Updatable Bitmap Indexing Guanting Chen, Yuan Zhang 2/21/2019 BACKGROUND Some words to know Bitmap: a bitmap is a mapping from some domain to bits Bitmap Index: A bitmap index
More informationDS Introduction to SQL Part 1 Single-Table Queries. By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford)
DS 1300 - Introduction to SQL Part 1 Single-Table Queries By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford) Overview 1. SQL introduction & schema definitions 2. Basic single-table
More informationCOSC 304 Introduction to Database Systems. Database Introduction. Dr. Ramon Lawrence University of British Columbia Okanagan
COSC 304 Introduction to Database Systems Database Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically
More informationThe InfoLibrarian Metadata Appliance Automated Cataloging System for your IT infrastructure.
Metadata Integration Appliance Times have changed and here is modern solution that delivers instant return on your investment. The InfoLibrarian Metadata Appliance Automated Cataloging System for your
More informationThe DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.
Managing Data Data storage tool must provide the following features: Data definition (data structuring) Data entry (to add new data) Data editing (to change existing data) Querying (a means of extracting
More information7. Query Processing and Optimization
7. Query Processing and Optimization Processing a Query 103 Indexing for Performance Simple (individual) index B + -tree index Matching index scan vs nonmatching index scan Unique index one entry and one
More informationChapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query
More informationMark Broadbent Principal Consultant SQLCloud SQLCLOUD.CO.UK
lock, block & two smoking barrels Mark Broadbent Principal Consultant SQLCloud SQLCLOUD.CO.UK About Mark Broadbent. 30 billion times more intelligent than a live mattress Microsoft Certified Master/ Certified
More informationIntroduction to Data Management CSE 344
Introduction to Data Management CSE 344 Lecture 16: Constraints CSE 344 - Fall 2014 1 Announcements Sections tomorrow: XML. Quiz and next HW on XML posted soon, due next week after midterm HW 4 due tomorrow
More informationIntroduction to Data Management CSE 344
Introduction to Data Management CSE 344 Unit 7: Transactions Schedules Implementation Two-phase Locking (3 lectures) 1 Class Overview Unit 1: Intro Unit 2: Relational Data Models and Query Languages Unit
More informationMicrosoft Developing SQL Databases. Download Full version :
Microsoft 70-762 Developing SQL Databases Download Full version : http://killexams.com/pass4sure/exam-detail/70-762 QUESTION: 81 You have a database named DB1. There is no memory-optimized file group in
More information1. Attempt any two of the following: 10 a. State and justify the characteristics of a Data Warehouse with suitable examples.
Instructions to the Examiners: 1. May the Examiners not look for exact words from the text book in the Answers. 2. May any valid example be accepted - example may or may not be from the text book 1. Attempt
More informationUsing a DBMS. Shan-Hung Wu & DataLab CS, NTHU
Using a DBMS Shan-Hung Wu & DataLab CS, NTHU DBMS Database A database is a collection of your data stored in a computer A DBMS (DataBase Management System) is a software that manages databases 2 Outline
More informationChapter 1: Introduction
Chapter 1: Introduction Chapter 2: Intro. To the Relational Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS is Collection of
More informationMASSACHUSETTS INSTITUTE OF TECHNOLOGY Database Systems: Fall 2008 Quiz II
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.830 Database Systems: Fall 2008 Quiz II There are 14 questions and 11 pages in this quiz booklet. To receive
More informationOracle 11g Optimizer Statistics Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc.
ORACLE 11G DATABASE STATISTICS Inderpal S. Johal, Data Softech Inc. OVERVIEW Oracle 10g have made lots of significant change so as to provide good performance to Oracle database. The important changes
More informationPOJOs in Action DEVELOPING ENTERPRISE APPLICATIONS WITH LIGHTWEIGHT FRAMEWORKS CHRIS RICHARDSON MANNING. Greenwich (74 w. long.)
POJOs in Action DEVELOPING ENTERPRISE APPLICATIONS WITH LIGHTWEIGHT FRAMEWORKS CHRIS RICHARDSON MANNING Greenwich (74 w. long.) contents PART 1 1 preface xix acknowledgments xxi about this book xxiii about
More informationDatabase. Università degli Studi di Roma Tor Vergata. ICT and Internet Engineering. Instructor: Andrea Giglio
Università degli Studi di Roma Tor Vergata Database ICT and Internet Engineering Instructor: Andrea Giglio andrea.giglio@uniroma2.it 1 Concurrency Concurrent execution of user programs is essential for
More informationG a l e r a C l u s t e r Schema Upgrades
G a l e r a C l u s t e r Schema Upgrades Seppo Jaakola Codership Agenda Galera Cluster Overview DDL vs DML Demo of DDL Replication in Galera Cluster Rolling Schema Upgrade (RSU) Total Order Isolation
More informationCOMP.3090/3100 Database I & II. Textbook
COMP.3090/3100 Database I & II Slides adapted from http://infolab.stanford.edu/~ullman/fcdb.html Prof. Cindy Chen cchen@cs.uml.edu September 7, 2017 Textbook Required: First Course in Database Systems,
More informationCSE 344 Final Review. August 16 th
CSE 344 Final Review August 16 th Final In class on Friday One sheet of notes, front and back cost formulas also provided Practice exam on web site Good luck! Primary Topics Parallel DBs parallel join
More informationPHP Object-Relational Mapping Libraries in action
PHP Object-Relational Mapping Libraries in action Apr 14, 2010 O'Reilly MySQL Conference and Expo Santa Clara, CA Fernando Ipar & Ryan Lowe Percona Inc. -2- Agenda What are ORM libraries Object Oriented
More informationScott Meder Senior Regional Sales Manager
www.raima.com Scott Meder Senior Regional Sales Manager scott.meder@raima.com Short Introduction to Raima What is Data Management What are your requirements? How do I make the right decision? - Architecture
More informationSQL (and MySQL) Useful things I have learnt, borrowed and stolen
SQL (and MySQL) Useful things I have learnt, borrowed and stolen MySQL truncates data MySQL truncates data CREATE TABLE pets ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, type CHAR(3) NOT NULL, PRIMARY KEY
More informationOral Questions and Answers (DBMS LAB) Questions & Answers- DBMS
Questions & Answers- DBMS https://career.guru99.com/top-50-database-interview-questions/ 1) Define Database. A prearranged collection of figures known as data is called database. 2) What is DBMS? Database
More informationIntroduction to Database Systems CSE 414
Introduction to Database Systems CSE 414 Lecture 16: Constraints CSE 414 - Spring 2015 1 Announcements Reminders: Web quiz due Monday night XML homework due Wednesday night Today: Constraints (7.1, 7.2,
More informationData Base Concepts. Course Guide 2
MS Access Chapter 1 Data Base Concepts Course Guide 2 Data Base Concepts Data The term data is often used to distinguish binary machine-readable information from textual human-readable information. For
More informationGet Table Schema In Sql Server 2005 Modify. Column Datatype >>>CLICK HERE<<<
Get Table Schema In Sql Server 2005 Modify Column Datatype Applies To: SQL Server 2014, SQL Server 2016 Preview Specifies the properties of a column that are added to a table by using ALTER TABLE. Is the
More informationSql Server Schema Update Join Multiple Tables In One Query
Sql Server Schema Update Join Multiple Tables In One Query How to overcome the query poor performance when joining multiple times? How would you do the query to retrieve 10 different fields for one project
More informationHow Oracle Does It. No Read Locks
How Oracle Does It Oracle Locking Policy No Read Locks Normal operation: no read locks Readers do not inhibit writers Writers do not inhibit readers Only contention is Write-Write Method: multiversion
More informationDATABASE TRANSACTIONS. CS121: Relational Databases Fall 2017 Lecture 25
DATABASE TRANSACTIONS CS121: Relational Databases Fall 2017 Lecture 25 Database Transactions 2 Many situations where a sequence of database operations must be treated as a single unit A combination of
More informationAzure-persistence MARTIN MUDRA
Azure-persistence MARTIN MUDRA Storage service access Blobs Queues Tables Storage service Horizontally scalable Zone Redundancy Accounts Based on Uri Pricing Calculator Azure table storage Storage Account
More informationDATABASES SQL INFOTEK SOLUTIONS TEAM
DATABASES SQL INFOTEK SOLUTIONS TEAM TRAINING@INFOTEK-SOLUTIONS.COM Databases 1. Introduction in databases 2. Relational databases (SQL databases) 3. Database management system (DBMS) 4. Database design
More informationJohn Edgar 2
CMPT 354 http://www.cs.sfu.ca/coursecentral/354/johnwill/ John Edgar 2 Assignments 30% Midterm exam in class 20% Final exam 50% John Edgar 3 A database is a collection of information Databases of one
More informationA7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS
A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered
More informationSQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210
SQL: Concepts Todd Bacastow IST 210: Organization of Data 2/17/2004 1 Design questions How many entities are there? What are the major entities? What are the attributes of each entity? Is there a unique
More informationChapter 5 Managing the Data
Chapter 5 Managing the Data The data stored in your PegaRULES database includes instances of rule, data, work, assignment, and all the other classes present in your Process Commander system. This chapter
More informationIBM Exam C DB2 9.5 SQL Procedure Developer Version: 3.0 [ Total Questions: 97 ]
s@lm@n IBM Exam C2190-735 DB2 9.5 SQL Procedure Developer Version: 3.0 [ Total Questions: 97 ] IBM C2190-735 : Practice Test Question No : 1 Given the statement shown below: SELECT ROW CHANGE TOKEN FOR
More informationPatterns Of Enterprise Application Architecture
Patterns Of Enterprise Application Architecture Lecture 11-12 - Outlines Overview of patterns Web Presentation Patterns Base Patterns Putting It All Together References Domain Logic Patterns Domain Model
More informationChapter 4. Adaptive Self-tuning : A Neural Network approach. 4.1 Introduction
Chapter 4 Adaptive Self-tuning : A Neural Network approach 4.1 Introduction Machine learning is a method of solving real world problems by employing the hidden knowledge present in the past data or data
More informationData Modeling and Databases Ch 14: Data Replication. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich
Data Modeling and Databases Ch 14: Data Replication Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich Database Replication What is database replication The advantages of
More informationSystem Admin Manual <SNAPVALET> <Team No- 03>
System Admin Manual Name Brian Vanover Brian Bousman Ditong Ding Molly Karcher Patrick Horng Ridhima Manjrekar Role Project Manager, Developer Operational Concept Engineer, Developer
More information