How do I use another database like PostgreSQL, SQLite, Oracle? Will you support NoSQL databases like Hadoop, MongoDB?
Matomo only works on MySQL and MariaDB, where all the development and testing is done.
Supporting multiple databases was a long term objective for us, but we have found that this project would require a huge amount of coding, testing, and ongoing complex support… As a small team we need to stay focused and unfortunately we are not planning to add support for other databases in the future (unless for those that are compatible with MySQL/MariaDB). Also over the years we found that Matomo on MariaDB/MySQL can track up to a few billions of hits per month so the platform scales really well as is.
MariaDB: Matomo is already fully compatible with MariaDB and other MySQL compatible databases. Feel free to use them with Matomo!
NoSQL: Regarding using Matomo with NoSQL databases, we have considered this technology, and our current understanding is that NoSQL would have to be implemented in a hybrid way, where NoSQL would be used for visitor logs and events, but not for websites, users, reports, and other features. Using MongoDB, Hadoop, etc. would not remove MySQL, but it would maybe allow to scale further in some cases.
Column storage databases: As well as NoSQL, and possibly a better approach are the ‘Column storage databases’. This is a technology especially tailored to analytics workload. Some solutions are GPL such as Clickhouse are partly compatible with MySQL queries. This could also offer a superb solution to scaling Matomo further.
PostgreSQL: PostgreSQL has long been a popular feature request, see the ticket for more details. But considering the engineering effort to support PostgreSQL it’s unlikely to happen.
SQLite: supporting SQLite would be helpful for low traffic websites. But we found that it’s already possible to run a MariaDB or MySQL server on most devices and even on cheap and very small servers, such as Freedom boxes, USB sticks-based solutions, and Raspberry Pi.