Comparing BigQuery and SlicingDice

SlicingDice Team
SlicingDice.com Blog
8 min readApr 19, 2017

Below you can find a detailed comparison between SlicingDice and Google BigQuery, another well-known amazing analytics data warehouse solution.

In summary SlicingDice is a Serverless Data Warehouse and Analytics Database as a Service. Forget about servers and management, simply send your data using our easy-to-use API and make as much queries as you want.

Comparison Summary — April 2017

For better visualization, please download the PDF version.

Feature by Feature Comparison — April 2017

How can I test the service? Do I need to pay just to test?

— SlicingDice
You don’t even need to have an account on SlicingDice to test our services.
You can play forever with SlicingDice using the demo API keys on our /test endpoint.

This means that while you are figuring out the data modeling to use for your database, you can use the /test endpoint without paying a cent.

— Google BigQuery
Not entirely free. The first 1 TB of data processed on queries is free, but you do need to pay for storage.

How should I dimension my “cluster” or instances?

— SlicingDice
Forget about infrastructure provisioning. SlicingDice is a serverless solution, that means you don’t need to worry about infrastructure at all, it’s on us.
In order to use SlicingDice you simply need to send data to the /insertendpoint and later query it using the /query endpoint.

As we describe on the post about our history, we built this platform for you to slice and dice your data as easy as possible, so you can spend your time generating insights and value for you business, not managing infrastructure.

— Google BigQuery
Totally serverless, like SlicingDice.

How much do I pay for storage space? How much space do I need?

— SlicingDice
Send as much data as you want for each entity, this will not affect your cost.
Due our strong compression and innovative pricing model, you don’t have to worry about how much data you are going to store on SlicingDice.
(Are we crazy? No, we simply fell in love with data compression!)

— Google BigQuery
You have to pay for all the data you store, that can be really expensive if you produce a big volume of data. Also, on BigQuery you will have to pay for each query you make, that can also end up being very expensive and totally unpredictable.

How fast are the queries? What I need to do to improve performance?

— SlicingDice
We have a public commitment to get any query response within 10 seconds, no matter its complexity, or you get 10¢ discount each time on your account.

If your query is slow we believe it’s our responsibility, not yours.

— Google BigQuery
BigQuery is usually fast, but there is no guarantee or speed commitment. If you need more speed, you will have pay thousands of dollars per month for they reserved slots.

How often outages happen? How can I make it highly available?

— SlicingDice
As we describe in details on the SlicingDice Uncovered series of posts, we do everything possible in terms of infrastructure redundancy to NEVER lose any data or become unavailable.

We currently have 3 completely independent data centers from different providers in different countries that operate simultaneously in a high-availability configuration. That means that two data centers can fail and our service will continue to support data insertion and querying.

We invite you to check our Service Status Page and confirm our stability.

— Google BigQuery
Like SlicingDice, Google BigQuery also takes care of redundancy and availability for you.

Can it handle my data volume?

— SlicingDice
Our infrastructure is currently dimensioned (March 2017) to support as much as 90 BILLION new data insertion operations per day.

So, yes, you can send your data to SlicingDice directly from the source producing it or batch load later, at any time. All data sent to SlicingDice is available for querying within 5 seconds after the API request was received.

— Google BigQuery
You are limited to up 100,000 inserts per second. Remember that you are going to pay for storage space and if you want to stream your data directly to BigQuery, extra charges will apply.

Does it support complex tables and data types?

— SlicingDice
Although we dynamically identify the type of data you are sending to be stored on SlicingDice and automatically create the column you need, you can still model your data and create the column you need at any time.

We have support for many data types, and are always adding more.

— Google BigQuery
Yes, BigQuery can support all common data types, but be aware that it doesn’t support NUMERIC, just INT or FLOAT.

Does it support schema changes? Can I easily add a new column?

— SlicingDice
Yes, you can change schema at any time, like create a new column.

— Google BigQuery
It’s supported, but you will have to run special commands in order to make schema changes.

Does it support SQL queries?

