Presentation on theme: "1 Store Everything Online In A Database Jim Gray Microsoft Research"— Presentation transcript:
1 Store Everything Online In A Database Jim Gray Microsoft Research
2 Outline Store Everything Online (Disk not Tape) In a Database A Federated DB Two Examples
3 How Much is Everything? Soon everything can be recorded and indexed Most bytes will never be seen by humans. Data summarization, trend detection anomaly detection are key technologies See Mike Lesk: How much information is there: See Lyman & Varian: How much information Yotta Zetta Exa Peta Tera Giga Mega Kilo A Book.Movi e All LoC books (words) All Books MultiMedia Everything ! Recorded A Photo 24 Yecto, 21 zepto, 18 atto, 15 femto, 12 pico, 9 nano, 6 micro, 3 milli
4 Storage capacity beating Moores law 2.3 k$/TB today (raw disk) 1k$/TB by end of 2002
5 Outline Store Everything Online (Disk not Tape) In a Database A Federated DB Two Examples
6 Online Data Can build 1PB of NAS disk for 5M$ today Can SCAN ( read or write ) entire PB in 3 hours. Operate it as a data pump: continuous sequential scan Can deliver 1PB for 1M$ over Internet –Access charge is 300$/Mbps bulk rate Need to Geoplex data (store it in two places). Need to filter/process data near the source, –To minimize network costs.
7 The Absurd Disk 2.5 hr scan time (poor sequential access) 1 access per second / 5 GB (VERY cold data) Its a tape! 1 TB 100 MB/s 200 Kaps
8 Disk vs Tape Disk –80 GB –35 MBps – 5 ms seek time – 3 ms rotate latency – 2$/GB for drive 2$/GB for ctlrs/cabinet –15 TB/rack –1 hour scan Tape –40 GB –10 MBps –10 sec pick time – second seek time –2$/GB for media 8$/GB for drive+library –10 TB/rack –1 week scan The price advantage of disk is growing the performance advantage of disk is huge! At 10K$/TB, disk is competitive with nearline tape. Guestimates Cern: 200 TB 3480 tapes 2 col = 50GB Rack = 1 TB =12 drives
9 Building a Petabyte Disk Store Cadillac ~ 500k$/TB = 500M$/PB plus FC switches plus…800M$/PB TPC-C SANs (Brand PC 18GB/…) 60M$/PB Brand PC local SCSI 15M$/PB Do it yourself ATA 5M$/PB
11 Next step in the Evolution Disks become supercomputers –Controller will have 1bips, 1 GB ram, 1 GBps net –And a disk arm. Disks will run full-blown app/web/db/os stack Distributed computing Processors migrate to transducers.
12 Its Hard to Archive a Petabyte It takes a LONG time to restore it. At 1GBps it takes 12 days! Store it in two (or more) places online (on disk?). A geo-plex Scrub it continuously (look for errors) On failure, –use other copy until failure repaired, –refresh lost copy from safe copy. Can organize the two copies differently (e.g.: one by time, one by space)
13 Outline Store Everything Online (Disk not Tape) In a Database A Federated DB Two Examples
14 Why Not: file = object + GREP ? It works if you have thousands of objects (and you know them all) But hard to search millions/billions/trillions with GREP Hard to put all attributes in file name. –Minimal metadata Hard to do chunking right. Hard to pivot on space/time/version/attributes.
15 The Reality: its build vs buy If you use a file system you will eventually build a database system : –metadata, –Query, –parallel ops, –security,…. –reorganize, –recovery, –distributed, –replication,
16 OK: so Ill put lots of objects in a file Do It Yourself Database Good news: –Your implementation will be 10x faster (at least!) –easier to understand and use Bad news: –It will cost 10x more to build and maintain –Someday you will get bored maintaining/evolving it –It will lack some killer features: Parallel search Self-describing via metadata SQL, XML, … Replication Online update – reorganization Chunking is problematic (what granularity, how to aggregate)
17 Top 10 reasons to put Everything in a DB 1.Someone else writes the million lines of code 2.Captures data and Metadata, 3.Standard interfaces give tools and quick learning 4.Allows Schema Evolution without breaking old apps 5.Index and Pivot on multiple attributes space-time-attribute-version…. 6.Parallel terabyte searches in seconds or minutes 7.Moves processing & search close to the disk arm (moves fewer bytes (qestons return datons). 8.Chunking is easier (can aggregate chunks at server). 9.Automatic geo-replication 10.Online update and reorganization. 11.Security 12.If you pick the right vendor, ten years from now, there will be software that can read the data.
18 DB Centric Examples TerraServer –All images and all data in the database (chunked as small tiles). –http://research.microsoft.com/~gray/Papers/MSR_TR_99_29_TerraServer.dochttp://research.microsoft.com/~gray/Papers/MSR_TR_99_29_TerraServer.doc SkyServer & Virtual Sky –Both image and semantic data in a relational store. –Parallel search & NonProcedural access are important. –http://research.microsoft.com/~gray/Papers/MS_TR_99_30_Sloan_Digital_Sky_Survey.dochttp://research.microsoft.com/~gray/Papers/MS_TR_99_30_Sloan_Digital_Sky_Survey.doc –http://skyserver.sdss.org/getMosaic.asp?Z=1&A=1&T=4&H=1&S=10&M=30http://skyserver.sdss.org/getMosaic.asp?Z=1&A=1&T=4&H=1&S=10&M=30 –http://virtualsky.org/servlet/Page?F=3&RA=16h+10m+1.0s&DE=%2B0d+42m+ 45s&T=4&P=12&S=10&X=5096&Y=4121&W=4&Z=- 1&tile.2.1.x=55&tile.2.1.y=20http://virtualsky.org/servlet/Page?F=3&RA=16h+10m+1.0s&DE=%2B0d+42m+ 45s&T=4&P=12&S=10&X=5096&Y=4121&W=4&Z=- 1&tile.2.1.x=55&tile.2.1.y=20
19 OK… Why dont they use our stuff? Wrong metaphor: HDF with hyper-slab is better match. Impedance match: Getting stuff in/out of DB is too hard We sold them OODBs and they did not work (unreliable, poor performance, no tools). …
20 So, why will the future be different? They have MUCH more data (10 9 files?) Java / C# eases impedance mismatch: rowsets == ragged arrays of objects iterators, exceptions,.. built in language Tools are better –Optimizers are better –CPU and disk parallelism actually works now –Statistical packages are better.
21 Outline Store Everything Online (Disk not Tape) In a Database A Federated DB Two Examples
22 But… Distributed shared databases have failed even on their home turf. blocks, files, tables are wrong abstraction for networks. (too low level) Objects are the right abstraction So, UDDI / WSDL / SOAP is the solution (not SQL) Replays the NAS is better than SAN argument: methods > sql > file > disk XML is the wire format, XLANG is the workflow protocol, Query will be in there somewhere.
23 DDB technology GREAT in a Cluster Beowulf Uniform architecture Trust among nodes High bandwidth-low latency communication Programs have single system image Queries run in parallel Global optimizer does query decomposition
24 But in a Distributed System (a Grid vs Beowulf) Higher level abstraction give modularity minimize round trips Change is constant: need modularity. Heterogeneous architecture makes query planning much harder No trust Communication is slow and expensive (minimize it).
25 Federate Databases Each Database exposes services –Self describing –Discoverable –Easy for programs to use/understand –Built on standards (W3C, IETF,..) Client-side or server-side apps –Integrate these services –Combine information to produce answers
26 DDB the Trust Issue Customers serve themselves Follow the rules posted on the door No Overhead, no staff! Clerks serve Customers Take order, fill order, fill out invoice, collect money. Overhead: staff, training, rules,… DDB Grocery Client/Server Groceries
27 Outline Store Everything Online (Disk not Tape) In a Database A Federated DB Two Examples
28 How do we find information today? Human searches web (with an index) Human browses pages
29 How do we find information tomorrow? Agents gather and digest it for us. Q: How? A W3C : –Discovery: UDDI, DISCO, WSDL –Use: SOAP My Agents Digital Dashboard Web Services SOAP WSDL
30 How do we publish information? Get the data. Conceptualize the data schema Provide methods that return data subsets. –Challenge: how much processing on your server? Publish the schema and methods. We (you and I) are exploring these issues. f, g, x, y…
31 TerraServer Example TerraServer –3TB Internet Map DB available since June 1998 –USGS photo and topo maps of the US –Integrated with Home Advisor –Shows off SQL Server availability & scalability –Designed for thin clients and voice network TerraService –A.NET web service –Makes TerraServer data available to other apps
32 Demo Show photo topo gazetteer demographics
33 TerraServer Experience Successful Web Site –Top 1000 Web Site – continues to be popular –Met goals – interesting, big, real, public, fast, easy, accessible, and free –High Availability – Windows Data Center & Compaq SAN Technology New Feature Requests –Programmable access to meta-data –User selectable image sizes, i.e. a map server –Permission to use TerraServer data within server applications
34 What is a Web Service?SOAP Web Service consumers can send and receive messages using XML WSDL Contract Language Web Services are defined in terms of the formats and ordering of messages DISCODiscovery You can ask a site for a description of the Web Services it offers All these capabilities are built using open Internet protocols XML & HTTP Open Internet Protocols Web Service A programmable application component accessible via standard Web protocols UDDI Universal Description, Design, and Integration Provide a Directory of Services on the Internet
35 TerraService Architecture Existing DB Server SQL TB Db 705 m Rows ADO.NET TerraServer Web Service OLEDB Map Server Http Handler Map UI Web Forms StandardBrowsers SmartClients SOAP/XML HTML Image/jpeg
36 Terra Services Query Gazetteer Retrieve imagery meta-data Retrieve imagery Simple Projection conversions Geo-coded places, e.g. Schools, Golf Courses, Hospitals, etc. Place Polygons e.g. Zip Codes, Cities, etc. Terra-Tile-Service Landmark-Service allows overlay information for Terra-Tile-Service applications Clients can present TerraServer imagery in new ways.
39 Custom End Product Web Soil Data ViewerXML Soil ReportSoil Interpretation Map
40 What You Saw Converted a Web Server –HTML get post –Server returns pictures to people to a Web Service –SOAP service –returns XML self-describing data –Application integrates data (Agriculture and Geo data)
41 Rosetta Stone Distributed computing + basic services Yellow Pages ? RPC – remote procedure call, CORBA, DCOM, RMI IDL – interface definition language XDR - eXternal Data Representation Dot Net UDDI – Universal description, discovery, and integration Schema, XLANG SOAP – simple object access protocol WSDL – web services definition language XML- eXtended Markup Language
42 SkyServer Collaborating with: Alex Szalay, Peter Kunszt, Ani JHU Robert Brunner, Roy Caltech George Djorgovski, Julian Caltech FermiLab operates Sky Server Compaq donated hardware Microsoft donated software and money
43 Sky Server –Like TerraServer pictures of the sky. –But also LOTS of data on each object So a data mining web service Luminosity (multi-spectra), morphology, spectrum So, it is a data mining application Cross-correlation is challenging because –Multi-resolution –Data is dirty/fuzzy (error bars, cosmic rays, airplanes…) –Time varying + 50 K Spectro Objects ~ 100 attributes + 30 lines 15M Photo Objects ~ 400 attributes
44 Astronomy Data In the old days astronomers took photos. Starting in the 1960s they began to digitize. New instruments are digital (100s of GB/nite) Detectors are following Moores law. Data avalanche: double every year Total area of 3m+ telescopes in the world in m 2, total number of CCD pixels in megapixel, as a function of time. Growth over 25 years is a factor of 30 in glass, 3000 in pixels. Courtesy of Alex Szalay
45 Astronomy Data Astronomers have a few Petabytes now. –1 pixel (byte) / sq arc second ~ 4TB –Multi-spectral, temporal, … 1PB They mine it looking for new (kinds of) objects or more of interesting ones(quasars), density variations in 400-D space correlations in 400D space Data doubles every year. Data is public after a year. So, 50% of the data is public. Some have private access to 5% more data. So: 50% vs 55% access for everyone
46 Astronomy Data But….. How do I get at that 50% of the data? Astronomers have culture of publishing. –FITS files and many tools. –Encouraged by NASA. Publishing data details is difficult. Astronomers want to do it but it is VERY hard. (What programs where used? what were the processing steps? How were errors treated?…) File is wrong abstraction.
47 Virtual Observatory Premise: Most data is (or could be online) So, the Internet is 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 (1 year 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.
48 Virtual Observatory Golden Age of Mega-Surveys Many new surveys –multi-TB in size, 100 million objects or more –individual archives planned, or under way –Data publication an integral part of the survey –Software bill a major cost in the survey Multi-wavelength view of the sky –more than 13 wavelength coverage in 5 years Impressive early discoveries –finding exotic objects by unusual colors L,T dwarfs, high-z quasars –finding objects by time variability gravitational micro-lensing MACHO 2MASS DENIS SDSS PRIME DPOSS GSC-II COBE MAP NVSS FIRST GALEX ROSAT OGLE... MACHO 2MASS DENIS SDSS PRIME DPOSS GSC-II COBE MAP NVSS FIRST GALEX ROSAT OGLE... Slide courtesy of Alex Szalay, modified by jim
49 Virtual Observatory Federating the Archives The next generation mega-surveys are different –top-down design –large sky coverage –sound statistical plans –well controlled/documented data processing Each survey has a publication plan Data mining will lead to stunning new discoveries Federating these archives Virtual Observatory Slide courtesy of Alex Szalay
50 The Multiwavelength Crab Nebula Nova first sighted 1054 A.D. by Chinese Astronomers Now: Crab Nebula X-ray, optical, infrared, and radio Slide courtesy of Robert CalTech. Crab star 1053 AD
51 Exploring Parameter Space 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 Robert CalTech.
52 Virtual Observatory and Education In the beginning science was empirical. Then theoretical branches evolved. Now, we have a computational branches. –The computational branch has been simulation –It is becoming data analysis/visualization The Virtual Observatory can be used to –Teach astronomy: make it interactive, demonstrate ideas and phenomena –Teach computational science skills and the process of scientific discovery
53 Sloan Digital Sky Survey A group of astronomers has been building a telescope (with 90M$ from Sloan Foundation, NSF, and a dozen universities). for the last 12 years Now data is arriving: –250GB/nite (20 nights per year). –100 M stars, 100 M galaxies, 1 M spectra. Public data at –5% of the survey, 600 sq degrees, 15 M objects 60GB. –This data includes most of the known high z quasars. –It has a lot of science left in it but… that is just the start.
54 Demo of Sky Server Alex built SkyServer (based on TerraServer design). Demo: famous places navigator data shopping cart spectrum SQL? ?
55 Virtual Observatory Challenges Size : multi-Petabyte 40,000 square degrees is 2 Trillion pixels –One band (at 1 sq arcsec) 4 Terabytes –Multi-wavelength Terabytes –Time dimension >> 10 Petabytes –Need auto parallelism tools Unsolved Meta-Data problem –Hard to publish data & programs –Hard to find/understand data & programs Current tools inadequate –new analysis & visualization tools Transition to the new astronomy –Sociological issues
56 The Challenges How to federate the Archives to make a VO? The hope: XML is the answer. The reality: XML is syntax and tools: FITS on XML will be good but….. Explaining the data will still be very difficult. Define Astronomy Objects and Methods. –Based on UDDI, WSDL, SOAP. –Each archive is a service shows the idea.http://TerraService.net/ –Working with Caltech (Brunner, Williams, Djorgovski, Bunn) –But, how does data mining work?
57 Three Steps to a VO 0.01 Get SDSS and Palomar online –Alex Szalay, Jan Vandenberg, Ani Thakar…. –Roy Williams, Robert Brunner, Julian Bunn Do queries and crossID matches with CalTech and SDSS to expose –Schema, Units,… –Dataset problems –the typical use scenarios. Implement WebServices at CalTech and SDSS
58 Summary All information at your fingertips. How do we publish information so that our agents can digest it? Example: TerraServer -> TerraService The Virtual Observatory Concept –The Internet is worlds best telescope For astronomy For teaching astronomy and For teaching computational science
59 Outline Store Everything Online (Disk not Tape) In a Database A Federated DB Two Examples
60 No time for what follows
61 SDSS what I have been doing Work with Alex Szalay, Don Slutz, and others to define 20 canonical queries and 10 visualization tasks. Don Slutz did a first cut of the queries, Im continuing that work. Working with Alex Szalay on building Sky Server and making data it public (send out 80GB SQL DBs)
62 Two kinds of SDSS data 15M Photo Objects ~ 400 attributes 20K Spectra with ~10 lines/ spectrum
63 Spatial Data Access (Szalay, Kunszt, Brunner) look at the HTM link Implemented Hierarchical Triangular Mesh (HTM) as table-valued function for spatial joins. Every object has a 20-deep Mesh ID. Given a spatial definition: Routine returns up to 500 covering triangles. Spatial query is then up to 500 range queries. Very fast: 1,000s of triangles per second.
64 The 20 Queries 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.) Also some good queries at:
65 An easy one Q7: Provide a list of star-like objects that are 1% rare. Found 14,681 buckets, first 140 buckets have 99% time 104 seconds Disk bound, reads 3 disks at 68 MBps. 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 where (u+g+r+i+z) < 150 group bycast((u-g) as int), cast((g-r) as int), cast((r-i) as int), cast((i-z) as int) order by count(*)
66 Another easy one Q15: Provide a list of moving objects consistent with an asteroid. Looks hard but there are 5 pictures of the object at 5 different times (colors) and so can compute velocity. Image pipeline computes velocity. Computing it from the 5 color x,y would also be fast Finds 2167 objects in 7 minutes, 70MBps. selectobject_id, -- return object ID sqrt(power(rowv,2)+power(colv,2)) as velocity from sxPhotObj -- check each object. where (power(rowv,2) + power(colv, 2)) > square of velocity and rowv >= 0 and colv >=0 -- negative values indicate error
67 A Hard One Q14: Find stars with multiple measurements that have magnitude variations >0.1. This should work, but SQL Server does not allow table values to be piped to table- valued functions. select S.object_ID, S1.object_ID-- return stars that from StarsS,-- S is a star getNearbyObjEq(s.ra, s.dec, 0.017) as N -- N within 1 arcsec (3 pixels) of S. Stars S1-- N == S1 (S1 gets the colors) where S.Object_ID < N.Object_ID-- S1 different from S == N and N.Type = dbo.PhotoType('Star')-- S1 is a star (an optimization) and N.object_ID = S1.Object_ID-- N == S1 and ( abs(S.u-S1.u) > one of the colors is different. or abs(S.g-S1.g) > 0.1 or abs(S.r-S1.r) > 0.1 or abs(S.i-S1.i) > 0.1 or abs(S.z-S1.z) > 0.1 ) order by S.object_ID, S1.object_ID-- group the answer by parent star. Returns a table of nearby objects
68 A Hard one: Second Try Q14: Find stars with multiple measurements that have magnitude variations > Table-valued function that returns the binary stars within a certain radius -- of another (in arc-minutes) (typically 5 arc seconds). -- Returns the ID pairs and the distance between them (in arcseconds). create function float) table( S1_object_ID bigint not null, -- Star #1 S2_object_ID bigint not null, -- Star #2 distance_arcSec float) -- distance between them as begin bigint;-- Star's ID and binary ID float;-- Star's position float; -- Star's colors Open a cursor over stars and get position and colors declare star_cursor cursor for select object_ID, ra, [dec], u, g, r, i, z from Stars; open star_cursor; while (1=1)-- for each star begin -- get its attribues fetch next from if = -1) break;-- end if no more stars insert -- insert its binaries S1.object_ID, -- return stars pairs sqrt(N.DotProd)/PI()* and distance in arc-seconds -- Find objects nearby as N, -- call them N. Stars as S1-- S1 gets N's color values < N.Object_ID-- S1 different from S and N.objType = dbo.PhotoType('Star')-- S1 is a star and N.object_ID = S1.object_ID-- join stars to get colors of S1==N and > one of the colors is different. or > 0.1 or > 0.1 or > 0.1 or > 0.1 ) end;-- end of loop over all stars Looped over all stars, close cursor and exit. close star_cursor;-- deallocate star_cursor; return;-- return table end-- end of BinaryStars GO select * from dbo.BinaryStars(.05) Write a program with a cursor, ran for 2 days
69 A Hard one: Third Try Q14: Find stars with multiple measurements that have magnitude variations >0.1. Use pre-computed neighbors table. Ran in 17 minutes, found 31k pairs. ================================================================================== -- Plan 2: Use the precomputed neighbors table select top 100 S.object_ID, S1.object_ID,-- return star pairs and distance str(N.Distance_mins * 60,6,1) as DistArcSec from Stars S,-- S is a star Neighbors N,-- N within 3 arcsec (10 pixels) of S. Stars S1-- S1 == N has the color attibutes where S.Object_ID = N.Object_ID-- connect S and N. and S.Object_ID < N.Neighbor_Object_ID-- S1 different from S and N.Neighbor_objType = dbo.PhotoType('Star')-- S1 is a star (an optimization) and N.Distance_mins <.05-- the 3 arcsecond test and N.Neighbor_object_ID = S1.Object_ID-- N == S1 and ( abs(S.u-S1.u) > one of the colors is different. or abs(S.g-S1.g) > 0.1 or abs(S.r-S1.r) > 0.1 or abs(S.i-S1.i) > 0.1 or abs(S.z-S1.z) > 0.1 ) -- Found 31,355 pairs (out of 4.4 m stars) in 17 min 14 sec.
70 The Pain of Going Outside SQL (its fortunate that all the queries are single statements) Count parent objects 503 seconds for 14.7 M objects in 33.3 GB 66 MBps IO bound (30% of one cpu) 100 k records/cpu sec Use a cursor No cpu parallelism CPU bound 6 MBps, 2.7 k rps 5,450 seconds (10x slower) select count(*) from sxPhotoObj where nChild > 0 int; int; = 0; declare PhotoCursor cursor for select nChild from sxPhotoObj; open PhotoCursor; while (1=1) begin fetch next from PhotoCursor if = -1) break; end close PhotoCursor; deallocate PhotoCursor; print 'Sum is: as varchar(12))
71 Summary of Current Status All 20 queries run (still checking science) Also 15 user queries Run times: on 3k$ PC (2 cpu, 4 disk, 256MB) ~100 IO/cpu sec ~5MB/cpu sec
72 Summary of Current Status 16 of the queries are simple 2 are iterative, 2 complex Many are sequential one-pass and two-pass over data Covering indices make scans run fast Table valued functions are wonderful but limitations on parameters are a pain. Counting is VERY common. Binning ( grouping by some set of attributes) is common Did not request cube, but that may be cultural.
73 Reflections on the 20 Queries Data loading/scrubbing is labor intensive & tedious –AUTOMATE!!! This is 5% of the data, and some queries take an hour. But this is not tuned (disk bound). All queries benefit from parallelism (both disk and cpu) (if you can state the query right, e.g. inside SQL). Parallel database machines will do great on this: –Hash machines –Data pumps –See paper in word or pdf on my web site.word pdf SQL looks good. The answers, need visualization
74 Call to Action If you do data visualization: we need you (and we know it). If you do databases: here is some data you can practice on. If you do distributed systems: here is a federation you can practice on. If you do astronomy educational outreach here is a tool for you. The astronomy folks are very good, and very smart, and a pleasure to work with, and the questions are cosmic, so …