Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

51

Transcript of Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Page 1: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.
Page 2: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Microsoft ResearchMicrosoft Research

Jim GrayJim GrayResearcherResearcher

Microsoft ResearchMicrosoft ResearchMicrosoft CorporationMicrosoft Corporation

Page 3: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

OutlineOutline

Highlights of MS Highlights of MS ResearchResearch

DB-Related ResearchDB-Related Researchin some detailin some detail

Page 4: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Microsoft ResearchMicrosoft Researchhttp://Research.Microsoft.com/http://Research.Microsoft.com/

Goal: pursue strategic technologies for MSGoal: pursue strategic technologies for MS 231 Researchers in 20 areas231 Researchers in 20 areas Plan to grow to 600 in 3 yearsPlan to grow to 600 in 3 years Internationally recognized research teamsInternationally recognized research teams

Hundreds of publications, conference presentationsHundreds of publications, conference presentations Leadership in professional societies, journals, Leadership in professional societies, journals,

conferencesconferences

Virtually all MS products use technology from Virtually all MS products use technology from MS ResearchMS Research

Page 5: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Broad Research AreasBroad Research Areas Systems & architectureSystems & architecture

Distributed & scaleable systems, Distributed & scaleable systems, databases, cryptography, telepresencedatabases, cryptography, telepresence

Make programmers more productiveMake programmers more productive Tools, compilersTools, compilers

Human-oriented interactionHuman-oriented interaction Speech, natural language, vision, intelligenceSpeech, natural language, vision, intelligence 3D Graphics, moving beyond GUI3D Graphics, moving beyond GUI

Fundamental problemsFundamental problems

Page 6: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Development ToolsDevelopment Tools

Analysis of executablesAnalysis of executables Dynamic analysis driven by user scenariosDynamic analysis driven by user scenarios Instrumented codeInstrumented code

Automatic reorganization of executablesAutomatic reorganization of executables Reduce code working set size Reduce code working set size Branch straighteningBranch straightening Boot ordering for boot time reductionBoot ordering for boot time reduction

Reduced code working sets up to 50%Reduced code working sets up to 50% Improved throughput by 10%Improved throughput by 10%

Page 7: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Smaller Working SetsSmaller Working SetsFaster Startup & ExecutionFaster Startup & Execution

0

100

200

300

400

500

600

0 50 100

Seconds

Pag

es R

efer

ence

d

Original

Optimized

2%

7% 8%

35%

39%

10%

33%

0%

10%

20%

30%

40%

50%

TxRd$NoL TxRW$NoL TxWrt$

NT Network Drivers Throughput Speedup

Page 8: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Speech TechnologySpeech Technology Speech recognitionSpeech recognition

Speaker independent, Command and ControlSpeaker independent, Command and Control DictationDictation

Speaker independent, large vocabularySpeaker independent, large vocabulary Discrete and continuous speechDiscrete and continuous speech

Trainable speech synthesisTrainable speech synthesis Prosody and concatenative speech units learned Prosody and concatenative speech units learned

from corpusfrom corpus Demos and SDKs at web siteDemos and SDKs at web site

http://research.microsoft.com/research/srg/http://research.microsoft.com/research/srg/

Page 9: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Natural Language UnderstandingNatural Language Understanding Broad-coverage syntax analyzerBroad-coverage syntax analyzer.. Dictionary-based semantic network Dictionary-based semantic network

provides growing knowledge base.provides growing knowledge base. Underlying system is multi-lingual.Underlying system is multi-lingual. Contributions to MS word-processingContributions to MS word-processing

Levels of writing critiquesWe scheduled teh next meeting for noon.Each of the products are designed to help.I saw the Grand Canyon flying to Arizona.Ladies are requested not to have children in the bar. (from a sign in a Norwegian cocktail lounge)

Page 10: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Advanced summaryAdvanced summaryInteractive gamesInteractive games

Peedy+Peedy+

Improved SRImproved SR

Auto indexingAuto indexingSyntactic critiquesSyntactic critiques

Phrase spacingPhrase spacing

Find and replaceFind and replace

Bob+Bob+

Semantic critiquesSemantic critiques

Enhanced helpEnhanced help

NL queryNL queryImproved IRImproved IR

Interactive moviesInteractive moviesInfo highway cruiserInfo highway cruiser

RoboticsRobotics

VisionVision

LibraryLibrary

Dictionary

Diction

ary

MachineMachinelearninglearning

UIUI

22ndnd F F

ConceptConceptnormalizingnormalizing

Discourse/Discourse/pragmaticspragmatics

UniversityUniversity

SenseSensechoosingchoosing

Logical formLogical form

MorphologMorphologyy

fjeiofjdksleriowe.asmqweiqpo erooei iqpwe iioqwpe ec,l;akl

fjeiofjdksleriowe.asmqweiqpo erooei iqpwe iioqwpe ec,l;akl

Revised syntaxRevised syntax

SRSR

Initial Initial syntaxsyntax

ProbsProbs(DT)(DT)

Natural Language Natural Language Roadmap and Mile StonesRoadmap and Mile Stones

Page 11: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

3D Graphics Research3D Graphics Research Bring very high performance, high quality graphics to Bring very high performance, high quality graphics to

PCsPCs InteractiveInteractive Uniform treatment of multimediaUniform treatment of multimedia

ModelingModeling Representation of 3D modelsRepresentation of 3D models Automatic simplificationAutomatic simplification

AnimationAnimation

Page 12: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Simplification ProblemSimplification Problem

70,00070,000 8,7008,700 34,10034,100

Competing goals: accuracy & concisenessCompeting goals: accuracy & conciseness

4,2004,200 2,6002,600 2,3002,300

Page 13: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

difficult to author directly!

Simplification Results Simplification Results (creases)(creases)

original

simplified

(~10 minutes)

34,100

2,300

2,300

Page 14: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Vision ProjectsVision Projects

3D Reconstruction from Video and Images3D Reconstruction from Video and Images Motion analysis for video compressionMotion analysis for video compression Model acquisition for renderingModel acquisition for rendering

Visual Human/Computer InteractionVisual Human/Computer Interaction Communication by gestures and expressionsCommunication by gestures and expressions Multimodal speech/vision interfacesMultimodal speech/vision interfaces

Page 15: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Motion AnalysisMotion Analysis

convert masked images into a background convert masked images into a background sprite for content-based coding [Scrunch]sprite for content-based coding [Scrunch]

++ + + + +

==

working on motion trackingworking on motion tracking

Page 16: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

OutlineOutline

Highlights of MS Highlights of MS ResearchResearch

DB-Related ResearchDB-Related Research

Page 17: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

University of Washington University of Washington & Microsoft Research& Microsoft ResearchSummer Institute 1997Summer Institute 1997

Data Mining & Knowledge Data Mining & Knowledge DiscoveryDiscovery

July 6-11, 1997July 6-11, 1997

A collection of 75 researchers from around the world: –Statistics

–Databases–AI/pattern recognition–Visualization–Systems–HPC

http://research.Microsoft.com/uwmsrdmi

Page 18: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Data Mining and OLAPData Mining and OLAP The Query formulation problemThe Query formulation problem::

difficult to formulate as DB queries difficult to formulate as DB queries which records are fraudulent transactions?which records are fraudulent transactions? which households are likely to prefer a Ford over a Toyota?which households are likely to prefer a Ford over a Toyota? Who’s a good credit risk in my customer DB?Who’s a good credit risk in my customer DB?

Yet database contains the information Yet database contains the information good/bad customer, profitability, response rategood/bad customer, profitability, response rate known objects of interest (stars/galaxies), results in known objects of interest (stars/galaxies), results in

medical studies with higher details, etc...medical studies with higher details, etc...

Page 19: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

DM helps DM helps Use data to build predictorsUse data to build predictors

regression, classification, clustering etc.regression, classification, clustering etc. Generate summaries to aid understanding Generate summaries to aid understanding

find “easy to describe” partitions in data find “easy to describe” partitions in data automatically (via clustering/segmentation)automatically (via clustering/segmentation)

