Presentation on theme: "1 Building Petabyte Databases SQL+.Net Jim Gray Microsoft research"— Presentation transcript:
1 Building Petabyte Databases SQL+.Net Jim Gray Microsoft research VSlive! SQL To The Max 15 February San Francisco Objects are closer than they appear in the mirror Objects are closer than they appear in the mirror PhotoServer: Tom Barclay Ya Feng Sung TerraServer Tom Barclay USGS SkyServer Alex Szalay Ani Thakar Peter Kunszt Tanu Malik Jordan Raddick Don Slutz Jan vandenBerg Some Slides Robert Brunner
2 SQLserver: Past and Future History SQL 2000 –SQL –XML –Replication x, y, z,… –Auto Admin –Data Transformation –OLAP –Data Mining –Text Indexing –English Query –Partitioning –Clusters SQL 200x –Beta late this year –Trustworthy: Availability Privacy Security –CLR (objects) –XML (xQuery,….) –Unify Files & Records –Manageability, –Scalability.Net –XML schema support –updategrams –More xPath support –SPs and templates as web services WebReference.soap proxy = new WebReference.soap(); object results1 = proxy.StoredProcedure (inParam, ref inoutParam, out returnValue); object results2 = proxy.Template(inParam);
3 Outline We will be able to store everything, –How do we represent it? (objects) –How will we find it (aka: who cares?) PhotoServer: Objects vs records vs files, –XML++ gives us portable objects. –Similarity search: better than nothing! Scalability: a solved problem, – but… Trustworthy & Manageable is not. TerraServer and TerraService –Why put everything in the database? –A prototypical Web Service. SkyServer and the World Wide Telescope –Data Mining science data –Serving Windows/Macintosh/Unix clients with.Net –Federating Archives with.Net
4 Record Everything? Whats that? Disks will get 100x to 1,000x more capacity –10x to 30x more bandwidth. Other technologies in the wings: –mram,mems, … The 20TB … 200TB disk drive! –Library of Congress (books) –A billion photos –2…20 years of video (continuous) Yotta Zetta Exa Peta Tera Giga Mega Kilo A Book.Movi e All Books MultiMedia Everything ! Recorded A Photo All LoC books (words) See Mike Lesk: How much information is there: See Lyman & Varian: How much information
5 Why Put Everything in Cyberspace? Low rent min $/byte Shrinks time now or later Shrinks space here or there Automate processing knowbots Point-to-Point OR Broadcast Immediate OR Time Delayed Locate Process Analyze Summarize
6 Gordon Bells shoebox: Scans20kpages 300 dpi 1 GB Music:2ktacks 7 GB Photos: 13kimages2 GB Video:10hrs3 GB Docs:3 k ppt, word,.. 2 GB Mail:50 kmessages 2 GB 16 GB Most storage is personal 90% of disks are IDE/ATA 85% of bytes are
7 How will we find it? Put everything in the DB (and index it) SQL More than a file system Unifies data and meta-data Simpler to manage Easier to subset and reorganize Set-oriented access Allows online updates Automatic indexing Automatic replication
8 How do we represent it to the outside world? File metaphor too primitive: just a blob Table metaphor too primitive: just records Need Metadata describing data context –Format –Providence (author/publisher/ citations/…) –Rights –History –Related documents In a standard format XML and XML schema DataSet is great example of this World is now defining standard schemas schema Data or difgram - … …
9 There is a problem: Need Standard Data AND Methods XML data is GREAT!!!! –XML documents are portable objects –XML documents are complex objects –WSDL defines the methods on objects (the class) But will all the implementations match? –Think of UNIX or SQL or C or… We need conformance tests. Thats why Web Services Interoperability is so important. Niklaus Wirth: Algorithms + Data Structures = Programs
10 Outline We will be able to store everything, –How do we represent it? (objects) –How will we find it (aka: who cares?) PhotoServer: Objects vs records vs files, –XML++ gives us portable objects. –Similarity search: better than nothing! Scalability: a solved problem, – but… Trustworthy & Manageable is not. TerraServer and TerraService –Why put everything in the database? –A prototypical Web Service. SkyServer and the World Wide Telescope –Data Mining science data –Serving Windows/Macintosh/Unix clients with.Net –Federating Archives with.Net
11 SQL (for xml) Templates Schema PhotoServer: Managing Photos Load all photos into the database Annotate the photos View by various attributes Do similarity Search Use XML for interchange Use dbObject, Template for access DOM SQL, Templates, XML data XML datasets & mime data IIS jScript
12 How Similarity Search Works For each picture Loader –Inserts thumbnails –Extracts 270 Features into a blob When looking for similar picture –Scan all photos comparing features (dot product of vectors) –Sort by similarity Feature blob is an array –Today I fake the array with functions and cast cast(substring(feature,72,8) as float) –When SQL Server gets C#, we wont have to fake it. –And… it will run 100x faster (compiled managed code). Idea pioneered by IBM Research, we use a variant by MS Beijing Research. No black squares 20% orange …etc many black squares 10% orange …etc 72% match27% match
13 Things I Learned from PhotoServer Data: –XML data sets are a universal way to represent answers –XML data sets minimize round trips: 1 request/response Search –It is BEST to index –You can put objects and attributes in a row (SQL puts big blobs off-page) –If you cant index, You can extract attributes and quickly compare –SQL can scan at 2M records/cpu/second –Sequential scans are embarrassingly parallel.
14 Outline We will be able to store everything, –How do we represent it? (objects) –How will we find it (aka: who cares?) PhotoServer: Objects vs records vs files, –XML++ gives us portable objects. –Similarity search: better than nothing! Scalability: a solved problem, – but… Trustworthy & Manageable is not. TerraServer and TerraService –Why put everything in the database? –A prototypical Web Service. SkyServer and the World Wide Telescope –Data Mining science data –Serving Windows/Macintosh/Unix clients with.Net –Federating Archives with.Net
15 Big! Servers ScaleUP: a BIG box –SMP (32 cpus) –64 bit ScaleOut: computing by the slice –6 years ago: 8ktpmC, today 750ktpmC –SQL Server is #1, #2, #3 (Windows is best DB2 platform too) VLDB Management Availability: –Clusters, remote logging, replication
16 TPC measures peak performance and Price/Performance RankCompanySystemtpmCprice/tpmCDatabaseOSTP MonDate 1 ProLiant DL P ProLiant DL P 709, US$ Microsoft SQL Server 2000 Enterprise Microsoft Windows 2000 Advanced Microsoft COM+ 09/19/01 2 IBM eSeries370 c/s 688, US$ Microsoft SQL Server 2000 Microsoft Windows 2000 Datacenter Microsoft COM+ 04/10/01 3 ProLiant DL P ProLiant DL P 567, US$ Microsoft SQL Server 2000 Enterprise Microsoft Windows 2000 Advanced Microsoft COM+ 09/19/01 7 HP HP 9000 Superdome 389, US$ Oracle 9i Enterprise HP UX 11.i 64-bit BEA Tuxedo6.4 12/21/01 14 Unisys Enterprise Server ES , US$ Microsoft SQL Server 2000 Enterprise Microsoft Windows 2000 Datacenter LE Microsoft COM+ 09/19/01 32x8 900Mhz Xenon 256GB ram 59 TB disk Mhz Xeon 64GB ram 15TB disk SQL Server always had best price Performance Now best of both (using scaleout) SMP performance also impressive Source:
17 Scale Out : Buy Computing by the Slice 709,202 tpmC! == 1 Billion transactions/day Slice: 8cpu, 8GB, 100 disks (=1.8TB) 20ktpmC per slice, ~300k$/slice clients and 4 DTC nodes not shown
18 ScaleUp: A Very Big System! UNISYS Windows 2000 Data Center Limited Edition 32 cpus on 32 GB of RAM and 1,061 disks (15.5 TB) Will be helped by 64bit addressing 24 fiber channel
19 Outline We will be able to store everything, –How do we represent it? (objects) –How will we find it (aka: who cares?) PhotoServer: Objects vs records vs files, –XML++ gives us portable objects. –Similarity search: better than nothing! Scalability: a solved problem, – but… Trustworthy & Manageable is not. TerraServer and TerraService –Why put everything in the database? –A prototypical Web Service. SkyServer and the World Wide Telescope –Data Mining science data –Serving Windows/Macintosh/Unix clients with.Net –Federating Archives with.Net
20 TerraServer – A SQL poster child 3 x 2 TB databases 18TB disk tri-plexed (=6TB) Cluster 99.96% uptime 1B page views 5B DB queries Now a.NET web service
21 Image Data USGS Aerial photos DOQ USGS Topo Maps Encarta Virtual Globe 1 Km resolution 100 % World Coverage All in the database 200x200 pixel tiles compressed Spatial access z-Tranform Btree 12 TB 95 % U.S. Coverage 1 m resolution 1 TB 100% U.S. Coverage 2 m resolution
22 TerraServer Traffic & Database Growth Jan 2002 SQL TB Db SQL TB Db SQL TB Db 1 Server / Win NT 4.0 EE 2 nd Server / Win 2k DataCenter 4 Node / Win2k Datacenter Failover Cluster SQL TB Db 217 m Rows SQL Server 1.5 TB Db SQL Server.8 TB Db 298 m Rows SQL TB Db 173 m Rows 678 m Rows SQL TB Db 231 m Rows 900 m Rows Sessions Page Views Image Tiles Db Queries Bytes Xfered Average Day 44, ,720 3,786,551 4,566, GB Peak Day 277,292 12,388,104 10,475, GB 2,401, ,851, , ,831,989,887 4,620,815, TB
23 Hardware SQL\Inst1 SQL\Inst2 SQL\Inst3 Spare F G L KPQ E E JJ O O I H M N R S One SQL database per rack Each rack contains 4.5 tb 261 total drives / 13.7 TB total Meta Data Meta Data Stored on 101 GB Fast, Small Disks (18 x 18.2 GB) Imagery Data Imagery Data Stored on GB Slow, Big Disks (15 x 73.8 GB) To Add GB Disks in Feb 2001 to create 18 TB SAN 8 Compaq DL360 Photon Web Servers Fiber SAN Switches 4 Compaq ProLiant 8500 Db Servers
24 TerraServer Lessons Learned Hardware is 5 9s (with clustering) Software is 5 9s (with clustering) Admin is 4 9s (offline maintenance) Network is 3 9s (mistakes, environment) Simple designs are best 10 TB DB is management limit 1 PB = 100 x 10 TB DB this is 100x better than 5 years ago. Minimize use of tape –Backup to disk (snapshots) –Portable disk TBs
25 TerraService Added.NET web services to TerraServer –A great way to learn what Web Services are –And what.Net is. Image server –Gives arbitrary rectangle/zoom of US –Overlays features (hospitals, schools,..) Census service You can use it in your app. USDA is using it today. Demo Tour API Demo map maker Mention location and census services
26 Outline We will be able to store everything, –How do we represent it? (objects) –How will we find it (aka: who cares?) PhotoServer: Objects vs records vs files, –XML++ gives us portable objects. –Similarity search: better than nothing! Scalability: a solved problem, – but… Trustworthy & Manageable is not. TerraServer and TerraService –Why put everything in the database? –A prototypical Web Service. SkyServer and the World Wide Telescope –Data Mining science data –Serving Windows/Macintosh/Unix clients with.Net –Federating Archives with.Net
27 Computational Science The Third Science Branch is Evolving In the beginning science was empirical. Then theoretical branches evolved. Now, we have computational branches. –Has primarily been simulation –Growth area data analysis/visualization of peta-scale instrument data. Computational Science –Data captured by instruments Or data generated by simulator –Processed by software –Placed in a database / files –Scientist analyzes database / files
28 Exploring Parameter Space Manual or Automatic Data Mining There is LOTS of data –people cannot examine most of it. –Need computers to do analysis. Manual or Automatic Exploration –Manual: person suggests hypothesis, computer checks hypothesis –Automatic: Computer suggests hypothesis person evaluates significance Given an arbitrary parameter space: –Data Clusters –Points between Data Clusters –Isolated Data Clusters –Isolated Data Groups –Holes in Data Clusters –Isolated Points Nichol et al Slide courtesy of and adapted from Robert CalTech.
29 Whats needed? (not drawn to scale) Scientists Miners Tools Plumbers Databases to Store Data And Execute Queries Science Data & Questions Question & Answer Visualization Data Mining Algorithms
30 Some science is hitting a wall FTP and GREP are not adequate You can GREP 1 MB in a second You can GREP 1 GB in a minute You can GREP 1 TB in 2 days You can GREP 1 PB in 3 years. Oh!, and 1PB ~10,000 disks At some point you need indices to limit search parallel data search and analysis This is where databases can help Goal Make it easy to –Publish: Record structured data –Find: Find data anywhere in the network Get the subset you need –Explore datasets interactively You can FTP 1 MB in 1 sec You can FTP 1 GB / min (= 1 $/GB) … 2 days and 1K$ … 3 years and 1M$
31 Web Services are The Key Web SERVER: –Given a url + parameters –Returns a web page (often dynamic) Web SERVICE: –Given a XML document (soap msg) –Returns an XML document –Tools make this look like an RPC. F(x,y,z) returns (u, v, w) –Distributed objects for the web. –+ naming, discovery, security,.. Internet-scale distributed computing Your program Data In your address space Web Service soap object in xml Your program Web Server http Web page
32 Federation Data Federations of Web Services Massive datasets live near their owners: –Near the instruments software pipeline –Near the applications –Near data knowledge and curation –Super Computer centers become Super Data Centers Each Archive publishes a web service –Schema: documents the data –Methods on objects (queries) Scientists get personalized extracts Uniform access to multiple Archives –A common global schema
33 Why Astronomy Data? It has no commercial value –No privacy concerns –Can freely share results with others –Great for experimenting with algorithms It is real and well documented –High-dimensional data (with confidence intervals) –Spatial data –Temporal data Many different instruments from Many different places and Many different times Federation is a goal The questions are interesting –How did the universe form? There is a lot of it (petabytes) IRAS 100 ROSAT ~keV DSS Optical 2MASS 2 IRAS 25 NVSS 20cm WENSS 92cm GB 6cm
34 Web Services & Grid Enable Virtual Observatory The Internet will be the worlds best telescope: –It has data on every part of the sky –In every measured spectral band: optical, x-ray, radio.. –As deep as the best instruments (2 years ago). –It is up when you are up. The seeing is always great (no working at night, no clouds no moons no..). –Its a smart telescope : links objects and data to literature on them. W3C & IETF standards Provide –Naming –Authorization / Security / Privacy –Distributed Objects Discovery, Definition, Invocation, Object Model –Higher level services: workflow, transactions, DB,..
35 Steps to Virtual Observatory Prototype Define a set of Astronomy Objects and methods. –Based on UDDI, WSDL, XSL, SOAP, dataSet Use them locally to debug ideas –Schema, Units,… –Dataset problems –Typical use scenarios. Federate different archives –Each archive is a web service –Global query tool accesses them Working on this plan with –Sloan Digital Sky Survey and CalTech/Palomar. Especially Alex Szalay et. al. at JHU
36 Sloan Digital Sky Survey For the last 12 years astronomers have been building a telescope (with funding from Sloan Foundation, NSF, and a dozen universities). 90M$. Y2000: engineer, calibrate, commission: now public data. –5% of the survey, 600 sq degrees, 15 M objects 60GB, ½ TB raw. –This data includes most of the known high z quasars. –It has a lot of science left in it but…. New the data is arriving: –250GB/nite (20 nights per year) = 5TB/y. –100 M stars, 100 M galaxies, 1 M spectra.
37 Demo of Sky Server / / Demo sky server Demo Explorer Explain need for Unix/Mac clients Demo Java SQLQA? Talk about federation plan. Work is product of Alex Johns Hopkins Tanu Malik did SQLQA.
38 Two kinds of SDSS data in an SQL DB (objects and images all in DB) 15M Photo Objects ~ 400 attributes 50K Spectra with ~30 lines/ spectrum
39 Spatial Data Access – SQL extension (Szalay, Kunszt, Brunner) Added Hierarchical Triangular Mesh (HTM) table-valued function for spatial joins. Every object has a 20-deep Mesh ID. Given a spatial definition: Routine returns up to ~10 covering triangles. Spatial query is then up to ~10 range queries. Very fast: 10,000 triangles / second / cpu. Based onSQL Server Extended Stored Procedure 2
41 Scenario Design Astronomers proposed 20 questions –Typical of things they want to do –Each would require a week of programming in tcl / C++/ FTP Goal, make it easy to answer questions DB and tools design motivated by this goal –Implemented utility procedures –JHU Built GUI for Linux clients Q11: Find all elliptical galaxies with spectra that have an anomalous emission line. Q12: Create a grided count of galaxies with u-g>1 and r<21.5 over 600.1. Scan for stars that have a secondary object (observed at a different time) and compare their magnitudes. Q15: Provide a list of moving objects consistent with an asteroid. Q16: Find all objects similar to the colors of a quasar at 5.50.75. Q4: Find galaxies with an isophotal surface brightness (SB) larger than 24 in the red band, with an ellipticity>0.5, and with the major axis of the ellipse having a declination of between 30 and 60arc seconds. Q5: Find all galaxies with a deVaucouleours profile (r ¼ falloff of intensity on disk) and the photometric colors consistent with an elliptical galaxy. The deVaucouleours profile Q6: Find galaxies that are blended with a star, output the deblended galaxy magnitudes. Q7: Provide a list of star-like objects that are 1% rare. Q8: Find all objects with unclassified spectra. Q9: Find quasars with a line width >2000 km/s and 2.540Å (Ha is the main hydrogen spectral line.)
42 An easy one Q7: Provide a list of rare star-like objects. Found 14,681 buckets, first 140 buckets have 99% time 62 seconds CPU bound 226 k records/second (2 cpu) 250 KB/s. Selectcast((u-g) as int) as ug, cast((g-r) as int) as gr, cast((r-i) as int) as ri, cast((i-z) as int) as iz, count(*) as Population from stars group bycast((u-g) as int), cast((g-r) as int), cast((r-i) as int), cast((i-z) as int) order by count(*)
43 An Easy One Q15: Find asteroids Sounds hard but there are 5 pictures of the object at 5 different times (color filters) and so can see velocity. Image pipeline computes velocity. Computing it from the 5 color x,y would also be fast Finds 1,303 objects in 3 minutes, 140MBps. (could go 2x faster with more disks) selectobjId, dbo.fGetUrlEq(ra,dec) as url --return object ID & url sqrt(power(rowv,2)+power(colv,2)) as velocity fromphotoObj -- check each object. where (power(rowv,2) + power(colv, 2)) -- square of velocity between 50 and huge values =error
44 Find near earth asteroids: Finds 3 objects in 11 minutes –(or 52 seconds with an index) Ugly, but consider the alternatives (c programs an files and…) – Q15: Fast Moving Objects SELECT r.objID as rId, g.objId as gId, dbo.fGetUrlEq(g.ra, g.dec) as url FROM PhotoObj r, PhotoObj g WHERE r.run = g.run and r.camcol=g.camcol and abs(g.field-r.field)<2 -- nearby -- the red selection criteria and ((power(r.q_r,2) + power(r.u_r,2)) > ) and r.fiberMag_r between 6 and 22 and r.fiberMag_r < r.fiberMag_g and r.fiberMag_r < r.fiberMag_i and r.parentID=0 and r.fiberMag_r < r.fiberMag_u and r.fiberMag_r < r.fiberMag_z and r.isoA_r/r.isoB_r > 1.5 and r.isoA_r> the green selection criteria and ((power(g.q_g,2) + power(g.u_g,2)) > ) and g.fiberMag_g between 6 and 22 and g.fiberMag_g < g.fiberMag_r and g.fiberMag_g < g.fiberMag_i and g.fiberMag_g < g.fiberMag_u and g.fiberMag_g < g.fiberMag_z and g.parentID=0 and g.isoA_g/g.isoB_g > 1.5 and g.isoA_g > the matchup of the pair and sqrt(power(r.cx -g.cx,2)+ power(r.cy-g.cy,2)+power(r.cz-g.cz,2))*(10800/PI())< 4.0 and abs(r.fiberMag_r-g.fiberMag_g)< 2.0
48 Performance (on current SDSS data) Run times: on 15k$ COMPAQ Server (2 cpu, 1 GB, 8 disk) Some take 10 minutes Some take 1 minute Median ~ 22 sec. Ghz processors are fast! –(10 mips/IO, 200 ins/byte) –2.5 m rec/s/cpu ~1,000 IO/cpu sec ~ 64 MB IO/cpu sec
49 Sequential Scan Speed is Important In high-dimension data, best way is to search. Sequential scan covering index is 10x faster –Seconds vs minutes SQL scans at 2M records/s/cpu (!)
50 What we learned from the 20 Queries All have fairly short SQL programs -- a substantial advance over (tcl, C++) Many are sequential one-pass and two-pass over data Covering indices make scans run fast Table valued functions are wonderful but limitations are painful. Counting, Binning, Histograms VERY common Spatial indices helpful, Materialized view (Neighbors) helpful.
51 yea r decade wee k day month Cosmo: Computing the Cosmological Constant Compares simulated galaxy distribution to observed distribution Measure distance between each pair of galaxies A lot of work (10 8 x 10 8 = steps) Good algorithms make this ~Nlog 2 N Needs LARGE main memory Using Itanium donated by Compaq and SQL server for data store (this is Alex Szalay, Adrian Pope,… of JHU).
52 Summary We will be able to store everything, –The challenge is organizing and finding answers. PhotoServer: Objects vs records vs files, –XML++ gives us portable objects. –Similarity search: better than nothing! Scalability: a solved problem, – but… Trustworthy & Manageable is not. TerraServer and TerraService –Why put everything in the database? –A prototypical Web Service. SkyServer and the World Wide Telescope –Data Mining science data –Serving Windows/Macintosh/Unix clients with.Net –Federating Archives with.Net
53 References These Slides –http://research.Microsoft.com/~Gray/talks/http://research.Microsoft.com/~Gray/talks/ TerraServer & TerraService –http://terraService.Net/http://terraService.Net/ Virtual Observatory (aka World Wide Telescope) –http://www.voforum.org/http://www.voforum.org/ SkyServer –http://SkyServer.SDSS.org/http://SkyServer.SDSS.org/ –See documents at Download personal SkyServer (1GB) –http://research.Microsoft.com/~Gray/sdss/http://research.Microsoft.com/~Gray/sdss/