90 likes | 108 Vues
DB Zero & DB Everything. Donald Kossmann 28msec, Inc. & ETH Zurich. Software Engineering 101. Step 1: Brainstorming – Have ideas Step 2: Build it – write code find the right schema build test infrastructure Step 3: Run it – make $$$ deployment: SW + HW configuration
E N D
DB Zero & DB Everything Donald Kossmann 28msec, Inc. & ETH Zurich
Software Engineering 101 • Step 1: Brainstorming – Have ideas • Step 2: Build it – write code • find the right schema • build test infrastructure • Step 3: Run it – make $$$ • deployment: SW + HW configuration • Administration: patches, crashes, … • Management: monitor cost • Step 4: Have new ideas – goto Step 2
Software Engineering 101 • Step 1: Brainstorming – Have ideas • Step 2: Build it – write code • find the right schema • build test infrastructure • Step 3: Run it – make $$$ • deployment: SW + HW configuration • Administration: patches, crashes, … • Management: monitor cost • Step 4: Have new ideas – goto Step 2 All this is fun
The devil is in the detail • Step 1: Brainstorming – Have ideas • Step 2: Build it – write code • find the right schema • build test infrastructure • Step 3: Run it – make $$$ • deployment: SW + HW configuration • Administration: patches, crashes, … • Management: monitor cost • Step 4: Have new ideas – goto Step 2 All this is fun expensive
The world I dream of... • Cost ($$$) • gets automatically cheaper every year • pay as you go along; no investment upfront • cost is predictable (grows linearly with business) • Scalability • response time independent of number of clients • predictable client experience, clients never blocked • Focus on business • „outsource“ patches, backups, fault tolerance • no need to overspecify application (schema + logic) • Level of „ilities“ (consistency, security, availablity, ...) • trade for cost
Idea #1 • Get rid of the database • no installation, no administration, no upgrade • no investment in servers • no DB software and maintenance cost • no schema upfront: pay-as-you-go-along • no ACID transactions • no three-tier architecture • no DB security (or what we believe what it is)
Idea #2 • Make everything a database • declarative programming (XQuery :-) ) • applications, distributed protocols, security, ... • declarative testing • automatic deployment • automatic optimization • virtualization of hardware • data independence (physical, logical, semantic) • all data survives forever
Challenge • Putting it all together • integrate DB + Streams + Virtual Machine • integrate tool chain • PL, debugging, deployment, testing, monitoring • simplify architecture: one layer applications • get rid of technology jungle (or hide it) • new business models: make it cheaper for everybody and make a ton of money yourself • possible because of hardware trends, micro-payments, and increased volume • train end users to take ownership of their system
<Thanks/> Green is the new blue http:www.28msec.com