find clusters not well-known to analystfind clusters not well-known to analyst Example: Example:

Analyze web server hits to categorize clientsAnalyze web server hits to categorize clients ..

A new mode of interacting with databaseA new mode of interacting with database

Page 20: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

DatabasesDatabases RecoveryRecovery

Recover application state after sys fail.Recover application state after sys fail. Data StructuresData Structures

High concurrency data structures High concurrency data structures Key range locking in SS 7 based on Lomet’s work.Key range locking in SS 7 based on Lomet’s work.

Auto DB Design & AdminAuto DB Design & Admin Index DB designer started as research project.Index DB designer started as research project. More comingMore coming

Data Base ResearchData Base Researchhttp://research.Microsoft.com/db/http://research.Microsoft.com/db/

Page 21: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Scaleable ServersScaleable Servers High Availability SQL ServerHigh Availability SQL Server

Virtual Server designVirtual Server design Always Up prototypeAlways Up prototype

Billion Transactions Per Day demoBillion Transactions Per Day demo Combined SQL 6.5 with MTS, DTCCombined SQL 6.5 with MTS, DTC

RAGS: stress test NT DBsRAGS: stress test NT DBs TerraServer: a giant single node SQL7 DBTerraServer: a giant single node SQL7 DB Always Up prototypeAlways Up prototype

Page 22: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Scaleable ServersScaleable ServersBOTH SMP and ClusterBOTH SMP and Cluster

SMPSuper Server

DepartmentalServer

PersonalSystem

Grow Up with SMPGrow Up with SMP4xP6 is now standard4xP6 is now standard

Grow Out with ClusterGrow Out with Cluster

Cluster has inexpensive partsCluster has inexpensive parts

Clusterof PCs

Page 23: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Scale OUTScale OUTClusters Have AdvantagesClusters Have Advantages

Fault tolerance:Fault tolerance: Spare modules mask failuresSpare modules mask failures

Modular growth Modular growth without limitswithout limits Grow by adding small modulesGrow by adding small modules

Parallel data searchParallel data search Use multiple processors and disksUse multiple processors and disks

Clients and servers made from the same stuffClients and servers made from the same stuff Inexpensive: built with commodity CyberBricks Inexpensive: built with commodity CyberBricks

Page 24: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Billion Transactions per Day ProjectBillion Transactions per Day Project Built a 45-node Windows NT Cluster Built a 45-node Windows NT Cluster

(with help from Intel & Compaq)(with help from Intel & Compaq) > 900 disks> 900 disks

All off-the-shelf partsAll off-the-shelf parts Using SQL Server & Using SQL Server &

DTC distributed transactionsDTC distributed transactionsDCOM & ODBC clientsDCOM & ODBC clientson 20 front-end nodeson 20 front-end nodes

DebitCredit TransactionDebitCredit Transaction Each server node has 1/20 th of the DB Each server node has 1/20 th of the DB Each server node does 1/20 th of the workEach server node does 1/20 th of the work 15% of the transactions are “distributed”15% of the transactions are “distributed”

Page 25: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

1 B tpd: So What?1 B tpd: So What? Shows what is possible, easy to buildShows what is possible, easy to build

Grows without limitsGrows without limits

Shows scaleup of DTC, MTS, SQL…Shows scaleup of DTC, MTS, SQL… Shows (again) that shared-nothing clusters Shows (again) that shared-nothing clusters

scalescale

Next task: make it easy.Next task: make it easy. auto partition dataauto partition data auto partition applicationauto partition application auto manage & operateauto manage & operate

Page 26: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

ParallelismParallelismThe OTHER aspect of clustersThe OTHER aspect of clusters

Clusters of machines Clusters of machines allow two kinds allow two kinds of parallelismof parallelism Many little jobs: online Many little jobs: online

transaction processingtransaction processing TPC-A, B, C…TPC-A, B, C…

A few big jobs: data A few big jobs: data search and analysissearch and analysis TPC-D, DSS, OLAPTPC-D, DSS, OLAP

Both give Both give automatic parallelismautomatic parallelism

