What’s the origin of the phrase “big data doesn’t fit in excel”?
shkspr.mobi
shkspr.mobi
Edit: I think it was https://www.chrisstucchio.com/blog/2013/hadoop_hatred.html, HN discussion https://news.ycombinator.com/item?id=6398650
But the idea wasn't that data was big as soon as it didn't fit in Excel anymore - Excel was a reductio ad absurdum. If it still fits in Excel, it's laughably far away from being "big". That was the idea.
Big data was about the problems you get when you need to join data together that you can't fit well in one database server, not even with the amounts of memory and disk space you can get these days. It was Google type problems, the stuff that map-reduce needed to be invented for. The kind of problem that most companies just don't have.
So the term mostly disappeared from job descriptions, "data science" became popular instead, and people keep using Excel because it is great.
(that blog post is from 2013 so it can't be the source of that quote from 2012. But please don't define big data in terms of Excel in a 2021 MSc thesis)
Around the time of peak NoSQL buzz, I went to Oracle Open world in the early-mid 2010's and there was an army of MongoDB folks outside the convention center grounds holding signs and handing out swag. NoSQL was definitely a good marketing play to try and take customers away from Oracle.
Company; Document store? Let’s store billions of PDFs in it!
My soul dies each day I deal with that system.
“Webscale” is just a buzzword, though.
I’ve seen companies spending half a million to build a report that excel and a pivot table could do in an a day.
Few weeks ago company was looking at scaling up to max possible EC2 nodes in order to get something to work. I spent a couple hours tweaking the algorithm and now it’s on a micro node running 20x faster.
Some data problems are truly hard and interesting and world changing.
Excel covers almost everything else.
Don’t get me wrong, Watson came up with a lot of BI suggestions that were useful and some of the scientists came up with semi-interesting prediction models. The thing is though, our analytics team has much better BI models and the our finance department does the prediction much more efficient and, well, legal. The prediction could become a useful aid, if it ever became legal, but not really at the license fees we were looking at.
Not sure if automated BI is ever going to become good enough. It’s impressive that Watson can come up with stuff an university post-bachelor intern can, but it’s license is more than our entire analytics team, so yeah...
A human domain expert knows what kind of thing to look for. Custom tools can help to get an overview (eg we visualize water velocities of a whole regional system on a map), but generic machine learning can't add much even though we record basically everything everywhere at five minute intervals.
The value of ML is perhaps in things that give little value in the individual case but can be used a huge number of times, like image classification.
In a way I think it helps that fraud is an ever-evolving, fiercely adversarial domain. New avenues are explored all the time. Occasionally old tricks are revived for a while, because they may work in the margins but become distinguishing features as soon as they see more use.
And even if your ML is based on nothing more than a random forest, you can still get surprisingly useful feature combinations out of it. (Or as our data scientists said: individually meaningless features may become a valuable signal when enough of them occur at the same time.)
Still, some call it medium data since this spans the range of higher gigabytes to lower terabytes. There are still couple of business problems in the petabyte scale, but they are probably so niche that they deserve a custom solution anyway.
https://support.microsoft.com/en-us/office/excel-specificati...
Everything from Excel 2007 and up supports 1,048,576 rows by 16,384 columns, if you use the XLSX format. The older XLS format tops out at 65536 rows and 256 columns.
You can, of course, "shard" worksheets ;)
That said. Excel has power query/pivot and connects to a large number of external databases, flat files, etc. and it’s best to just never import the entire dataset into excel. That’s my view as a tenured financial analyst working with excel professionally since version 2003.
User typically drags formatting and "default" values down to row 65535 in Excel 2003-based "data collection" spreadsheet. Does the same thing in a >2007 spreadsheet, except they drag it down to row 1,048,576. The file size doesn't take a dramatic "hit" (since XLSX files are really ZIP archives), but performance goes in the toilet.
Knowing enough to unzip XLSX and DOCX files any eyeball the XML directly can often identify fun corner cases. (There's probably a ton of fuzzing fruit to be picked in the Office products using "malformed" documents, too.)
If they stored the data in rows with some additonal column(s) to mark date and source, they would probably run out of rows in Excel... but here is a clear example of someone not knowing how to use the tool. So they could also make errors in a real database.
Also who knows if this wasnt done on purpose to show better numbers and later blame it on a "computer bug".
Given how the corporate world run on excel... someone has done it, somewhere.
Example: Too many rows? Okay let's just break it up into monthly sheets and then change this formula to look up the value based on the month. Maybe just use a drop-down for the sheet selection.
I think most people could arrive at this answer intuitively who have enough excel experience.
I guess the biggest upside is that it’s forced my team to go out and learn SQL, Python, etc. However that has it’s own downside because we are the only ones in our division that know these tools, so we get stuck maintaining stuff that we shouldn’t!
As wizened developers, we can assist our more business-like coworkers by developing views and reporting databases that help to present a more consistent and higher-order perspective of the world. Just having a document that lists out examples of SQL they can use is 99% of what most people need to get bootstrapped.
Getting your problem domains modeled in SQL and using the appropriate form of normalization is foundational for managing non-trivial levels of complexity in larger projects. For me, non-trivial complexity means any domain model with more than 10 related types or more than 100 total properties to deal with.
Relational modeling is one of the most powerful abstractions we have available for working with anything that goes beyond the 3 spatial dimensions that we can see with our eyeballs. I have dealt with queries in factory automation that join over 40 tables to produce some important projection.
You could make a bunch of assumptions about how the domain model should be shaped in some complex object graph monstrosity and then stick it into MongoDB, or you can leave it neatly organized and indexed such that any reasonable query can be made of the data to produce virtually any shape of output you need.
With all of that in mind, Excel is still one of the most powerful tools on your computer for documenting virtually anything. Any problem domain can be represented as tables of things and relations between them. Anyone can figure out the most important parts of this tool with just a few minutes of screwing around with it. It is trivial to take a model from someone's xlsx and turn it into proper SQL tables and then slap a front-end and business logic around it. When someone wants me to write a new piece of software for a new problem area, we always start with types, properties, and relationships between these things. Excel is a perfect fit for the first phase of any software project.
The thing is there’s like 5 companies in the world that run jobs that big. For everybody else… you’re doing all this I/O for fault tolerance that you didn’t really need. People got kinda Google mania in the 2000s: “we’ll do everything the way Google does because we also run the world’s largest internet data service” [tilts head sideways and waits for laughter].
[1] https://blog.bradfieldcs.com/you-are-not-google-84912cf44afbAnd with millions of rows of data pouring out of some other tool, usually you're trying to define a repeatable process to clean/munge/transform that data into something more useful to you/your team/your management.
Within Excel, there are ways of accomplishing the "define repeatable task" goal - but my personal experience working with VBA (and talking to VBA users across the spectrum) is that it's a horrible language that is absolutely no fun at all to write. Good luck using a nice library to do anything with it, really.
I'm a co-founder of Mito [1], where we're taking a bit of a different angle. Rather than bringing big data into Excel, we're bringing an Excel ethos to where you might work with your big data otherwise. Mito is a spreadsheet interface that lives inside of a Jupyter notebook; you can write spreadsheet formulas, merge datasets, explore summary stats, all from within this spreadsheet. While you edit the spreadsheet, it generates valid Python code for you.
Our current users mostly fit the bill of "previous Excel junkies who started teaching themself Python but still have a lot to learn, so use Mito to augment/speed up their workflow."
Questions / comments / hard-hitting HN feedback greatly appreciated!
Excel was well known to not be able to handle large datasets back in 2006 when I started in data analytics field. I'd guess Excels limitations go way back to when it was originally released.
Excel is very good btw. A marvel in many ways. It just becomes painful with big data around the 100-300k mark.
There are things you can do to try and manage big data in excel. But it becomes a chore and ultimately a big bloated monster.
And why bother with the pain when you can use Python (e.g pandas) or R or SAS.
Power excel / an SQL backend (with VBA) is also a common solution. Or was. I mostly work in Python/R these days.
> Big Data is any thing which is crash Excel.
There are early "big data" publications on datasets that decidedly shouldn't be treated as "big data" today because now it's entirely appropriate to process them with simple methods within the RAM on a decent server or in some cases even on my laptop.
They’ll just make an optional feature called PowerSomething that is integrated with the Excel UI but mostly a separate tool that interacts with the main Excel system without sharing its limits.
There are also various GUI addons that connect Excel to a database. For example SAP has one in their Business Warehouse (I think they try to change into something else).
Also the "new" Power Query removes a lot of limits.
I’ve been using excel with tens of millions of rows for years now.
If you were a recognized person in data science you'd probably been using tools with the 64k limit for at least a decade.
118 character file name limit 65,536 row limit till 2011 256 columns till 2011 2gb memory limits
Those are the structural limits with should be good for a lot of things but... there are the practical issues of it freezing and having issues while actually using it at any scale or any sort of complexity.
throw new IllegalArgumentException("Max entry size is bounded [0-4GB], but had " + maxEntrySize);
[1] https://svn.apache.org/viewvc/poi/tags/REL_5_0_0/src/ooxml/j...
Ohh..sorry, make that 10 min -- I had to save the file.
What value could that have?
That's then a good way to understand why they said it and what they actually meant.
So, for me, the value is understanding the provenance and assumptions of the quote.