DataLens
Open-source business intelligence platform with drag-and-drop dashboards, multi-source SQL connectors, and Kubernetes-ready deployment built by Yandex.
DataLens is a modern open-source business intelligence and data visualization platform originally developed by Yandex and used as the primary BI tool across the company before being released as an open-source project. It enables teams to connect to SQL data sources, build interactive dashboards, and share analytics insights without relying on expensive proprietary software.
The platform supports a wide range of data sources out of the box, including ClickHouse, PostgreSQL, MySQL, YDB, Greenplum, SQL Server, Oracle Database, StarRocks, Prometheus, Snowflake, and Trino. Data flows through a layered backend that handles connection management, query generation, and post-processing — including formula calculations — before being visualized in the browser-based frontend.
DataLens ships as a fully containerized application deployable via a single Docker Compose command or a production-grade Helm chart for Kubernetes clusters. The platform includes built-in authentication with role-based access control, a workbook-based organization system for managing dashboards and datasets, and Temporal-powered workflow orchestration for background operations like workbook export and import.
As an alternative to Tableau, Power BI, and Looker, DataLens gives organizations full control over their analytics infrastructure, data, and security posture — with active development from Yandex and a growing open-source community backed by a Telegram group and public GitHub roadmap.
What You Get
- A browser-based dashboard builder with drag-and-drop chart composition and Highcharts or D3.js rendering
- Support for over 12 data source connectors including ClickHouse, PostgreSQL, MySQL, Snowflake, Trino, and Prometheus
- Built-in role-based access control with viewer, editor, and admin roles managed through a native auth service
- Workbook-based organization system for grouping dashboards, connections, and datasets into exportable/importable units
- One-command deployment via Docker Compose with randomized secrets or a production Helm chart for Kubernetes
- Yandex Maps visualization support for geospatial data analysis with configurable API keys
- Temporal workflow orchestration for background operations including workbook export and import
Common Use Cases
- Business reporting dashboards that consolidate data from multiple SQL databases into a single shared view for stakeholders
- ClickHouse analytics layer for teams running high-volume event or time-series data who want a self-hosted visualization frontend
- Internal analytics portals where data access must be controlled by role, preventing viewers from modifying datasets or connections
- Kubernetes-native BI for engineering teams deploying analytics infrastructure alongside other microservices using Helm
- Multi-source data exploration where analysts need to query and join data from PostgreSQL, MySQL, and Snowflake without writing ETL code
- Geospatial analytics with Yandex Maps integration for location-based business data visualized on interactive map layers
Under The Hood
Architecture DataLens is a microservices platform built around a clean separation of concerns: a SPA frontend handles all browser interaction and proxies API calls; a Python backend split into control-api and data-api handles connection management and query execution with formula computation; UnitedStorage provides a PostgreSQL-backed metadata registry for all platform objects; a dedicated auth service issues JWT tokens using PS256 asymmetric keys; and a Temporal workflow engine handles long-running background tasks. The architecture is request-driven with services communicating over HTTP using master tokens and dynamic auth keys for internal trust. This layered decomposition means the data processing path — connection, query generation, formula evaluation, result — is well-isolated from the presentation and storage layers, though the multi-service topology increases operational surface area for self-hosters.
Tech Stack The UI is a Node.js-served React single-page application supporting both API mode and full mode, rendered with either Highcharts or D3.js as a configurable runtime choice. The backend services are Python applications served by uWSGI and Gunicorn. UnitedStorage, auth, and meta-manager are Node.js applications backed by PostgreSQL 16, with database schemas initialized by custom shell scripts at startup. Temporal provides workflow orchestration using RSA 4096-bit key authentication. Deployment is fully containerized via Docker Compose with a hardened production variant generated by an init.sh script, alongside a Helm chart for Kubernetes with templated resource limits, TLS ingress, and per-service replicas.
Code Quality The main repository is a deployment orchestration monorepo rather than application source — it holds Docker Compose files, Helm charts, Postgres initialization scripts, and release tooling, while application source lives in dedicated sub-repositories. No test files are present in this orchestration repo, which is expected for its role. The initialization shell scripts are well-structured with shared utility sourcing and demonstrate operational security awareness through automated cryptographic key generation and hardened defaults. The Helm templates cover all services with consistent naming and resource allocation conventions. The release tooling includes scripts for image mirroring, version updates, and demo data management, indicating a mature release process.
What Makes It Unique DataLens was originally Yandex’s internal analytics platform built for high-scale production use before being open-sourced, rather than being designed as a community tool first — meaning its architecture reflects real operational demands at scale. The Python-based formula calculation engine running server-side processes computed columns and aggregations at the data-api layer rather than delegating entirely to the source database, enabling consistent formula behavior across heterogeneous SQL dialects from ClickHouse to Snowflake. The optional Highcharts and D3.js rendering duality makes Highcharts licensing compliance a runtime environment variable rather than a build-time decision. Temporal workflow integration for workbook import and export is atypical in self-hosted BI tools and enables reliable, observable background operations for environment migration.
Self-Hosting
DataLens is released under the Apache License 2.0, which is a permissive open-source license. You can use it commercially without restriction, modify the source code, and redistribute it. There are no copyleft implications for self-hosters — you are not required to publish modifications to the platform itself if you deploy it internally. Contributions back to the project require signing a Yandex Contributor License Agreement, which transfers certain rights to Yandex LLC, a consideration to weigh if you plan to contribute code upstream.
Running DataLens yourself requires a working Docker or Kubernetes environment with meaningful compute resources. The platform is composed of six distinct services: the React/Node.js UI, the Python-based backend API (control-api and data-api), UnitedStorage for PostgreSQL-backed metadata, an auth service, and a Temporal workflow engine. Each has its own resource allocation and health dependencies, making cold-start orchestration non-trivial. For production, the init.sh script generates randomized cryptographic keys and a hardened docker-compose file. Updates are as simple as a git pull and compose restart, with all user data persisted in a named Docker volume. You are responsible for PostgreSQL backups, key rotation, and uptime monitoring.
Compared to Yandex Cloud’s hosted DataLens offering, the self-hosted version provides identical core functionality but requires you to manage the full operational stack. The cloud version adds managed upgrades, infrastructure SLAs, and support channels backed by Yandex. There is no feature-gated enterprise tier in the open-source distribution — the codebase does not contain license-check logic or paywalled capabilities — so what you deploy is what you get, minus the managed infrastructure and support that a commercial SaaS would provide.
Related Apps
Grafana
Monitoring · Analytics
The open-source observability platform that unifies metrics, logs, and traces from any data source into dynamic, queryable dashboards.
Grafana
AGPL 3.0OpenBB
Databases · Analytics · Invoicing Finance
The AI Workspace for Finance: Connect Data, Run AI Agents, Build Analytics
OpenBB
OtherClickHouse
Databases · Analytics · Data Engineering
Open-source column-oriented database that delivers real-time analytical queries on petabyte-scale data with millisecond latency.