Page 27: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Kinds of Parallel ExecutionKinds of Parallel Execution

Pipeline

Partition outputs split N ways inputs merge M ways

Any Sequential Program

Any Sequential Program

Any Sequential

Any Sequential Program Program

Page 28: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Data RiversData RiversSplit + Merge StreamsSplit + Merge Streams

River

M ConsumersN producers

Producers add records to the river, Consumers consume records from the riverPurely sequential programming.River does flow control and buffering

does partition and merge of data records

River = Exchange operator in SQL 7

N X M Data Streams

Page 29: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

N x M way ParallelismN x M way Parallelism

A...E F...J K...N O...S T...Z

Merge

Join

Sort

Join

Sort

Join

Sort

Join

Sort

Join

Sort

Merge Merge

N inputs, M outputs, no bottlenecks.

Partitioned DataPartitioned and Pipelined Data Flows

Page 30: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Clustered DBsClustered DBs Pieces are in place with SQL 7.0Pieces are in place with SQL 7.0

Manage arrays of SQL ServersManage arrays of SQL Servers Partition data among filesPartition data among files Disk and CPU Parallel query plansDisk and CPU Parallel query plans Distributed query via OLE DBDistributed query via OLE DB High Availability with MSCS failoverHigh Availability with MSCS failover

Next Parallel Databases on NT clustersNext Parallel Databases on NT clusters Parallel QueryParallel Query Transparent access to partitioned tablesTransparent access to partitioned tables Grow without limits (16 x 2 TB)Grow without limits (16 x 2 TB) Do not add complexityDo not add complexity

Design, Administer, Operate, UseDesign, Administer, Operate, Use

Page 31: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Scaleup - Big DatabaseScaleup - Big Database Build a 1 TB SQL Server databaseBuild a 1 TB SQL Server database

Show off Windows NT and Show off Windows NT and SQL Server scalabilitySQL Server scalability

Stress test the productStress test the product Data must beData must be

1 TB1 TB UnencumberedUnencumbered Interesting to everyone everywhereInteresting to everyone everywhere AndAnd not offensive to anyone anywhere not offensive to anyone anywhere

Loaded Loaded 1.1 M place names from Encarta World Atlas1.1 M place names from Encarta World Atlas 1 M Sq Km from USGS (1 meter resolution)1 M Sq Km from USGS (1 meter resolution) 2 M Sq Km from Russian Space agency (2 m)2 M Sq Km from Russian Space agency (2 m)

Will be on web (world’s largest atlas)Will be on web (world’s largest atlas) Sell images with commerce server.Sell images with commerce server. USGS CRDA: 3 TB more coming.USGS CRDA: 3 TB more coming.

Page 32: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

TerraServerTerraServerWorld’s Largest PC!World’s Largest PC!

324 disks (2.9 terabytes) 324 disks (2.9 terabytes)

8 x 440Mhz Alpha CPUs8 x 440Mhz Alpha CPUs

10 GB DRAM10 GB DRAM

NT EE & SQL 7.0NT EE & SQL 7.0

Photo of the planetPhoto of the planetUSGS and RussianUSGS and Russianimagesimages

Page 33: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

BackgroundBackground Earth is 500 Tera-meters squareEarth is 500 Tera-meters square

USA is 10 tmUSA is 10 tm22

100 TM100 TM22 land in 70ºN to 70ºS land in 70ºN to 70ºS We have pictures of 6% of itWe have pictures of 6% of it

3 tsm from USGS3 tsm from USGS 2 tsm from Russian Space Agency 2 tsm from Russian Space Agency

Compress 5:1 Compress 5:1 (JPEG)(JPEG) to 1.5 TB. to 1.5 TB. Slice into 10 KB chunksSlice into 10 KB chunks Store chunks in DBStore chunks in DB Navigate withNavigate with

Encarta™ AtlasEncarta™ Atlas globeglobe gazetteergazetteer

StreetsPlus™ in the USAStreetsPlus™ in the USA

40x60 km2 jump image

20x30 km2 browse image

10x15 km2 thumbnail

1.8x1.2 km2 tile

SomedaySomeday multi-spectral multi-spectral

image image of everywhereof everywhere once a day / houronce a day / hour

Page 34: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

USGS Digital Ortho Quads USGS Digital Ortho Quads (DOQ)(DOQ)

US Geologic SurveyUS Geologic Survey 3 TeraBytes3 TeraBytes Most data not yet publishedMost data not yet published Based on a CRADABased on a CRADA

TerraServer makes data available.TerraServer makes data available.

USGS “DOQ”

1x1 meter4 TBContinentalUSNew DataComing

Page 35: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Russian Space AgencyRussian Space Agency(SovInfomSputnik)(SovInfomSputnik)

SPIN-2 SPIN-2 (Aerial Images is Worldwide Distributor)(Aerial Images is Worldwide Distributor)

1.5 Meter Geo Rectified imagery of (almost) anywhere1.5 Meter Geo Rectified imagery of (almost) anywhere Almost equal-area projectionAlmost equal-area projection De-classified satellite photos (from 200 KM),De-classified satellite photos (from 200 KM), More data coming (1 m)More data coming (1 m) Want to sell imagery on Internet.Want to sell imagery on Internet. Putting 2 tmPutting 2 tm22 onto TerraServer. onto TerraServer.

SPIN-2

Page 36: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

http://www.TerraServer.com

Demo Demo

Microsoft

BackOfficeSPIN-2

Page 37: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

1TB Database Server AlphaServer 8400 4x400. 10 GB RAM 324 StorageWorks disks 10 drive tape library (STC Timber Wolf DLT7000 )

SPIN-2

HardwareHardware

S T C9 7 4 0D L TT a p eL i b r a r y

4 89 G BD r i v e s

4 89 G BD r i v e s

4 89 G BD r i v e s

A l p h aS e r v e r8 4 0 0

E n t e r p r i s e S t o r a g e A r r a y

1 0 0 M b p sE t h e r n e t S w i t c h D S 3 I n t e r n e t

M a pS e r v e r

4 89 G BD r i v e s

4 89 G BD r i v e s

4 89 G BD r i v e s

8 x 4 4 0 M H zA l p h a c p u s1 0 G B D R A M

4 89 G BD r i v e s

S i t eS e r v e r s

Page 38: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

broswer

HTMLJava

Viewer

The Internet

Web Client

Microsoft AutomapActiveX Server

Internet InfoServer 4.0

Image DeliveryApplication

SQL Server7

MicrosoftSite Server EE

Internet InformationServer 4.0

Image Provider Site(s)

Terra-Server DB Automap Server

Sphinx(SQL Server)

Terra-ServerStored Procedures

InternetInformationServer 4.0

ImageServer

Active Server Pages

MTS

Terra-Server Web Site

SoftwareSoftware

Page 39: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Backup and RecoveryBackup and Recovery STC 9717 Tape robotSTC 9717 Tape robot Legato NetWorker™Legato NetWorker™ Sphinx Backup/Restore UtilitySphinx Backup/Restore Utility Clocked at 80 MBps!!Clocked at 80 MBps!!

SQL Server Enterprise MgrSQL Server Enterprise Mgr DBA MaintenanceDBA Maintenance SQL Performance MonitorSQL Performance Monitor

System System Management & Management & MaintenanceMaintenance

Page 40: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

TerraServer File Group LayoutTerraServer File Group Layout Convert 324 disks to 28 RAID5 setsConvert 324 disks to 28 RAID5 sets

plus 28 spare drivesplus 28 spare drives

Make 4 NT volumes (RAID 50)Make 4 NT volumes (RAID 50) 595 GB per volume595 GB per volume

Build 30 20GB files on each volumeBuild 30 20GB files on each volume DB is File Group of 120 filesDB is File Group of 120 files

HSZ70 A

HSZ70 B

HSZ70 A

HSZ70 B

HSZ70 A

HSZ70 B

HSZ70 A

HSZ70 B

HSZ70 A

HSZ70 B

HSZ70 A

HSZ70 B

E: F: G: H:

HSZ70 A

HSZ70 B

Page 41: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

AlternateNameName

CountryIDStateIDTypeID

GazSourcIDLatitude

LongitudeUGridIDZGridIDDOQdate

SPIN2date

PlaceID

Place

ImageFlag

FeatureType

TypeIDDescription

13

GazetteerSource

GazSrcIDDescription

11,089,897

Country

CountryIDCountryName

UNcode

264

State

StateIDCountryIDStateName

1083

CountrySearch

AlternateNameCountryIDGazSrcID

1148

StateSerach

AlternateNameCountryID

StateIDFreatureIDGazSrcID

3776

PlaceGrid

ZGridIDBestPlaceName

XDistanceYDistrance

50,000,000

Gazetteer DesignGazetteer Design Classic Snowflake SchemaClassic Snowflake Schema Fast First hint to OptimizerFast First hint to Optimizer

Page 42: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

1

ImgSource

SrcIDSrcName

SrcTblNameSrcDescription

GridSysIDImgTypeID

2

Jump

UGridIDZGridID

ZTileGridIDImgDataImgDate

ImgTypeIDImgMetaID

SrcIDEncryptKeyFile Name

.65 M SPIN21.5 M USGS

OriginalMetaData

OrigMetaIDSrcID

ImageSourceAgency

SourcePhotoIDSourcePhotoDateSourceDEMDate

MetaDataDateProductionSystem

ProductionDateDataFileSizeCompressionHeaderBytes

…80 other fields

650 k SPIN22 M USGS

Pick

NameDescription

LinkPickDate

10

ImageMeta

ImgMetaIDOrigMetaIDImgStatusImgDate

ImgTypeIDJumpPixHeightJumpPixWidth

BrowsePixHeightBrowsePixWidthThumbPixWidthThumbPixHeight

CutColCutRowMidLat

MidLongNELat

NELongNWLat

NWLongSELat

SELongSWLat

SWLongUGridID

UTMZoneXUtmIDYUtmIDXGridIDYGridIDZGridID

650 k SPIN22 M USGS

ImgType

ImgTypeIDImgFileDescImgFileExt

MimeStr

4

Browse

UGridIDZGridID

ZTileGridIDImgDataImgDate

ImgTypeIDImgMetaID

SrcIDEncryptKeyFile Name

.65 M SPIN21.5 M USGS

Thumb

UGridIDZGridID

ZTileGridIDImgDataImgDate

ImgTypeIDImgMetaID

SrcIDEncryptKeyFile Name

.65 M SPIN21.5 M USGS

Tile

UGridIDZGridID

ZTileGridIDImgDataImgDate

ImgTypeIDImgMetaID

SrcIDEncryptKeyFile Name

16 M SPIN296 M USGS

xxx

UGridHits

URLUGridID

ZTileGridIDcount

Log

URLTime

<extensivelist of actionparameters

xxx

TileMeta

ImgMetaIDOrigMetaID

SrcIDImgStatusImgDate

ImgTypeIDTilePixHeightTilePixWidth

CutColCutRowMidLat

MidLongNELat

NELongNWLat

NWLongSELat

SELongSWLat

SWLongUGridID

UTMZoneXUtmIDYUtmIDXGridIDYGridIDZGridID

16 M SPIN296 M USGS

Image Data DesignImage Data Design Image pyramid stored in DBMS Image pyramid stored in DBMS (250 M recs)(250 M recs)

Page 43: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Image Delivery and LoadImage Delivery and LoadDLTTape “tar”

\Drop’N’ DoJobWait 4LoadLoadMgr

DB

100mbitEtherSwitch

108 9.1 GBDrives

Enterprise Storage Array

AlphaServer8400

108 9.1 GBDrives

108 9.1 GBDrives

STCDLTTape

Library

604.3 GBDrives

AlphaServer4100

ESAAlphaServer4100

LoadMgr

DLTTape

NTBackup

ImgCutter

\Drop’N’ \Images

10: ImgCutter20: Partition30: ThumbImg40: BrowseImg45: JumpImg50: TileImg55: Meta Data60: Tile Meta70: Img Meta80: Update Place

