• Like
Froscon2011:  How i learned to use sql and then learned not to use it
Upcoming SlideShare
Loading in...5
×

Froscon2011: How i learned to use sql and then learned not to use it

  • 1,838 views
Uploaded on

Keynote for the Open DB Camp track (developer room) at Froscon2011. The point is to compare the history of MySQL with the evolution of new NoSQL systems.

Keynote for the Open DB Camp track (developer room) at Froscon2011. The point is to compare the history of MySQL with the evolution of new NoSQL systems.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,838
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
11
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. How I learned to use SQL and then learned not to use it Henrik Ingo Froscon 2011-08-202011-07-26 OSCON 2011 1
  • 2. Henrik Ingo open source technology and strategy specialist active in MySQL, Drupal communities current: Senior Performance Architect at Nokia Ovi worked in mobile and LAMP with business management, sales, R&D author of "Open Life: The Philosophy of Open Source" www.openlife.cc henrik.ingo@openlife.cc2011-07-26 OSCON 2011 2
  • 3. 19942011-07-26 OSCON 2011 3
  • 4. 1994USSR fell 4 years ago Finland yet to win first gold medal in hockey Windows 3.0 replacing MS-DOS Windows 95 did not yet exist I learn how to write .bat scripts from my dad Word 6.0 replacing WordPerfect 5.1 Excel 5.0 replacing Lotus I had not yet used Internet2011-07-26 OSCON 2011 4
  • 5. 1994 SQL Standard InterpretedC++ & Visual Basic Flexible and expressive command line env LAN "SQL for secretaries" Printer Database Good for English speakers 2000: Bad for IDE w IntelliSense Client - Server architecture Stored procedures rule DBA is king of business logic2011-07-26 OSCON 2011 5
  • 6. 19972011-07-26 OSCON 2011 6
  • 7. 19972011-07-26 OSCON 2011 7
  • 8. Learning SQLNoSQL advocates say: Henrik says: SQL is hard to learn MS Access easy to learn To really scale, you must Darn, I always got de-normalize normalization Most people dont get I know, teaching n:n normalization right relations was always fun Impedance mismatch INSERT INTO t ... between oo and sql serialize($obj) I just need a simple key- SELECT value FROM t value store WHERE key=?;2011-07-26 OSCON 2011 8
  • 9. 1997 WorldWideWeb Free Software 1998: Open Source LAMP stack Where P = Perl, runs +90% of web "apps" Oracle doesnt support Linux PostgreSQL doesnt support Windows MiniSQL has poor performance Wish I had a simple data store for my web apps that was really fast and scalable and Free Software...2011-07-26 OSCON 2011 9
  • 10. 19972011-07-26 OSCON 2011 10
  • 11. 1997ERROR: Could not connect to MySQL: ERROR 1040: Too many connections "Slashdotted" Web jargon ca 1997. "Your site is down because it isnt web scale." 2011-07-26 OSCON 2011 11
  • 12. History of MySQL1985... ISAM key-value store - Trivia: Access is also ISAM db Data Warehousing: bulk loads, reporting. - Flexible attitude to errors during insert SQL support added (HTML) ODBC (Excel) - BI tool #1 1995.. Released under FOSS-like license2011-07-26 OSCON 2011 12
  • 13. 1997"Read-mostly" - No MVCC - Not transactional Not crash safeScales well for 2-3 CPUs - This will work well for the next 10 years Not ANSI SQL2011-07-26 OSCON 2011 13
  • 14. 1997This site is currently offline for nightly backup.Please come back after 15 minutes. (No online backups) 2011-07-26 OSCON 2011 14
  • 15. 1997-2007 InnoDB and BDB - Transactions! Replication - Statement based - Asynchronous SAP partnership - 4 CPU servers - Support SQL-92 "enterprise" features - Oracle acquires InnoDB and BDB Online backup tool2011-07-26 OSCON 2011 15
  • 16. 2007 Users are not happy!We want a database that- does not conform to SQL standard- has no transactions- is not crash safe- impossible to do consistent backups- but scales to more than 4 cores!2011-07-26 OSCON 2011 16
  • 17. You see where Im going, dont you...2011-07-26 OSCON 2011 17
  • 18. Sorry, that was a cheap shot... ...I just couldnt resist :-)2011-07-26 OSCON 2011 18
  • 19. It really started with...2011-07-26 OSCON 2011 19
  • 20. Actual questions from Memcache users, ca 2007:How can I dump all recordsfrom a memcached instance? How can I make memcached highly available? Backups?2011-07-26 OSCON 2011 20
  • 21. Answers from Memcache developersIts a cache. Please use ittogether with a real database! Why would you ever want to do that? No no no, youre doing it wrong!2011-07-26 OSCON 2011 21
  • 22. So clearly there was a market demand...2011-07-26 OSCON 2011 22
  • 23. Things NoSQL guys do really well No SQL (parsing) Schemaless = Win! for agile development HA with quorum consistency: R + W > N Transparent sharding Graph databases N:N relationships, whats the big deal? Actually makes sense to give up on SQL! Map Reduce Bypass ETL, get clean data Implemented in Java or Python (or Erlang)2011-07-26 OSCON 2011 23
  • 24. Best of both worldsNoSQL MySQL No SQL HandlerSocket . Memcache API, NDB API Simple key-value store BLOB . SELECT v FROM ... WHERE k=? ...and secondary indexes Functional indexes Virtual columns, etc... Quorum consistency Synchronous replication . Galera, NDB Graph databases Damn N:N relations! Map Reduce against text files Map Reduce against RDBMS Java and Python C++ can be done right . Drizzle2011-07-26 OSCON 2011 24
  • 25. Clayton Christensen on Disruptive innovation2011-07-26 OSCON 2011 25
  • 26. Clayton Christensen on Disruptive innovation First they ignore you Then they laugh at you Then they fight you Then you win - Gandhi2011-07-26 OSCON 2011 26
  • 27. It used to be2011-07-26 OSCON 2011 27
  • 28. The future is2011-07-26 OSCON 2011 28
  • 29. The future is All Open Source2011-07-26 OSCON 2011 29