[Drupal Con AMS 2005] David Axmark on MySQL, Drupal and Foundations
created on Wed, 2005-10-19 09:14
- Advice on Drupal foundation based on experience from MySQL
- Have a basic legal entity ASAP
- Have an agreed set of goals (including what you will do with any money you collect)
- Something is better than nothing
- This is better for business people to relate to (having no entity is something people can't relate to)
- MySQL had no real business plan
- It worked because 5 years were about technology, good timing, had network from their consulting days
- Real Presentation:
- Use new connector (in Drupal 4.7)
- caching discussion: simple tools, no fancy tools
- Logging discussion -
- Drupal is Conservative with SQL
- MySQL Cluster requires 1GigB Ethernet better with 10Gig or higher, most use 1Gig
- Optimizer is about avoiding disk access
- Use clustering to make high availability version of Drupal
- MySQL 5.0
- more parity with PostGresSQL
- added stored procedures following SQL 2003 syntax unlike PostGres which followed Oracle more which is basically DB2
- used store procedures in the future in Drupal?
- Views allow clean abstraction e.g. renaming
- Also make views with joins and quite complex things; can be quite a cost
- Hides complexity
- Whole bunch of features that Drupal can't use like Precision Math and distributed transactions
- Should try to run MySQL in strict mode when 5.0 comes out
- Strict Mode is negligible
- Instance Manager (not applicable to Drupal?) - better than old shell script which was clunky, written in C
- MySQL Release Candidate September 26, 2005
- could be a week or 5 weeks :-)
- 100 people support and development
- 703 bugs closed in September
- Cool Windows MySQL migration Suite
- Big Users: AP, Cox Communications (2 million rows per hour added)
- Comments on Drupal schema after a brief look: long keys in a couple of tables, long keys cost, integer keys are faster, maybe investigate using auto regenerate keys, cache table has long keys, node table has a lot of keys; are they needed; if u don't insert much; keys not expensive
- Question: general tables or private tables better? Argument against comments being nodes is that it will perform bad because of lots of nodes - Slashdot grew to decent size without indices - split table into variable big part and a small table that they can scan fast and put in RAm (since most often people don't look at user data)- It's worth to split it if you use a few columns all the time
- Dries- what's the best way to build caching
- if not updating often, use myisam
- Complex query vs. stored procedure - stored procedure saves sending query over the wire
- Dries: when is the query cache flushed? A: when the table is changed, all data from that table is flushed