...LoadMgr

Page 44: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Terra-Server TablesTerra-Server Tables USGS DOQ DataUSGS DOQ Data

48,000 DOQ images are input (45-55mb / image)48,000 DOQ images are input (45-55mb / image) Creates 864,000 Jump, Thumb, & Browse images (3.5 m rows)Creates 864,000 Jump, Thumb, & Browse images (3.5 m rows) Creates 55.3 m Tile images (110.6 m rows)Creates 55.3 m Tile images (110.6 m rows)

SPIN-2 DataSPIN-2 Data 3200 278 MB images are input (approximate size)3200 278 MB images are input (approximate size) Creates 620,800 Jump, Thumb, & Browse images (2.5 m rows)Creates 620,800 Jump, Thumb, & Browse images (2.5 m rows) Creates 15.5 m Tile images (31 m rows)Creates 15.5 m Tile images (31 m rows)

Gazetteer DataGazetteer Data 1.1 m named places (Encarta World Atlas)1.1 m named places (Encarta World Atlas) 45 m cell names45 m cell names

Total Rows = Total Rows = 228 M today (and growing fast) 228 M today (and growing fast)

Page 45: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Other DetailsOther Details Active Server pages Active Server pages

faster and easier than DB stored procedures.faster and easier than DB stored procedures.

Commerce Server is interestingCommerce Server is interesting Images the Inventory Images the Inventory

no SKU, no SKU, millions of themmillions of them

USGS built their ownUSGS built their own they are very smart, but it is easythey are very smart, but it is easy masquerade as a credit-card reader.masquerade as a credit-card reader.

The earth is a geoid, andThe earth is a geoid, and Every Geographer has a coordinate system Every Geographer has a coordinate system (or two).(or two).

Tapes are still a nightmare.Tapes are still a nightmare. Everyone is a UI expert.Everyone is a UI expert.

Page 46: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

SQL 7 TestimonialSQL 7 Testimonial We started using it March 4 1997We started using it March 4 1997

SQL 7 Pre-AlphaSQL 7 Pre-Alpha SQL 7 AlphaSQL 7 Alpha SLQ 7 Beta 1SLQ 7 Beta 1 SQL 7 Beta SQL 7 Beta

Loaded the DB twiceLoaded the DB twice (we made application mistakes)(we made application mistakes)

Now doing it “right”Now doing it “right” Reliability: Great! SQL 7 never lost dataReliability: Great! SQL 7 never lost data Ease of use: Great!Ease of use: Great! Functionality: Great!Functionality: Great!

Page 47: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

RAGS: RAGS: RAndom SQL test GeneratorRAndom SQL test Generator

Microsoft spends a LOT of money on testing. Microsoft spends a LOT of money on testing. Idea: test SQL by Idea: test SQL by

generating random generating random correctcorrect queries queries executing queries against databaseexecuting queries against database compare results with SQL 6.5, DB2, Oracle, Sybasecompare results with SQL 6.5, DB2, Oracle, Sybase

Being used in SQL 7.0 testing.Being used in SQL 7.0 testing. Very productive test toolVery productive test tool

Page 48: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Sample Sample Rags Rags Generated Generated StatementStatement

