@inproceedings{BraunSchildgenDessloch, author = {Braun, Stefan and Schildgen, Johannes and Deßloch, Stefan}, title = {Visualization of NoSQL transformations using sampling techniques | Visualisierung von NoSQL-Transformationen unter der Verwendung von Sampling-Techniken}, series = {Proceedings of the LWA 2015 workshops: KDML, FGWM, IR, and FGDB : Trier, Germany, October 7-9, 2015}, booktitle = {Proceedings of the LWA 2015 workshops: KDML, FGWM, IR, and FGDB : Trier, Germany, October 7-9, 2015}, publisher = {RWTH Aachen}, address = {Aachen}, pages = {427 -- 438}, abstract = {Analysen auf NoSQL-Datenbanken sind oft langdauernd und die Ergebnisse fur den Benutzer haufig schwer verst ̈andlich. Wir prasentieren eine M{\"o}glichkeit, Datenmengen aus Wide-Column Stores mittels der Transformationssprache NotaQL zu transformieren sowie zu aggregieren und die Ergebnisse in Form von Diagrammen dem Benutzer darzustellen. Dabei kommen Sampling-Techniken zum Einsatz, um die Berechnung auf Kosten der Genauigkeit zu beschleunigen. Das von uns verwendete iterative Samplingverfahren sorgt fur eine kontinuierliche Verbesserung der Berechnungsgenauigkeit und bietet zudem M{\"o}glichkeiten zur Genauigkeitsabsch{\"a}tzung, die in Form von Konfidenzintervallen in den Diagrammen dargestellt werden kann.}, language = {en} } @inproceedings{SchildgenDessloch, author = {Schildgen, Johannes and Deßloch, Stefan}, title = {NotaQL is not a query language! It's for data transformation on wide-column stores}, series = {Data Science : 30th British International Conference on Databases, BICOD 2015 Edingburgh, UK, July 6-8, 2015, Proceedings}, volume = {9147}, booktitle = {Data Science : 30th British International Conference on Databases, BICOD 2015 Edingburgh, UK, July 6-8, 2015, Proceedings}, editor = {Maneth, Sebastian}, publisher = {Springer Nature}, isbn = {978-3-319-20423-9}, issn = {1611-3349}, doi = {10.1007/978-3-319-20424-6_14}, pages = {139 -- 151}, abstract = {It is simple to query a relational database because all columns of the tables are known and the language SQL is easily applicable. In NoSQL, there usually is no fixed schema and no query language. In this article, we present NotaQL, a data-transformation language for wide-column stores. NotaQL is easy to use and powerful. Many MapReduce algorithms like filtering, grouping, aggregation and even breadth-first-search, PageRank and other graph and text algorithms can be expressed in two or three short lines of code.}, language = {en} } @inproceedings{SchildgenLottermannDessloch, author = {Schildgen, Johannes and Lottermann, Thomas and Deßloch, Stefan}, title = {Cross-system NoSQL data transformations with NotaQL}, series = {BeyondMR '16: Proceedings of the 3rd ACM SIGMOD Workshop on Algorithms and Systems for MapReduce and BeyondJune 2016}, booktitle = {BeyondMR '16: Proceedings of the 3rd ACM SIGMOD Workshop on Algorithms and Systems for MapReduce and BeyondJune 2016}, publisher = {ACM}, doi = {10.1145/2926534.2926535}, pages = {1 -- 10}, abstract = {The rising adoption of NoSQL technology in enterprises causes a heterogeneous landscape of different data stores. Different stores provide distinct advantages and disadvantages, making it necessary for enterprises to facilitate multiple systems for specific purposes. This resulting polyglot persistence is difficult to handle for developers since some data needs to be replicated and aggregated between different and within the same stores. Currently, there are no uniform tools to perform these data transformations since all stores feature different APIs and data models. In this paper, we present the transformation language NotaQL that allows cross-system data transformations. These transformations are output-oriented, meaning that the structure of a transformation script is similar to that of the output. Besides, we provide an aggregation-centric approach, which makes aggregation operations as easy as possible.}, language = {en} } @article{SchildgenJoergDossingeretal., author = {Schildgen, Johannes and J{\"o}rg, Thomas and Dossinger, Manuel and Deßloch, Stefan}, title = {Marimba: A framework for making MapReduce jobs incremental}, series = {Proceedings - 2014 IEEE International Congress on Big Data, BigData Congress 2014, 27 June 2014 - 02 July 2014, Anchorage, AK, USA}, journal = {Proceedings - 2014 IEEE International Congress on Big Data, BigData Congress 2014, 27 June 2014 - 02 July 2014, Anchorage, AK, USA}, publisher = {IEEE}, doi = {10.1109/BigData.Congress.2014.27}, abstract = {Many MapReduce jobs for analyzing Big Data require many hours and have to be repeated again and again because the base data changes continuously. In this paper we propose Marimba, a framework for making MapReduce jobs incremental. Thus, a recomputation of a job only needs to process the changes since the last computation. This accelerates the execution and enables more frequent recomputations, which leads to results which are more up-to-date. Our approach is based on concepts that are popular in the area of materialized views in relational database systems where a view can be updated only by aggregating changes in base data upon the previous result.}, language = {en} } @book{Schildgen, author = {Schildgen, Johannes}, title = {MongoDB kompakt}, publisher = {Books on Demand GmbH}, address = {Norderstedt}, organization = {Books on Demand GmbH}, isbn = {9783756891269}, pages = {138}, abstract = {Die Dokumentendatenbank MongoDB ist das am weitesten verbreitete NoSQL-Datenbanksystem. Dieses kompakte Werk pr{\"a}sentiert MongoDB von der Installation bis zur Administrierung in großen Rechenclustern. Sie erfahren, wie Sie JSON-Dokumente in Kollektionen einf{\"u}gen, suchen, {\"a}ndern und l{\"o}schen, wie man Replikation und Sharding effektiv einsetzt und wie Sie komplexe Analysen mithilfe der Aggregation-Pipeline durchf{\"u}hren k{\"o}nnen.}, language = {de} } @inproceedings{SchlagerSchildgen, author = {Schlager, Reinhold and Schildgen, Johannes}, title = {A Query-Rewriting-based Implementation for Temporal Data Management}, series = {LWDA'24: Lernen, Wissen, Daten, Analysen. September 23-25, 2024, W{\"u}rzburg, Germany}, booktitle = {LWDA'24: Lernen, Wissen, Daten, Analysen. September 23-25, 2024, W{\"u}rzburg, Germany}, pages = {14 Seiten}, abstract = {Temporal data management is used to query historical data, identify trends and changes, and make forecasts for the future. This paper provides a query-rewriting approach to implement temporal data management in the data-warehouse system Exasol by using so-called preprocessor scripts. Preprocessor scripts allow for executing custom Lua code and modifying SQL commands. Our approach does not need to undertake additional manual effort by the user. History tables and associated views are created in the background. Data records are automatically archived if they are updated or deleted, and the SELECT command is extended with the AS OF SYSTEM TIME clause as proposed by the SQL Standard.}, language = {en} } @inproceedings{SchildgenHeinz, author = {Schildgen, Johannes and Heinz, Florian}, title = {Interactive SQL Queries and Program Code in Presentations}, series = {Datenbanksysteme f{\"u}r Business, Technologie und Web (BTW2023), 06.-10. M{\"a}rz 2023, Dresden}, booktitle = {Datenbanksysteme f{\"u}r Business, Technologie und Web (BTW2023), 06.-10. M{\"a}rz 2023, Dresden}, publisher = {Gesellschaft f{\"u}r Informatik e.V.}, address = {Bonn}, isbn = {978-3-88579-725-8}, doi = {10.18420/BTW2023-39}, pages = {687 -- 693}, abstract = {Nowadays, most database lectures are performed with an accompanying visual presentation that further illustrates the conveyed facts. Conventional presentation software allows dynamic elements up to a certain level, for example revealing or changing parts of the slide step by step, or even an interaction with the viewers by means of polls or similar mechanisms. Recently, HTML-and browser-based frameworks for presentations have emerged, which allow an even higher degree of flexibility due to the manifold possibilities of HTML5 and JavaScript. This paper presents an approach of how to interactively modify parts of a slide during the presentation, like SQL-based queries or program code snippets, and show the results pretty-printed on the corresponding slide in real-time. This enables the lecturer to easily show more examples, and answer and illustrate side questions, which they did not prepare in advance.}, language = {en} } @inproceedings{SchildgenHeinz, author = {Schildgen, Johannes and Heinz, Florian}, title = {A Showcase of LLMs in Action: SQL Generation from Natural Language (Demo Paper)}, series = {Datenbanksysteme f{\"u}r Business, Technologie und Web - Workshopband (BTW 2025)}, booktitle = {Datenbanksysteme f{\"u}r Business, Technologie und Web - Workshopband (BTW 2025)}, publisher = {Gesellschaft f{\"u}r Informatik}, address = {Bonn}, doi = {10.18420/BTW2025-47}, pages = {819 -- 825}, abstract = {Today, large language models are a very efficient tool for human-computer interaction using natural language. Chatbots like ChatGPT and their corresponding APIs can be used to solve a large variety of tasks that are provided in human-comprehensible sentences, for example generating SQL queries. Executing spoken SQL queries in a database system poses a challenge, because the various syntactical details of SQL are usually not provided verbally. Here, the LLM can help to augment the recognized raw query with the syntax elements needed for successful execution. Furthermore, the correct spelling of table and column names can be derived from the database schema provided in the LLM prompt. This work showcases four use cases in which LLMs assist in querying database systems: (1) A plugin for phpMyAdmin for voice-query input in natural language, (2) a chart generator, (3) an Alexa skill, and (4) a speech-controlled action game SQL Invaders.}, language = {en} } @inproceedings{HeinzSchildgen, author = {Heinz, Florian and Schildgen, Johannes}, title = {SQLinked - A Hybrid Approach for Local and Database-Remote Program Execution}, series = {Datenbanksysteme f{\"u}r Business, Technologie und Web - Workshopband (BTW 2025)}, booktitle = {Datenbanksysteme f{\"u}r Business, Technologie und Web - Workshopband (BTW 2025)}, publisher = {Gesellschaft f{\"u}r Informatik}, address = {Bonn}, doi = {10.18420/BTW2025-128}, pages = {257 -- 263}, abstract = {When working with today's relational databases, there is usually a clear boundary between the database server and the application, that interfaces with the database system using the query language SQL. The concept of stored procedures allows to move complex parts of the business logic into the database server for various reasons, as, for instance, to reduce the latency of ELT processes that involve several database queries building on each other like distributing records into tables according to their attribute values. Creating and maintaining such stored procedures can be a challenging task, however. The idea pursued in this paper is to create a programming language, as well as a compilation and execution environment that allows the user to mark parts of the application code for being automatically compiled to and later be executed as a stored procedure in the database instead of the execution environment of the actual application. This blurs the border between database and application and provides a natural and maintenance-friendly way for offloading latency sensitive parts of the code to the database system.}, language = {en} } @article{HeinzSchildgen, author = {Heinz, Florian and Schildgen, Johannes}, title = {Experience Report: Hey LLM, Generate SQL!}, series = {Datenbank-Spektrum}, volume = {25}, journal = {Datenbank-Spektrum}, number = {2}, publisher = {Springer}, address = {Wiesbaden}, doi = {10.1007/s13222-025-00512-w}, pages = {95 -- 101}, abstract = {Large Language Models have advanced to a resourceful tool with many applications. One particularly interesting use case is the LLM-aided generation of ad-hoc database queries and the possibility of subsequent processing of the results in a way suiting the users intents. In this article, practical ways and experiences are described on how to effectively use LLMs to map a natural-language user query to an SQL query conforming to a specific database schema and post-processing the results of this query in order to, for example, create an appealing visualization. Best results are achieved under favorable circumstances, as, for example, a clean and meaningful named database schema.}, language = {en} } @article{Schildgen, author = {Schildgen, Johannes}, title = {Individuelle Data-Warehousing-Projekte anstelle einer Abschlussklausur}, series = {Datenbank-Spektrum}, journal = {Datenbank-Spektrum}, publisher = {Springer}, issn = {1618-2162}, doi = {10.1007/s13222-025-00502-y}, pages = {4}, abstract = {Dieser Artikel berichtet {\"u}ber die Erfahrungen aus zwei Semestern, in denen Studierende der Data-Warehousing-Vorlesung individuelle Einzelprojekte bearbeitet haben. Das Projekt besteht aus f{\"u}nf Challenges: die Vorstellung der Projektidee, ein Peer-Review anderer Ideen, Datenmodellierung, ETL und analytische Queries, sowie die Erstellung eines Power BI-Dashboards.}, language = {de} }