Die [Convex Database|Intersult Convex Database] ist eine Datenbank zum Ablegen und Auffinden von komplexen Datenobjekten. !!!Hintergrund Komplexe Datenobjekte bezeichnet solche Dateien, für die keine unmittelbare Ordnung existiert, weil die Anzahl der Kriterien sehr groß ist. Beispiele sind Bilder, Töne, Dateien. Zwischen solchen Objekten kann jedoch immer eine Ähnlichkeit definiert werden, sei es die Edit-Distance nach Levenshtein. Bisher bestand das Problem sowohl im Sortieren als auch in den Zugriffsmechanismen einer derartigen Datenbank. Das Hinzufügen und Entfernen von Elementen verursachte mehr Aufwand, als die gesamte Datenbasis zu vergleichen. !!!Lösung Die [Intersult Convex Database] verwendet Algorithmen zum effizienten Hinzufügen und Entfernen von Elementen in der Datenbank. !!!Beispiel {{{ public class ConvexTest { @Test public void test() { String test = "test"; ConvexSet<String> set = new ConvexSet<String>(new EditDistance(), new LenseCriterion()); for (int i = 0; i < size; ++i) { String string = StringUtils.generateString(10D); System.out.println(string); set.add(string); } ConvexSet<String>.Convex convex = set.find(text); System.out.println(convex.getValue() + "(" + convex.distance(test) + ")"); }}}