Apache Derby Coding Projects
This page contains a table of useful and hopefully interesting projects that newcomers, Google Summer of Coders, interns, or whoever else is interested can sink their teeth into over a three month period (e.g. a Summer of Coding).
Each project must have at least one mentor and an estimate of the number of people required to complete this over a three month period. It is OK if a project doesn't take a full three months, but we should try to think in terms of three-month increments.
If you are inspired to mentor one of these projects, please add it to http://wiki.apache.org/general/SummerOfCode2009.
For a complete description of t Google Summer of Code program, see http://code.google.com/soc
Project Name | Mentor(s) | Short Description | Link to Project Page | Team Size |
Documentation backend work |
| There exists a need for improvement to the PDF generation and the overall presentation of our documentation in general. | 1 | |
SQL PSM Support |
| Proposal to support functions and procedures written in SQL by compiling them to server-side JDBC Java byte code and then executing them using the existing Java routine support. Functionality could then be extended to SQL/PSM with control statements |
| |
Lucene Integration |
| Integrate Lucene text search engine into Derby | ?? | |
Improve Derby XML Support |
| Currently Derby XML support is fairly limited. This project would be to move Derby towards full XML support | ?? | |
Add support for shared code |
| Currently it is not possible to safely share code between Derby jar files. This proposal would be to identify and implement a mechanism for sharing code that does not cause issues with compatibility in a mixed version environment | An initial attempt to define the ground rules for this can be found at SharedComponentVersioningGuidelines | 1-2 |
Migration tool from MySQL to Derby |
|
|
|
|
Server management tools. |
| Tools to manage checkpoints/backups, data and log placement, lock monitoring, performance monitoring, etc. Each one of these is its own separate project |
|
|
More JMX support |
| Build on top of the foundation introduced in 10.4. Examples: Add monitoring of transaction rate (# of transactions committed/aborted/active), hits/misses in the page cache, locks, etc. |
|
|
Automatic copying of log from the log directory to an archive |
|
|
|
|
Implement an LRU-based cache manager to replace the current clock algorithm |
| Derby currently uses a clock algorithm to determine which pages to replace in its page cache. We have indications that this algorithm is far from optimal for some type of loads. Many other database systems use variants of an LRU-based algorithm, i.e. the pages that are least recently used will be candidates for replacement. |
| |
Network client Quality Improvements | Kathey Marsden | Derby introduced the network client JDBC driver with its 10.1.1.0 release. There is still important quality work pending to match the robustness of our embedded Driver. This is a great opportunity to learn about JDBC, XA, and DRDA protocol and become active in the Apache Derby development community. | NetworkClientQualityImprovements | ?? |
Make dblook work with SQLAuthorization |
| When SQL authorization (GRANT/REVOKE) was added to Derby, dblook was left behind (DERBY-3954, DERBY-3884). Tackling this will yield insight into Derby's authorization aspects and system tables, while still allowing coding to happen in a smaller codebase (dblook). | http://issues.apache.org/jira/browse/DERBY-3884, http://issues.apache.org/jira/browse/DERBY-3954 | 1 |