Google Summer of Code 2014
We plan to participate in Google Summer of Code 2014. MariaDB and the MariaDB Foundation believe we are making a better database that remains a drop-in replacement to MySQL. We also work on making LGPL connectors (currently in C, Java, C++ in development) and we also work on MariaDB Galera Cluster which allows you to scale your reads & writes.
- Where to start
Where to start
Please join us at
irc.freenode.net at #maria to mingle with the community. Or subscribe to email@example.com. Or both.
Please keep in mind that in April we travel a lot (conferences, busy time), so if you have a question and nobody on IRC answers — do not feel disappointed, ask in an email to firstname.lastname@example.org. Asking on the mailing list means others benefit from your Q&A too!
LDAP authentication plugin
We would like the authentication system to be able to authenticate against a LDAP Directory Server.
Skills: C, working knowledge of LDAP
Mentor: Sergei Golubchik
Kerberos authentication plugin
Kerberos is a security mechanism used in a lot of financial institutions. A MySQL plugin that allows authentication against Kerberos is the goal here.
See pluggable authentication. See also MDEV-4691 for more.
Skills: C/C++, working knowledge of Kerberos
Mentor: Sergei Golubchik
Active Directory authentication plugin
The Microsoft Windows world is all about Active Directory and upstream MySQL Enterprise already has this feature (though its a paid offering). It would be great to have an open source equivalent.
Skills: C/C++, working knowledge of Active Directory/SAMBA, Windows-based development environment
Mentor: Sergei Golubchik, Colin Charles
Keystone authentication plugin
Keystone is the OpenStack Identity Service. The idea would be to ensure that MariaDB can authenticate to Keystone directly.
Skills: Python, C/C++
Mentor: Mark Riddoch
One of the reasons of bad query plans is inadequate cost estimation of individual operations. A cost of reading a row in one engine might be a lot higher than in some other, but optimizer cannot know it. Also, it uses hard-coded constants, assuming, for example, that evaluating a WHERE clause is 5 times cheaper than reading a row from a table.
Obviously, some kind of calibration procedure is needed to get these cost estimates to be relatively correct. It is not easy, because the estimates depend on the actual hardware where MariaDB is run (a cost of a row read is different on HD and SSD), and also — somewhat — on the application.
A simple and low-maintenance solution would be to use self-tuning cost coefficients. They measure the timing and adjust automatically to the configuration where MariaDB is run.
Mentor: Sergey Petrunia
Port InnoDB memcached interface to MariaDB
MySQL 5.6 has a memcached plugin to InnoDB. MySQL 5.7 has improved performance of this. The task would be to port this to run against MariaDB, and make it work against XtraDB/InnoDB for the 10.1 series of MariaDB.
See MDEV-4674 for more.
Mentor: Colin Charles
GIS enhancements to MariaDB
GIS enhancements for 10.1 that we want to work on include adding support for altitude (the third coordinate), as well as making sure we are fully OpenGIS compliant.
User defined events
User defined events are supported on several other databases in different form and semantics. Events are used to signal a named event in the database. Applications can use named events instead of polling, which uses more resources.
See MDEV-5532 for more.
Mentor: Jan Lindstrom
- suggested development
- query in JIRA to find all 10.1 related tasks that have been voted for highly - good inspiration for things to work on.
- You can use this list for inspiration.
Suggest a task
Do you, a student, want to work on something? Let us know by listing it down here.