Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Innodb the new default type for all new Piwik installations (VS Myisam) #4611

Closed
mattab opened this issue Feb 2, 2014 · 8 comments
Closed
Assignees
Milestone

Comments

@mattab
Copy link
Member

@mattab mattab commented Feb 2, 2014

This change will lead to better performance and reliability.

After much experience with using Myisam table type by default, a few team members and users have requested that we should use Innodb by default.

Steps:

  • Change all tables type to use Innodb instead of Myisam
  • Add type=innodb to the [database] section of config.ini.php
    • this will allow users to change the default type of tables to myasam if they want
    • Add FAQ "How do I change the Mysql table types from Innodb to Myasam?"
  • do not convert existing tables. (it's ok to use both myisam for old tables, and innodb for future created archive tables, or plugin tables)
  • mention we use innodb in the performance guide: http://piwik.org/docs/optimize-how-to/ and http://piwik.org/docs/optimize/ ( reference mysql)
  • Only run OPTIMIZE table statements if tables are not innodb
@halfdan
Copy link
Member

@halfdan halfdan commented Feb 2, 2014

Why support both? Is there any reason for someone to stick with MyISAM?

Personally I think we can just turn the switch and create InnoDB tables in the future and don't need the additional configuration setting.

@mattab
Copy link
Member Author

@mattab mattab commented Feb 3, 2014

Not sure if there is a real reason.

Maybe we could only use Innodb, if nobody cares about myasam?

@tsteur
Copy link
Member

@tsteur tsteur commented Feb 4, 2014

In f85b6f0: refs #4611 use InnoDB by default, added config option to change to different storage engine, introduced new API method to create tables which will automatically use configured engine, run optimize table only for InnoDB tables

@tsteur
Copy link
Member

@tsteur tsteur commented Feb 4, 2014

I added a config setting for now though. Maybe there is no reason to use MyISAM but a reason to use another storage engine (eg infinidb?). It is not really changeable by the user anyway as it is defined in the global config and not changeable during installation. More or less people would have to change it in the global config before installing Piwik and afterwards put it in the user config to make sure it won't be overwritten by an update and to make sure new tables will be created with specified storage engine.

Of course we can also just remove the setting later

@mattab
Copy link
Member Author

@mattab mattab commented Feb 5, 2014

In 280be96: Fix logic: only run OPTIMIZE table on Myisam tables. Refs #4611

@mattab
Copy link
Member Author

@mattab mattab commented Feb 5, 2014

In b104b4b: Remove $schema = 'Myisam' from all update methods refs #4611

@mattab
Copy link
Member Author

@mattab mattab commented Feb 5, 2014

In 36a9626: Streamline config. fixes #4611

@tsteur
Copy link
Member

@tsteur tsteur commented Feb 5, 2014

In e9c5c11: refs #4611 fix fatal error because getProfiler and fetchCol methods did not exist when executed in tracker mode

@mattab mattab added this to the 2.1 - Piwik 2.1 milestone Jul 8, 2014
@mattab mattab added T: Task labels Jul 8, 2014
@tsteur tsteur modified the milestones: 2.4.0 - Piwik 2.4.0, 2.1 - Piwik 2.1 Jul 11, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
…ange to different storage engine, introduced new API method to create tables which will automatically use configured engine, run optimize table only for InnoDB tables
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
sabl0r pushed a commit to sabl0r/piwik that referenced this issue Sep 23, 2014
… methods did not exist when executed in tracker mode
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants