Skip to main content
Skip table of contents

Modern Data Stack overview

CleverMaps and Modern Data Stack

As a data engineer or data analyst, you have probably heard about Modern Data Stack (MDS). The goal of this page is to describe the role and position of the CleverMaps components in the MDS ecosystem. There is a ton of information about MDS around the web, so we will briefly describe MDS from our perspective and focus on how CleverMaps fits in. 

Here are some resources if you are not familiar with MDS:

CleverMaps platform is purposely designed as a group of components, and thanks to this open architecture, it is compatible with MDS. You can freely combine CleverMaps components with MDS based on your current needs. Our vision is to blend Location Intelligence components into the MDS as seamlessly as possible.

We believe that the CleverMaps platform follows the principles of MDS mainly because:

  • CleverMaps is a cloud-native, multitenant, RESTful platform

  • CleverMaps components can be centred around the Data Warehouse

  • CleverMaps analytic components are based on modern BI trends (semantic layer, logical data model, analytics as a code, self-service analytics, embeddable analytics, …)

  • CleverMaps provides advanced options for automated analytics (REST API, SDKs, git workflows, ..)

From the broader perspective, we can divide CleverMaps components into two categories:

  • Business Intelligence components

    • Semantic Layer

    • Studio

    • Stories Builder

  • Data components

    • Data Marketplace

    • Data Toolkit

From the MDS architecture perspective, CleverMaps components can be placed as follows:

Here is a brief overview of the CleverMaps components from the MDS perspective:

  • Data Marketplace

    • Source of the geospatial data for your analytics

    • Usually, it is combined with internal business data

    • More information about Data Marketplace can be found here Data Marketplace

  • Ingestion from Data Marketplace

    • Datasets from the Marketplace are available over AWS S3 bucket in CSV format, and you can use any standard S3 connector to load them into your Data Warehouse (e.g., AirByte, Fivetran, Stitch).

  • Transformation

    • You can use any of your favourite tools to transform your data (e.g. dbt), but we provide a few data components to make certain geospatial operations easier.

    • We also provide some components for the CleverMaps-specific jobs. More information can be found here Data Toolkit.

    • We are also planning to provide some dbt_packages with geospatial transformations in the near future.

  • Data load

    • For loading data from the Data Warehouse into the CleverMaps Semantic Layer, see the next chapter.

  • Business Intelligence Semantic and Visualization layer

    • This is the CleverMaps main layer, and it consists of the following components:

      • Semantic Layer

      • Studio

      • Stories Builder

    • More information about the Semantic layer can be found here Semantic layer

  • Reverse ETL

    • We also provide a data component for extracting data and metrics from the CleverMaps Semantic Layer. More information can be found here Data Toolkit.

    • These tools can help you deploy a process which will send data and metrics from CleverMaps further to other organizational systems.

Data loading into the CleverMaps Semantic Layer

CleverMaps Semantic Layer is working on top of the Postgres database with the PostGIS extension. It can connect to externally hosted Postgres DWH directly. If you prefer Snowflake, BigQuery or Redshift, you will need to copy data from DWH to the CleverMaps Semantic layer. It means that you need to establish a loader from your Data Warehouse into the CleverMaps Semantic Layer. The loader can be implemented in a technology of your choice. The only requirement is that the data needs to be loaded in the CSV format. We provide a few ways to load the data:

  • Using CleverMaps Writer (Docker)

  • Using CleverMaps Shell (Docker or jar)

  • Using pure CleverMaps Semantic Layer REST API

  • Using CleverMaps Python SDK (beta)

  • Using CleverMaps Java SDK (beta)

We also provide ready to use CleverMaps Connector for the Keboola Connection ETL, and we are also planning to implement a connector for other ETL/ELT technologies (e.g. AirByte, Fivetran, Stitch).

More information about data loading can be found here Data Toolkit

Common deployments

Let’s dive into some common scenarios which can be deployed in the MDS ecosystem.

Minimal headless deployment

  • This scenario is helpful for use cases when you need a cloud analytical backend where you can access your metrics and data over the REST API from your own data visualization layer (custom data app, notebook, script, dashboard, …).

  • This scenario will be deployed with CleverMaps Semantic Layer and optionally with some data from CleverMaps Data Marketplace.

  • Data Ingestion, Data Warehouse and Data Visualization layer will be deployed with technologies of your choice.

Standard analytical deployment

  • This scenario is the most common because it also delivers the Business Intelligence layer - CleverMaps Studio.

  • This scenario will be deployed with CleverMaps Semantic Layer, CleverMaps Studio and optionally with some data from CleverMaps Data Marketplace.

  • Data Ingestion and Data Warehouse will be deployed with technologies of your choice.

Full analytical storytelling deployment

  • This scenario is common if you need to deliver data analytics for less technical users, typically for management or sales. Data analytics is delivered with a lightweight data story layer - CleverMaps Stories.

  • This scenario will be deployed with CleverMaps Semantic Layer, CleverMaps Studio, CleverMaps Stories and optionally with some data from CleverMaps Data Marketplace.

  • Data Ingestion and Data Warehouse will be deployed with technologies of your choice.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.