Intercontinental Database Development Mike Furgal September 18 th, 2007.

Slides:



Advertisements
Similar presentations
Impact of Cloud Computing on Enterprise Architecture Perspectives, Best Practices, & Pitfalls David March 2009.
Advertisements

This course is designed for system managers/administrators to better understand the SAAZ Desktop and Server Management components Students will learn.
Indexing Large Data COMP # 22
Sylomer & Sylodyn Architectural Applications
Categories of I/O Devices
Memory.
OpenEdge 10.2B and 11 Status and Plans Wouter Dupré Sr. Solution Consultant June 11, 2014.
Virtual Memory In this lecture, slides from lecture 16 from the course Computer Architecture ECE 201 by Professor Mike Schulte are used with permission.
Operating System.
Part IV: Memory Management
Sony Smart Cards and International Evaluation 2 nd Common Criteria Conference London, UK July 2001 i-Card System Solutions Division Broadband Network.
DB-7: OpenEdge® Database Performance Tuning
DB-03: A Tour of the OpenEdge™ RDBMS Storage Architecture Richard Banville Technical Fellow.
T OP N P ERFORMANCE T IPS Adam Backman Partner, White Star Software.
University of Notre Dame
Operating Systems Lecture 10 Issues in Paging and Virtual Memory Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing.
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
1. 1. Database address space 2. Virtual address space 3. Map table 4. Translation table 5. Swizzling and UnSwizzling 6. Pinned Blocks 2.
An Overview of Palm OS n Designed for special hardware –small screen ( 160 x 160 ) –less processing power than desktop PCs –quick turnaround expected –limited.
An Introduction to Computer Forensics James L. Antonakos Professor Computer Science Department.
File Systems Examples.
Representing Block and Record Addresses Rajhdeep Jandir ID: 103.
Virtual Memory BY JEMINI ISLAM. What is Virtual Memory Virtual memory is a memory management system that gives a computer the appearance of having more.
 Contents 1.Introduction about operating system. 2. What is 32 bit and 64 bit operating system. 3. File systems. 4. Minimum requirement for Windows 7.
Working with SQL and PL/SQL/ Session 1 / 1 of 27 SQL Server Architecture.
MODULE 2: INSTALLING UNIDESK. Agenda Understanding Unidesk components Basic Installation of Unidesk Licensing.
Birth, Death, Infinity Gus Björklund. ???. Dan Foreman. BravePoint. PUG Challenge Dusseldorf 2014.
1 The Virtual Reality Virtualization both inside and outside of the cloud Mike Furgal Director – Managed Database Services BravePoint.
Birth, Death, Infinity Gus Björklund. Progress. Dan Foreman. BravePoint. PUG Challenge Americas, 9-12 June 2013.
Objectives Learn what a file system does
Chapter 4 COB 204. What do you need to know about hardware? 
1 Physical Data Organization and Indexing Lecture 14.
Chapter pages1 File Management Chapter 12.
CSE 781 – DATABASE MANAGEMENT SYSTEMS Introduction To Oracle 10g Rajika Tandon.
8.4 paging Paging is a memory-management scheme that permits the physical address space of a process to be non-contiguous. The basic method for implementation.
DB-02 What’s New in the OpenEdge ® RDBMS Angelo Tracanna, Sr Manager, OpenEdge Data Management Products Tom Harris, Director, RDBMS Development Brian Werne,
Chapter 10 Designing the Files and Databases. SAD/CHAPTER 102 Learning Objectives Discuss the conversion from a logical data model to a physical database.
DB-08: A Day in the Life of a Type II Record Richard Banville Progress Fellow.
6.1 FILE ORGANIZATION BIT: Binary Digit (0,1; Y,N; On,Off)BIT: Binary Digit (0,1; Y,N; On,Off) BYTE: Combination of BITS which represent a CHARACTERBYTE:
CHAPTER 3-3: PAGE MAPPING MEMORY MANAGEMENT. VIRTUAL MEMORY Key Idea Disassociate addresses referenced in a running process from addresses available in.
CS 540 Database Management Systems
Digital Forensics Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #8 File Systems September 22, 2008.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
October 15-18, 2013 Charlotte, NC Accelerating Database Performance Using Compression Joseph D’Antoni, Solutions Architect Anexinet.
1 Contents Memory types & memory hierarchy Virtual memory (VM) Page replacement algorithms in case of VM.
File System Department of Computer Science Southern Illinois University Edwardsville Spring, 2016 Dr. Hiroshi Fujinoki CS 314.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Storage Tuning for Relational Databases Philippe Bonnet – Spring 2015.
CIT 140: Introduction to ITSlide #1 CSC 140: Introduction to IT Operating Systems.
Staff Training Week ( June 2013) A SECURE AND USABLE COMPUTER SYSTEM FOR ADMINISTRATIVE STAFF Antonio Ruiz González Beatriz Jiménez Valverde.
CS161 – Design and Architecture of Computer
CS 540 Database Management Systems
Memory Management Virtual Memory.
CS161 – Design and Architecture of Computer
Behind The Scenes: Updating A Record
Demand Paging Reference Reference on UNIX memory management
Windows Azure Migrating SQL Server Workloads
Demand Paging Reference Reference on UNIX memory management
Background Program must be brought into memory and placed within a process for it to be run. Input queue – collection of processes on the disk that are.
So far… Text RO …. printf() RW link printf Linking, loading
Main Memory Background Swapping Contiguous Allocation Paging
Database Internals: How Indexes Work
Contents Memory types & memory hierarchy Virtual memory (VM)
Chapter 8: Memory Management strategies
Database System Architecture
Department of Computer Science
Presentation transcript:

Intercontinental Database Development Mike Furgal September 18 th, 2007

© 2006 Progress Software Corporation2 Progress Software  Founded in 1981  Application Infrastructure Database Technologies –Relational (4GL and SQL access) –Object Oriented Middleware –Messaging products –ODBC/JDBC Drivers Event Processing

© 2006 Progress Software Corporation3 Progress Software  Headquartered in Bedford MA 1600 people world wide  Development offices Bedford, MA Nashua, NH Montreal, Canada Raleigh, North Carolina Hyderabad, India Noida, India Cambridge, England Houston, Texas San Diego, California  Sales offices worldwide

© 2006 Progress Software Corporation4 Progress Software  Who am I? Development Manager Manage development teams located in many of the offices worldwide Started with Progress Software in 1989

© 2006 Progress Software Corporation5 Agenda  Database Architecture How Data Is Stored and Retrieved  Global Development Why Go Global Challenges Rewards

© 2006 Progress Software Corporation6 Agenda  Database Architecture How Data Is Stored and Retrieved  Global Development Why Go Global Challenges Rewards

© 2006 Progress Software Corporation7 Database Architecture  What happens when you read a record from a database?  SELECT * FROM customer WHERE city = “Boston”;

© 2006 Progress Software Corporation8 Database Layout  Database divided into areas, extents, with fixed-size blocks or “pages”  Different kinds of pages store different kinds of data Records Index information Sequence values Unused space  Disk i/o in multiples of page size units  Each page has a unique identifier Its Storage Area Id Its “dbkey” or page number

© 2006 Progress Software Corporation9 Index B-Tree Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotInde x No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotIndex No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotIndex No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotIndex No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotIndex No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotIndex No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotIndex No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotIndex No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotIndex No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotIndex No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... root internal leaf Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotInde x No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter TopReserved Free Space o o o... Compressed Index Entries... BotInde x No. Num Entries Bytes Used... Compressed Index Entries... Dummy Entry... records

© 2006 Progress Software Corporation10 Index - an Ordered List Of Rowids City Rowid BOLONIA 3331 BOLTON5554 BOLTON9001 BOLTON9022 BONN 8001 BOSTON1111 BOSTON1118 BOSTON7001 BOSTON9002 BOSTON9003 BOSTON9006 BOSTON9007 BOSTON9008 BOSTON9009 BOSTON9999 CARDIFF 3333

© 2006 Progress Software Corporation11 Index - an Ordered List Of Rowids City Rowid BOLONIA 3331 BOLTON5554 BOLTON9001 BOLTON9022 BONN 8001 BOSTON1111 BOSTON1118 BOSTON7001 BOSTON9002 BOSTON9003 BOSTON9006 BOSTON9007 BOSTON9008 BOSTON9009 BOSTON9999 CARDIFF 3333