SELECT TOP 3 T1.royalty , T0.price , "Apr 15 1996 10:23AM" , T0.notesFROM titles T0, roysched T1WHERE EXISTS ( SELECT DISTINCT TOP 9 $3.11 , "Apr 15 1996 10:23AM" , T0.advance , ( "<v3``VF;" +(( UPPER(((T2.ord_num +"22\}0G3" )+T2.ord_num ))+("{1FL6t15m" + RTRIM( UPPER((T1.title_id +((("MlV=Cf1kA" +"GS?" )+T2.payterms )+T2.payterms ))))))+(T2.ord_num +RTRIM((LTRIM((T2.title_id +T2.stor_id ))+"2" ))))), T0.advance , (((-(T2.qty ))/(1.0 ))+(((-(-(-1 )))+( DEGREES(T2.qty )))-(-(( -4 )-(-(T2.qty ))))))+(-(-1 )) FROM sales T2 WHERE EXISTS ( SELECT "fQDs" , T2.ord_date , AVG ((-(7 ))/(1 )), MAX (DISTINCT -1 ), LTRIM("0I=L601]H" ), ("jQ\" +((( MAX(T3.phone )+ MAX((RTRIM( UPPER( T5.stor_name ))+((("<" +"9n0yN" )+ UPPER("c" ))+T3.zip ))))+T2.payterms )+ MAX("\?" ))) FROM authors T3, roysched T4, stores T5 WHERE EXISTS ( SELECT DISTINCT TOP 5 LTRIM(T6.state ) FROM stores T6 WHERE ( (-(-(5 )))>= T4.royalty ) AND (( ( ( LOWER( UPPER((("9W8W>kOa" + T6.stor_address )+"{P~" ))))!= ANY (

SELECT TOP 2 LOWER(( UPPER("B9{WIX" )+"J" )) FROM roysched T7 WHERE ( EXISTS (

SELECT (T8.city +(T9.pub_id +((">" +T10.country )+ UPPER( LOWER(T10.city))))), T7.lorange , ((T7.lorange )*((T7.lorange )%(-2 )))/((-5 )-(-2.0 )) FROM publishers T8, pub_info T9, publishers T10 WHERE ( (-10 )<= POWER((T7.royalty )/(T7.lorange ),1)) AND (-1.0 BETWEEN (-9.0 ) AND (POWER(-9.0 ,0.0)) ) ) --EOQ ) AND (NOT (EXISTS ( SELECT MIN (T9.i3 ) FROM roysched T8, d2 T9, stores T10 WHERE ( (T10.city + LOWER(T10.stor_id )) BETWEEN (("QNu@WI" +T10.stor_id )) AND ("DT" ) ) AND ("R|J|" BETWEEN ( LOWER(T10.zip )) AND (LTRIM( UPPER(LTRIM( LOWER(("_\tk`d" +T8.title_id )))))) ) GROUP BY T9.i3, T8.royalty, T9.i3 HAVING -1.0 BETWEEN (SUM (-( SIGN(-(T8.royalty ))))) AND (COUNT(*)) ) --EOQ ) ) ) --EOQ ) AND (((("i|Uv=" +T6.stor_id )+T6.state )+T6.city ) BETWEEN ((((T6.zip +( UPPER(("ec4L}rP^<" +((LTRIM(T6.stor_name )+"fax<" )+("5adWhS" +T6.zip )))) +T6.city ))+"" )+"?>_0:Wi" )) AND (T6.zip ) ) ) AND (T4.lorange BETWEEN ( 3 ) AND (-(8 )) ) ) ) --EOQ GROUP BY ( LOWER(((T3.address +T5.stor_address )+REVERSE((T5.stor_id +LTRIM( T5.stor_address )))))+ LOWER((((";z^~tO5I" +"" )+("X3FN=" +(REVERSE((RTRIM( LTRIM((("kwU" +"wyn_S@y" )+(REVERSE(( UPPER(LTRIM("u2C[" ))+T4.title_id ))+( RTRIM(("s" +"1X" ))+ UPPER((REVERSE(T3.address )+T5.stor_name )))))))+ "6CRtdD" ))+"j?]=k" )))+T3.phone ))), T5.city, T5.stor_address ) --EOQ ORDER BY 1, 6, 5 )

This statement yields an error (now fixed)

Page 49: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

Always UP: System pairsAlways UP: System pairs Two clusters at two sitesTwo clusters at two sites Changes from one Changes from one

sent to othersent to other When one site failsWhen one site fails

other provides serviceother provides service MasksMasks

Hardware/Software faultsHardware/Software faults Operations tasks (reorganize, upgrade Operations tasks (reorganize, upgrade

movemove Environmental faults (power fail)Environmental faults (power fail)

Page 50: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.

OutlineOutline

Highlights of MS Highlights of MS ResearchResearch

DB-Related ResearchDB-Related Research

Page 51: Microsoft Research Jim Gray Researcher Microsoft Research Microsoft Corporation.