Web dashboard for explorative analysis and management of huge amount of temporal data
Thesis in external company
keywords DATA ANALYSIS, USER EXPERIENCE, USER INTERFACE, WEB
Reference persons LUIGI DE RUSSIS
External reference persons Roberto Bressani (DNDG S.r.l., email@example.com)
Research Groups DAUIN - GR-10 - Intelligent and Interactive Systems - e-LITE
Thesis type EXPERIMENTAL
Description IoT infrastructures that collect large amounts of data in real time are increasingly popular. One of the main requirements of these systems is the capability to manage high rates of data ingestion.
In these systems stream processing and analytics happen in near real-time to identify immediate insights and actions. For example, stream processing generates alerts when temperatures rise. Analytics can identify short-term insights and actions or predict a trend of rising temperatures.
In this context, it is increasingly common to develop interactive web dashboards that allow users to carry out exploratory analysis of the data collected in real time. One of the most popular UI/UX pattern is cross-filtering.
Cross-filtering makes it easier and more intuitive for viewers of dashboards to interact with a dashboard's data and understand how one metric affects another. With cross-filtering, users can click a data point in one dashboard tile to have all dashboard tiles automatically filter on that value.
The effect of a click on an area of the dashboard generally triggers a set of analytical query workloads, also known as online analytical processing (OLAP). These workloads are characterized by relatively long and complex queries that process significant portions of the stored data set, such as aggregations across entire tables or joins between several large tables. Data changes should also be large-scale, with multiple rows being added or large portions of tables being modified or added simultaneously.
As the amount of data processed increases, it's becoming an option to move the analytic power from the server to the client, in order to reduce the time of data transfer and better optimize the user experience. One option is to make best use of the computing power of the GPU on the client by using technologies like WebAssembly.
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.
The purpose of this project is the development of a software framework and a set of UI/UX patterns and components that allow the creation of interactive dashboards that can manage millions of data in near real time, making the user experience smooth and pleasant.
The framework will enable in-memory analytics and query processing using Wasm in the browser and transparently allow live data ingestion from the server in near real time while still maintaining a consistent user experience.
- Object oriented programming
- Relational databases, SQL
- Fundamentals of UI/UX
Skills should be obtained through passing the following courses with high scores:
- Web Applications I (and, optionally, Web Applications II)
- Data Science & Database Technology
- System and Device Programming
- Human Computer Interaction (preferably)
Deadline 15/03/2024 PROPONI LA TUA CANDIDATURA