Browse files

Add a readme file for xxl.

  • Loading branch information...
ChristianBeilschmidt committed Feb 1, 2016
1 parent e3f545c commit 3a2fb0c403af8f366bc2182e68a50b834d46100e
Showing with 60 additions and 0 deletions.
  1. +60 −0
@@ -0,0 +1,60 @@
+# XXL
+The eXtensible and fleXible Library XXL is a Java library that contains a rich infrastructure for implementing advanced query processing functionality.
+The library offers low-level components like access to raw disks as well as high-level ones like a query optimizer.
+On the intermediate levels, XXL provides a demand-driven cursor algebra, a framework for indexing and a powerful package for supporting aggregation.
+The XXL project provides various packages.
+See the longer introduction to XXL for an explanation of the packages.
+## Main Features
++ A demand-driven cursor algebra including efficient implementations of object-relational operators such as joins, difference, MergeSort etc.
++ An extended relational algebra based on java.sql.ResultSet
++ A powerful framework of index-structures, e.g. B+tree, R-tree (linear and quadratic split Guttman et al), R\*tree, RR\*tree,
+Hilbert R-tree, R-tree (linear split Tan et al), X-tree, M-tree etc.
++ A framework for processing multi-way joins including spatial, temporal, and similarity joins
++ The support of raw-I/O (using JNI), an own file system implementation, and a record manager
++ Skyline query R-tree extension
++ MVBT (Multiversion B+Tree)-Index Implementation
++ MVBT+ bulk-loading approach
++ Sort-based bulk-loading methods for R-trees (including STR and GOPT approach)
++ Top-down buffer tree bulk-loading of R-trees
+## Building
+You can add the XXL library into your local maven repository by calling `mvn install -DskipTests`.
+If you just want to generate jar files you can execute `mvn package`.
+You should find the output files in the *target* directory.
+In order to just generate JavaDoc you can execute `mvn javadoc:javadoc`.
+The *target/apidocs* directory should now contain the JavaDoc HTML pages.
+To execute the tests you can call `mvn test`.
+Now maven will run all testNG testcases for XXL.
+## Using
+All classes of XXL are documented in detail, containing examples in the JavaDoc.
+The latest version of the documentation is [here](
+You can also look at the test cases how the different data structures were used there.
+Additionally, you can find use cases separately in [xxl-usecases]( that simplify their understanding.
+## Papers
+* Michael Cammert, Christoph Heinz, Jürgen Krämer, Martin Schneider, Bernhard Seeger: <br />
+[**A Status Report on XXL - a Software Infrastructure for Efficient Query Processing.**]( IEEE Data Eng. Bull. 26(2): 12-18 (2003)
+* Jochen Van den Bercken, Björn Blohsfeld, Jens-Peter Dittrich, Jürgen Krämer, Tobias Schäfer, Martin Schneider, Bernhard Seeger: <br />
+[**XXL - A Library Approach to Supporting Efficient Implementations of Advanced Database Queries.**]( VLDB 2001: 39-48
+* Jochen Van den Bercken, Jens-Peter Dittrich, Bernhard Seeger: <br />
+[**javax.XXL: A prototype for a Library of Query processing Algorithms.**]( SIGMOD Conference 2000: 588
+## Contributing to the XXL-Project
+Since we consider XXL as a toolbox for the entire community, we would be pleased to get feed-back from research projects that use the functionality of XXL.
+In particular, we encourage people, who have extended the functionality of XXL, to attach their code to our release in a supplement package.
+## License
+All versions of XXL are freely available under the terms of the GNU Lesser General Public License.

0 comments on commit 3a2fb0c

Please sign in to comment.