© 2006 Progress Software Corporation12 What Is A Rowid?  Unique 32-bit identifier for a record in a table Unique within an area  Encodes the “physiological” storage address Used to locate record fast  Constant for life of record Until you delete it  DBKEY is a composite of Block # in Green Row inside the block in Yellow

© 2006 Progress Software Corporation13 Record Block Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Version Number Free Space Free Dirs. Rec 0 OffsetRec 1 Offset Rec 2 OffsetRec n Offset Num Dirs. Contiguous Free Space Record 0 Record 2 Record 1

© 2006 Progress Software Corporation14 Database Buffer Pool Hash Table LRU Chain “oldest” “newest” Write Queue MMM MM

© 2006 Progress Software Corporation15 Get The Row Block’s DBKEYTypeChainBackup Ctr Next DBKEY in ChainBlock Update Counter Free Space Free Dirs. Rec 0 OffsetRec 1 Offset Rec 2 OffsetRec n Offset Num Dirs. Free Space Used Data Space Record 0 Record 2 Record 1 row buffer copy Share locked record block in buffer pool

© 2006 Progress Software Corporation16 Row is available  SELECT * FROM customer WHERE city = “Boston”;  Questions??

© 2006 Progress Software Corporation17 Agenda  Database Architectures How Data Is Stored and Retrieved  Global Development Why go global Challenges Rewards

© 2006 Progress Software Corporation18 Why Go Global  Economic Reasons  Recommended Reading ISBN  Communication is cheap

© 2006 Progress Software Corporation19 Progress Software Global Development  Development offices Hyderabad, India Noida, India Cambridge, England Bedford, MA Nashua, NH Montreal, Canada Raleigh, North Carolina Houston, Texas San Diego, California

© 2006 Progress Software Corporation20 Challenges  Time Zone Differences  Physical Distance  Collaboration  Culture

© 2006 Progress Software Corporation21 Time Zones Challenges  Development offices Hyderabad, India Noida, India Cambridge, England Bedford, MA Nashua, NH Montreal, Canada Raleigh, North Carolina Houston, Texas San Diego, California UTC-05 UTC UTC+0530 UTC-06 UTC-08

© 2006 Progress Software Corporation22 Time Zones Solutions  Clear concise Define Deliverables –What is expected –When is it expected  Scheduled meetings Early morning with India and England Afternoons with Texas and California Not possible with India, Nashua, and California –8 AM in Nashua  5 AM in California  5:30 PM in India

© 2006 Progress Software Corporation23 Physical Distance Challenges  Software products are large CD Image sizes 600+ MB  Source Code Control in Bedford, MA Network Connection Latency  Building and Debugging Network Connection Latency

© 2006 Progress Software Corporation24 Physical Distance Solutions  VMWare Allows multiple Window Operating System Images to be running on a single machine 8 CPU Linux Servers with 16 GB of memory –Serves 30 Windows Virtual Machines Remote Users “Remote Desktop” to their personal Virtual Machine Virtual Machine is co-located with development infrastructure Back to the days of centralized computing

© 2006 Progress Software Corporation25 Collaboration Challenges  No Hallway Conversations  No Whiteboard  Can’t walk into someone’s office to work out issues

© 2006 Progress Software Corporation26 Collaborations Solutions  Documentation Netmeeting Available on every Windows PC Allows sharing application or desktop  Instant Message is a key tool

© 2006 Progress Software Corporation27 Culture Differences  Work Day, Lunch, etc Going out to lunch everyday in England  Holidays Who celebrates the 4 th of July or Thanksgiving?  Managers, team leaders, individual contributors Who is the lead  Economy Job Hopping  Need to understand the cultural aspects Plan for the issue Work with the culture, not against it

© 2006 Progress Software Corporation28 Rewards  Economic rewards due to currency differences Can be drastic  Follow the sun development

© 2006 Progress Software Corporation29 A Model For Success  Keep local expertise where possible  Cross train remote staff Helps with turn-over  Document, Document, Document  Have a lot of Coffee on hand as you will be up early and up late for conference calls

© 2006 Progress Software Corporation30 Questions? Thank You