arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Google Summer of Code 2014

We participated 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 on MariaDB Galera Clusterarrow-up-right, which allows you to scale your reads & writes.

hashtag
Where to start

Please join us at irc.freenode.net at #maria to mingle with the community. Or subscribe to maria-developers@lists.launchpad.netarrow-up-right. 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 maria-developers@lists.launchpad.net. Asking on the mailing list means others benefit from your Q&A too!

hashtag
LDAP authentication plugin

We would like the authentication system to be able to authenticate against a LDAP Directory Server.

See .

Skills: C, working knowledge of LDAP

Mentor: Sergei Golubchik

hashtag
Self-Tuning Optimizer

this project is taken

One of the reasons for 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 the 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.

See .

Skills: C/C++

Mentor: Sergei Golubchik

hashtag
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 for more.

Skills: C/C++

Mentor: Colin Charles

hashtag
GIS enhancements to MariaDB

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.

Skills: C

Mentor: Holyfoot

hashtag
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 for more.

Skills: C/C++

Mentor: Jan Lindstrom, Sergei Golubchik

hashtag
Indexes for BLOBs (in MyISAM and Aria)

MyISAM and Aria support special kinds of indexes that only store the hash of the data in the index tree. When two hashes match in the index, the engine compares actual row data to find whether the rows are identical. This is used in internal temporary tables that the optimizer creates to resolve SELECT DISTINCT queries. Normal unique indexes cannot always be used here, because the select list can be very long or include very long strings.

This task is to provide a direct SQL interface to this feature and to allow users to create these indexes explicitly. This way we can have unique constraints for blobs and very longs strings.

Skills: C++

Mentor: Sergei Golubchik

hashtag
CREATE OR REPLACE, CREATE IF NOT EXISTS, and DROP IF EXISTS

this project is taken

This task is to add support for OR REPLACE and IF EXISTS / IF NOT EXISTS to all CREATE and DROP variants for all objects (where it makes sense).

Skills: C++

Mentor: Sergei Golubchik

hashtag
Statistically optimize mysql-test runs by running less tests

this project is taken

This is a research not a coding task. See

Skills: SQL, Perl/Python or other language of your choice, mathematical statistics

Mentor: Elena Stepanova, Sergei Golubchik

hashtag
Improved temporary tables

It is a well-known and very old MySQL/MariaDB limitation that temporary tables can only be used once in any query; for example, one cannot join a temporary table to itself. This task is about removing this limitation.

Skills: C++

Mentor: Sergei Golubchik

hashtag
Table UDFs

Implement a new plugin type that adds support for table UDFs — loadable User-Defined Functions that return tables, not scalar values.

Skills: C++

Mentor: Sergei Golubchik

hashtag
GTID support in mysqlbinlog

The mysqlbinlog tool needs to understand global transaction ids. In particular, it should be possible to start and end the dump at the specified GTID. Both when reading binlog files and when connecting to a running server. See .

If time permits, other client programs could be extended similarly, like mysqldump --master-data or the --sync-with-master command in mysqltest.

Skills: C++

Mentor:

hashtag
See Also

  • See also list in Jira.

This page is licensed: CC BY-SA / Gnu FDL

MDEV-350arrow-up-right
MDEV-4674arrow-up-right
MDEV-5813arrow-up-right
MDEV-5532arrow-up-right
MDEV-5359arrow-up-right
MDEV-5776arrow-up-right
MDEV-5535arrow-up-right
MDEV-4989arrow-up-right
«GSoC 2014 tasks»arrow-up-right
spinner
pluggable authentication
GIS