LogoLogo
HomeUser GuidesAPI Reference
  • 👏Welcome to Whaly 🐳
  • Team
    • 👨‍👩‍👧‍👦What is a team?
    • 🛡️Single Sign On
    • 🥷Impersonate
  • Organisation
    • 🏫What is an organisation?
    • 📤Upload your Organisation logo
    • 🔑Manage Access to your organisation
    • ❓Understanding Licences
    • 👮Understanding User Roles
  • User Management
    • 🏷️User Attributes
    • 👭User Groups
    • 🤖Service Accounts
  • Workspace
    • ✏️Workspace
    • 📂Report Folders
    • ✨Sharing & Collaboration
      • Share a report to the Web
    • 📗Catalog
    • ⚙️Settings
  • Warehouse
    • 🏦Connect your Warehouse
    • ⚔️Amazon Athena
      • Connect your Athena
    • 🏮Amazon Redshift
      • Connect your Redshift
    • 🧱Databricks
      • Connect your Databricks
    • 🔷Google BigQuery
      • Connect your BigQuery
      • Grant access to BigQuery datasets
      • Enable multi project support
    • 🐘Postgres
      • Connect your Postgres
      • Whitelisting Whaly IPs
    • ❄️Snowflake
      • Connect your Snowflake
      • Giving access to Snowflake data
  • Models
    • 💞Models sync
      • Where should my models be managed?
      • dbt Cloud
        • Configuration
        • Exposing models into Whaly
    • 📥Persistence Engine
      • Configuration
        • Snowflake
      • Check Materialisation runs status
  • Workbench
    • 🚀Navigating the workbench
    • 🛠️Modeling
      • Understanding Datasets
        • General Information
        • Drills
        • Relationships
        • Primary Keys
        • Cache
      • Model Data
        • SQL Models
        • Flow Models
          • Create a Flow
          • Update a Flow
          • Flow steps
            • From Model
            • From Raw
            • Hide Column
            • Filter
            • Lookup
            • Rollup
            • Formulas
            • Group
            • Union
      • Import raw data
        • From your warehouse
        • From third party data
    • 🧭Explorations
      • Configure an exploration
      • Exploration Templates
      • Tables
        • Configure a table
        • Add related data
      • Metrics
        • Create a Metric
        • Create a Calculated Metric
        • Create Drill Downs
        • Using custom formatting
      • Dimensions
        • Create a dimension
      • Check measure usage
      • Row Level Access
  • Data consumption
    • 💡Exploring data
      • How to explore data
      • Drill Down
      • Forecasting
    • 💹What is a Report?
    • 📊Dashboards
      • Create a dashboard
      • Manage tiles
        • Add chart tiles
        • Add text tiles
        • Add navigation tiles
        • Arranging tiles
      • Add a description
      • Share a dashboard
      • Filter a dashboard
      • Push dashboard
      • Delete a dashboard
    • 📈Questions
      • Create a question
      • Add a description
      • Share a question
      • Push question data
      • Delete a question
    • 🔁Refreshing a report
  • Data visualisation
    • 🎨Theming
    • 🖌️Chart your data
      • Bar chart
      • Calendar chart
      • Funnel chart
      • Gauge chart
      • Geo map chart
      • Heatmap chart
      • Interactive map chart
      • Line chart
      • Metric chart
      • Pie chart
      • Retention chart
      • Table chart
      • Treemap chart
      • Waterfall chart
      • Custom time format in time series
  • Content management
    • ⭐Explorations Section
    • ✂️Bulk Content Management
  • Embedding
    • 📌Embed in Business apps
      • Notion
      • Clickup
      • Hubspot
      • Google Chrome
        • 🌱Install
        • ⚙️Configure the Chrome extension
    • 👩‍💻Embedding API
    • 🪟Partner Portal
  • Workflows
    • 🚀Push
      • Configure a Push
      • Manage Push
    • 💼Manage Installed Actions
    • ⚡Actions catalog
      • Airtable
      • Google Sheets
      • Slack
      • Sendgrid
      • Webhook
  • Platform concepts
    • ✳️Query Mode
    • 💫Caching
  • Guides
    • ⛑️Support
  • User
    • 🤩Upload your profile picture
  • Connectors
    • 🔌Connect your Sources
    • ⚙️Warehouse setup
      • BigQuery
        • Configure a Cloud Storage cleaning rule
      • Snowflake
    • ☁️Whitelisting Whaly connectors IPs
    • 🔐SSH Tunneling
    • 🏄Schema drift
    • 🔁Replication method
    • 🧙Source monitoring
    • 🎁Source catalog
      • Community
        • Github Stars
        • Slack
        • Orbit
      • Database
        • PostgreSQL / Postgres
          • 💡Tip: Extracting the relationships
        • MariaDB / MySQL
      • eCommerce
        • WooCommerce
      • Engineering
        • Github
      • Finance
        • Brex
        • Pennylane
          • Pennylane (Redshift) - General Ledger & Trial Balance
          • Pennylane API - Customer Invoices
        • Qonto
        • Stripe
        • QuickBooks
      • Marketing / Growth
        • Facebook Ads
        • Google Ads
        • Google Analytics
          • Google Analytics (V4)
          • Google Analytics (Universal Analytics)
        • LaGrowthMachine
        • lemlist
        • LinkedIn Ads
        • Salesloft
      • No-Code
        • Airtable
        • Bubble
        • Google Sheets
      • Support
        • Intercom
      • Product
        • Amplitude
        • MixPanel
        • Segment
      • Sales / CRMs
        • Aircall
        • Pipedrive
        • Hubspot
        • Recruit CRM
        • Salesforce
