90 likes | 111 Views
Learn about cutting-edge methods for software development, deployment, and management that focus on cost efficiency and performance. Explore new ideas and revolutionary approaches in software engineering. Discover ways to streamline processes and optimize resources while maintaining high-quality standards.
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