— SlicingDice
Not yet. Making queries on SlicingDice only requires you to write a simple JSON, avoiding all verbosity and overhead SQL brings to your development.
Although we believe our queries are easier to understand than some SQL, we will have SQL support by Q2–2017.

— Google BigQuery
Yes, BigQuery supports most common SQL statements (but not all).

Can it JOIN multiple data types?

— SlicingDice
As we also describe on the post about our history, one of the main motivations for building S1Search (our own database engine) was our strong necessity for JOINing time-series and non-time-series data in a single query.

As you know, most databases are either optimized to hold either time-series or non-time-series data, and that these optimizations lose effect when mixing both types of data.

On SlicingDice you can easily make a query that JOIN two (or more) completely different data types, like time-series and non-time-series, something that is really “expensive” for databases in general.

— Google BigQuery
Yes, BigQuery supports JOINs, but you need to think about your schema and data modeling in order to make it perform well on top of big volume of data.

Can I create role-based access to my data (columns)?

— SlicingDice
It’s your data, so you must have the ability to define in a fine grained manner who can have access to it and for what purposes.

Using SlicingDice Control Panel you can create as many custom API keys as you want, which can be configured to allow inserting and querying over specific columns from a database. For instance, you can create a custom API key allowed to work with columns visited-pages, age and gender, but forbidden to query username and address.

— Google BigQuery
No, like in a normal database, the maximum you can do is create a role-base access to the databases. You can’t have a fine grained configuration.

Can I save my most common queries and also cache its results?

— SlicingDice
Wouldn’t it be cool if you could create a query just once and use it everywhere without typing it again and again? What if, in the case you had to update the query command, all locations using it would automagically see the most up to date version of your favorite query?

That’s exactly what you can achieve using the /query/saved endpoint.

Instead of re-writing the entire query whenever you need to analyze your data, simply save it and call it by name. You can also optionally define a cache period for that query, so SlicingDice brings results much faster.

Even better, saved queries can also be created, edited and deleted directly from SlicingDice’s control panel, where you can write queries and check its results in real time.

— Google BigQuery
No, although BigQuery has some cache support, but not the option to execute saved queries.

Is there any supplier lock-in? How can I move out from your solution?

— SlicingDice
You can leave us at any time. There is no upfront commitment to use SlicingDice and you can simply delete a database when you wish to.

If you also want to move all your data out of SlicingDice, you can use our /data_extraction endpoint to export it all, without any additional cost.

— Google BigQuery
You can also export your data from BigQuery at any time.

What about the monthly cost comparison?

As you can see in more details on this blog post, SlicingDice’s monthly cost is at least 50% lower than Google BigQuery. On a recent comparison using the well-known 1.1 Billion Taxi Rides dataset, SlicingDice’s monthly cost was only $ 170.00 while BigQuery was $ 1,062.60.

What are you not telling me?

We are not looking to be a one-stop-shop analytics database that supports all possible requirements. We simply want to be the simplest, fastest and cheapest solution for anyone that needs to store and query analytics-related (and time-series) data.

We don’t like nor try to hide what we really are. There are many things that we are really good at, but also things that we are not and you should be aware of all that before deciding to use SlicingDice. That also includes checking our current restrictions too.

Still not sure if SlicingDice is a good fit for you?

Click here and schedule a 15-minute talk with our developers, totally free of charge, so we can evaluate your case together.

Important notes:
1. We tried our best to understand our competitors features and make a fair comparison across all of them. We must say it isn’t a trivial task, so keep in mind we might have incurred into over-simplification errors. Let us know in case you disagree with the information we provide on this comparison.
2. As BigQuery is a SQL-like database, it has more features and capabilities than SlicingDice, such as SQL support.
3. All brands mentioned in this blog post belongs to their respective companies. SlicingDice Inc. has no partnership or association with any of these companies.

--

--

SlicingDice Team
SlicingDice.com Blog

Dev team of SlicingDice — Serverless Data Warehouse and Analytics Database-as-a-service