Powered by GitBook
On this page
  • Working as a software engineer comes at a cost
  • What are Whaly models and how they complete models managed by an external solution
  • Summary

Was this helpful?

  1. Models
  2. Models sync

Where should my models be managed?

There are many great solutions widely adopted by the data community to build and manage your business knowledge through Models such as dbt, Keboola and Dataform. Such tools have helped countless of companies scaling their modelling capabilities.

Those solutions help you use software engineering patterns in your modelling project such as:

  • documentation

  • version control through git

  • unit testing

  • source freshness

  • continuous integration

  • continuous deployment

  • templatization engine

In the same time, Whaly offers a lightweight modelling layer that enable people to build:

  • SQL models

  • Flow Models (no-code)

In the end, successful data architecture contains Models in both specialised modelling solutions and in Whaly in the same time, let's dive in to understand why Whaly models exists.

Working as a software engineer comes at a cost

The reason why modern modelling solution are so good is that they took inspiration of the Software engineering best practises. But it is also one of their biggest issue.

When you switch to a code based modelling layer, your people and your internal tooling must evolve to meet the new requirement that comes with the "software engineering" process.

As a reminder, the common "Software engineering" process is:

  1. Getting a requirement from a business team

  2. Implementing the requirement on a local branch/copy of the project

  3. Locally testing the new implementation

  4. Opening a Pull Request on your favorite git tool (github, gitlab, ...)

  5. Have a peer review and approve the Pull Request

  6. Merge the pull request

  7. Check production state after the pull request has been merged

This is a powerful but complex process that has its own benefits such as:

  • Each development must be approved by a peer leading to

    • A more consistent codebase

    • Less bugs pushed in production

  • Each features can be tested locally leading to

    • A smoother dev experience

    • Less time spent debugging and more time spent fixing bugs and working on new features

But while this process is more robust, it is quite slow and requires the use of a lot of tools (git, CI/CD, etc.) which means that fewer people can follow it because of lack of skills and time.

In the end, it lead to fewer and slower data breakthroughs, leading to deceptiveness from your business users standpoint.

What are Whaly models and how they complete models managed by an external solution

Whaly models are lightweight and easy to create. SQL knowledge is not even required as they also exists in a visual "flow" fashion. This way, it's very easy for anyone in your organisation to create and share their own Models, similar to what they could do with a spreadsheet.

In the same time, those lightweights models can be used and shared inside Whaly in the same way as a Modelling solution model could be used: in the end, the produced dashboards looks the same.

Whaly models can be individually "migrated" to the specialised solution once your organisation wants to get a better level of control over them.

Summary

Model type
Pros
Cons
When to use

Whaly models

  • Easy/fast to create for anyone

  • Exists in code (SQL) or no-code way

  • Can result in "fragile" data hierarchy

  • No strong governance on Models changes

  • When prototyping a data project

  • When working with business users (Product Managers, SalesOps, RevOps)

dbt, Keboola, Dataform models

  • Comes with a very mature process to produce high quality models

  • Very extensible (macros, ...)

  • Slow/costly to create

  • Only come as code (SQL/Python)

  • When industrialising a project

  • When a model is important and data quality matters

  • For slow changing models, once the business requirements are clear

PreviousModels syncNextdbt Cloud

Last updated 2 years ago

Was this helpful?

💞