finos / perspective

A data visualization and analytics component, especially well-suited for large and/or streaming datasets.
https://perspective.finos.org/
Apache License 2.0
7.72k stars 1.04k forks source link

Integration of DuckDB-Wasm with FINOS Perspective #2617

Closed simisoz closed 1 month ago

simisoz commented 1 month ago

Description of Problem:

When dealing with large datasets in web applications, I want to perform complex analytical queries and visualize the results seamlessly, so I can have an efficient, in-browser data analysis experience without relying on server-side processing.

Currently, there is a gap between performing advanced SQL queries in-browser and visualizing the results interactively. DuckDB-Wasm provides efficient, high-performance SQL query capabilities within the browser, while FINOS Perspective excels at providing interactive data visualization and analysis. However, these two tools do not integrate natively, leading to a fragmented experience and additional overhead for developers to connect them manually.

Potential Solutions:

To address this problem, I propose integrating DuckDB-Wasm with FINOS Perspective. This integration would allow users to run SQL queries on large datasets directly in the browser using DuckDB-Wasm and seamlessly pass the results to FINOS Perspective for interactive visualization and analysis.

Key Features of the Integration:

  1. Native Support for DuckDB-Wasm in Perspective:

    • Enable Perspective to accept DuckDB-Wasm query results as a data source.
    • Provide utilities to execute DuckDB-Wasm queries and format the results for easy ingestion by Perspective.
  2. Unified API:

    • Develop a unified API that abstracts the complexity of using both tools, allowing developers to perform SQL queries and visualize the results with minimal setup.
  3. Real-time Updates:

    • Implement mechanisms to support real-time data updates from DuckDB-Wasm queries to Perspective visualizations, enabling dynamic data analysis.
  4. Cross-Platform Compatibility:

    • Ensure the integration works seamlessly across different browsers and platforms, maintaining performance and reliability.

Considered Drawbacks:

Alternatives Considered:

By integrating DuckDB-Wasm with FINOS Perspective, we can create a powerful, cohesive toolset for in-browser data analysis and visualization, enhancing the user experience and reducing the development overhead.

timkpaine commented 1 month ago

dupe https://github.com/finos/perspective/discussions/1664