Need advice about which tool to choose?Ask the StackShare community!

Druid

378
862
+ 1
32
Google BigQuery

1.8K
1.5K
+ 1
152
Add tool

Druid vs Google BigQuery: What are the differences?

Introduction

Druid and Google BigQuery are both powerful data processing and analytics tools used for working with large volumes of data. While they share similarities in terms of their ability to handle big data, there are key differences that set them apart. In this article, we will explore the main differences between Druid and Google BigQuery.

  1. Data Storage Architecture: Druid is designed as a column-oriented distributed data store that is optimized for time-series data. It uses a combination of in-memory and disk-based storage to provide fast querying and aggregation capabilities. On the other hand, Google BigQuery is a fully managed serverless data warehouse that stores data in a columnar format using its proprietary Dremel storage system.

  2. Query Execution Model: Druid follows a distributed query execution model where data is partitioned and distributed across multiple nodes, allowing queries to be executed in parallel. It also supports pre-aggregated data cubes and caching mechanisms for faster query response. In contrast, Google BigQuery uses a massively parallel processing (MPP) architecture that automatically scales resources to handle large datasets and query volumes, making it ideal for ad-hoc queries and interactive analysis.

  3. Data Ingestion: Druid supports real-time data ingestion, meaning it can handle continuous streams of data as they are generated. It provides built-in support for ingesting data from various sources such as Kafka, Hadoop, and AWS S3. On the other hand, Google BigQuery primarily focuses on batch processing, although it does offer some support for streaming data using technologies like Cloud Pub/Sub and Dataflow.

  4. Query Language: Druid uses a SQL-like language called Druid Query Language (DSL) for querying and aggregating data. The DSL is specifically optimized for time-series analytics and provides advanced features like approximate and hyper-unique aggregators. In contrast, Google BigQuery uses a dialect of SQL known as BigQuery SQL, which is fully compliant with the ANSI SQL standard and includes additional features for working with nested and repeated data structures.

  5. Data Governance and Security: Google BigQuery provides robust data governance and security features, including identity and access management (IAM) controls, encryption at rest and in transit, audit logs, and data access controls through VPC Service Controls. Druid, on the other hand, does not offer built-in security features and relies on integrating with external systems like Apache Kafka for secure data ingestion and access.

  6. Cost Structure: The pricing model of Druid and Google BigQuery differs significantly. Druid is an open-source project and can be self-hosted, reducing the overall cost of infrastructure. However, managing and scaling the infrastructure requires additional effort and expertise. On the other hand, Google BigQuery follows a pay-as-you-go pricing model, where you are billed based on the amount of data processed and the compute resources used.

In summary, Druid is a column-oriented distributed data store optimized for time-series data, supporting real-time data ingestion and offering a specialized query language. Google BigQuery, on the other hand, is a fully managed serverless data warehouse that uses a massively parallel processing architecture and provides robust data governance and security features, albeit at a higher cost.

Decisions about Druid and Google BigQuery
Julien Lafont

Cloud Data-warehouse is the centerpiece of modern Data platform. The choice of the most suitable solution is therefore fundamental.

Our benchmark was conducted over BigQuery and Snowflake. These solutions seem to match our goals but they have very different approaches.

BigQuery is notably the only 100% serverless cloud data-warehouse, which requires absolutely NO maintenance: no re-clustering, no compression, no index optimization, no storage management, no performance management. Snowflake requires to set up (paid) reclustering processes, to manage the performance allocated to each profile, etc. We can also mention Redshift, which we have eliminated because this technology requires even more ops operation.

BigQuery can therefore be set up with almost zero cost of human resources. Its on-demand pricing is particularly adapted to small workloads. 0 cost when the solution is not used, only pay for the query you're running. But quickly the use of slots (with monthly or per-minute commitment) will drastically reduce the cost of use. We've reduced by 10 the cost of our nightly batches by using flex slots.

Finally, a major advantage of BigQuery is its almost perfect integration with Google Cloud Platform services: Cloud functions, Dataflow, Data Studio, etc.

BigQuery is still evolving very quickly. The next milestone, BigQuery Omni, will allow to run queries over data stored in an external Cloud platform (Amazon S3 for example). It will be a major breakthrough in the history of cloud data-warehouses. Omni will compensate a weakness of BigQuery: transferring data in near real time from S3 to BQ is not easy today. It was even simpler to implement via Snowflake's Snowpipe solution.

We also plan to use the Machine Learning features built into BigQuery to accelerate our deployment of Data-Science-based projects. An opportunity only offered by the BigQuery solution

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Druid
Pros of Google BigQuery
  • 15
    Real Time Aggregations
  • 6
    Batch and Real-Time Ingestion
  • 5
    OLAP
  • 3
    OLAP + OLTP
  • 2
    Combining stream and historical analytics
  • 1
    OLTP
  • 28
    High Performance
  • 25
    Easy to use
  • 22
    Fully managed service
  • 19
    Cheap Pricing
  • 16
    Process hundreds of GB in seconds
  • 12
    Big Data
  • 11
    Full table scans in seconds, no indexes needed
  • 8
    Always on, no per-hour costs
  • 6
    Good combination with fluentd
  • 4
    Machine learning
  • 1
    Easy to manage
  • 0
    Easy to learn

Sign up to add or upvote prosMake informed product decisions

Cons of Druid
Cons of Google BigQuery
  • 3
    Limited sql support
  • 2
    Joins are not supported well
  • 1
    Complexity
  • 1
    You can't unit test changes in BQ data

Sign up to add or upvote consMake informed product decisions

What is Druid?

Druid is a distributed, column-oriented, real-time analytics data store that is commonly used to power exploratory dashboards in multi-tenant environments. Druid excels as a data warehousing solution for fast aggregate queries on petabyte sized data sets. Druid supports a variety of flexible filters, exact calculations, approximate algorithms, and other useful calculations.

What is Google BigQuery?

Run super-fast, SQL-like queries against terabytes of data in seconds, using the processing power of Google's infrastructure. Load data with ease. Bulk load your data using Google Cloud Storage or stream it in. Easy access. Access BigQuery by using a browser tool, a command-line tool, or by making calls to the BigQuery REST API with client libraries such as Java, PHP or Python.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Druid?
What companies use Google BigQuery?
See which teams inside your own company are using Druid or Google BigQuery.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Druid?
What tools integrate with Google BigQuery?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Dec 22 2021 at 5:41AM

Pinterest

MySQLKafkaDruid+3
3
565
MySQLKafkaApache Spark+6
2
1999
Aug 28 2019 at 3:10AM

Segment

PythonJavaAmazon S3+16
7
2551
Jul 2 2019 at 9:34PM

Segment

Google AnalyticsAmazon S3New Relic+25
10
6735
GitHubPythonNode.js+47
54
72278
What are some alternatives to Druid and Google BigQuery?
HBase
Apache HBase is an open-source, distributed, versioned, column-oriented store modeled after Google' Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Apache Hadoop.
MongoDB
MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
Cassandra
Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
Prometheus
Prometheus is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true.
Elasticsearch
Elasticsearch is a distributed, RESTful search and analytics engine capable of storing data and searching it in near real time. Elasticsearch, Kibana, Beats and Logstash are the Elastic Stack (sometimes called the ELK Stack).
See all alternatives