1 / 54

Use the Fork Luke

Use the Fork Luke. Who Cares About ANSI?. 2005 OSCON -> 1/(20+). Custom Advisory Board 2005. (the customers who cared about 5.0 were Embedded). Do Not Live in the Past. Master Plan. Rethink Everything. Do not assume everything was bad. Focus. Drop ERP (90’s style applications)

rusti
Download Presentation

Use the Fork Luke

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Use the Fork Luke

  2. Who Cares About ANSI?

  3. 2005 OSCON -> 1/(20+)

  4. Custom Advisory Board 2005 • (the customers who cared about 5.0 were Embedded)

  5. Do Not Live in the Past

  6. Master Plan

  7. Rethink Everything

  8. Do not assume everything was bad.

  9. Focus

  10. Drop ERP (90’s style applications) • Drop Data Warehousing • Drop Analytic

  11. Focus On Web Applications

  12. MySQL Market is now just entering 16 Core.

  13. Do not play catchup.Leap forward.

  14. Library of Congress is just 26 Terabytes.

  15. The world is 64bit, and there is a lot of RAM. • (SSD will be common in two years.)

  16. MicroKernel • Move code to the Edge • No new features in core • To add interfaces you have to remove == amount of code

  17. Multi-Core • No new locks • Remove old locks • Think today: • Burn memory (copy on write) • Messages scales.

  18. ACID CompliantTransactional • (Don’t lose or corrupt data)

  19. Innodb is our Default Engine • (If Maria or PBXT turn out to be faster, we will switch. Transactional/Performance matter.)

  20. We have no... • Stored Procedures • Views • Triggers • No Query Cache

  21. We may though...

  22. SP’s through Real Languages

  23. Views are useful, but not when materialized

  24. Triggers no, but maybe Callbacks...

  25. Prepared Statements are out. • (no one uses them, they blow up the server)

  26. What we are doing... • No required authentication (think http) • Round Trip Serialized SQL • Make SQL Injection harder

  27. Dump ACL • We authenticate in clouds. • KISS • PAM (Pluggable Authentication Modules) • No cost authentication

  28. Authorization is coming...

  29. Do people really sort blobs?

  30. Field Types • Less primitives • We just now have “blob” • Weakly Typed. • 3 byte int? (See Slashdot Comment Problem) • Think UUID/IPV4(6)/SERIAL... • ENUM tosses an error if a wrong value is inserted.

  31. は、 Web UTF - 8です。 Интернет является UTF-8. The Web is UTF-8.

  32. Recycle • (be lazy, re-use libraries)

  33. Reuse many eyeballs • PCRE today (not REGEX) • No “shipped” libraries • Maybe ICU? libatomic-ops? Intel Building Blocks? talloc()? glib()? • Proto-buffers.

  34. Maintenance Matters • (Refactoring is valuable and necessary)

  35. In with the New • C99 (types for C++ code) • Posix • Package-lib • STL is in.

  36. TABLE != Table • (we are going from C+ to C++)

  37. How big is it? • 6.0.5-alpha:1,128,112 • 5.1.25-rc: 1,009,108 • 5.0.51b: 999,382 • Drizzle: 315,560 generated using David A. Wheeler's 'SLOCCount'.

  38. Performance Matters • (we all want race cars)

  39. Scale Out • Optimizer (OLTP) • Execution Engine

  40. Transparency + Edge

  41. LaunchPad • Forking is good, no emailed patches. • Anyone can create an account. • Transparency by Launchpad staff.

  42. Buildbot • 26 Active platforms. • Anyone can sign up a new platform. • Completely distributed.

  43. Open Source • All internal and external contributors are equal. • “Captains” handle trees, karma gets you in • Those who commit are Janitors. • Those who only work on their own code are not Captains. • Changes are sent to mailing list. Fuzzy ++ system used (negatives are weighed more heavily)

  44. 30+ Languages • (within 3 months)

  45. Code Drives Decisions

  46. Requirement for Release • All Incompatible Changes are completed. (and more require upgrades to version) • All tests work. • New code additions are fine (think Linux Kernel)

  47. Innovation Happens Elsewhere

  48. Federated X • Patrick Galbraith (Principle Engineer/Lycos) • Antony Curtis (Google) • Transactional • Multi-System • Integrated • Performance

  49. Transport • Eric Day (Architect XO) • Asynchronous • Multi-protocol • Partionalable

  50. Distributed Query Cache • Toru Maesake (Research Engineer/Mixi.jp) • Non-locking • Cloud Distributed (Memcached) • Pluggable

More Related