logoalt Hacker News

Guide to data tools landscape for developers

76 pointsby OlegWocktoday at 2:59 PM23 commentsview on HN

Comments

aleda145today at 7:00 PM

As a data engineering person I can say that this is a great write up!

Some thoughts:

A "bubbling" topic right now is conversational analytics (i.e. talk to your data). There has been an explosion of tools in the last 6 months. YC is backing one too: https://getnao.io/

I feel like pandas is also somewhat frowned upon, the industry has moved on from that. Most SQL tools can now do everything that we could only do with pandas.

In my network everyone is talking about DuckDB. As long as you are under a 1TB it will have everything you need. I think most people should start with that vs locking themselves into something like Snowflake

show 2 replies
jbonatakistoday at 4:42 PM

> A data warehouse on the other hand is an OLAP database and is optimized to work on columns

A bit of a pedantic nit here: a data warehouse is a usage pattern. It’s not necessarily tied to any specific technology, however it is commonly implemented with OLAP systems like Snowflake, BigQuery, etc. But there’s nothing stopping you from building out your data warehouse in Postgres or MySQL. If you’re stitching together disparate datasets to build a unified model for analytics, you’ve got yourself a data warehouse no matter what system it lives on.

show 1 reply
ozherotoday at 7:22 PM

This is an excellent well written article with just the information you need to get a basic understanding of the field.

show 1 reply
jrhizortoday at 7:33 PM

Really a great layout of the space! I like how it doesn’t try to enumerate all options.

datadrivenangeltoday at 7:01 PM

"Popular metadata catalog solutions are Hive Metastore, AWS Glue Data Catalog, and Unity Catalog from Databricks.

For query engine you can use, for example, Apache Spark, Trino, or Amazon Athena."

DuckDB is eating the query engines and catalogs. Really could use more coverage on how DuckDB is changing the data tools landscape.

show 1 reply
flarcotoday at 6:45 PM

Nice guide. One addition in the ingestion section: sling (https://slingdata.io/). it's a single go binary, cli-first.

MNeverOfftoday at 4:46 PM

It's a good all-round primer, well written. Would love to hear more about larger-than-memory tasks and running local Dask clusters. I processed many-a-dataset that way that would normally make pandas choke.

botswana99today at 5:24 PM

Well, I find this post looks good, but a like lot of 'data for developers' posts it's just a list of tools. As if a collection of tools banded together actually makes your customer successful. What's missing? 1. There's nothing about deployment. How do I take this collection of tools and code and actually deploy it into production, or actually regression test it functionally? How do I make a small change in a database table and not have a massive regression? How do you do that automatically? How do you do it quickly? 2. It's cursory on testing. One of the biggest differences from a software developer to a data engineer is that your data providers give you crap data all the time. It could break. How do you test data? How do you get adequate test coverage? These things are essential for software developers and are actually doubly essential for data engineers and building analytics systems. 3. It's what success looks like. It's not just about a collection of tech; it's about making your customers successful. What does it mean to deliver good insight? How do you do it? How do you measure customer success, and measure your success? As a team, you wouldn't talk about software engineering without mentioning DevOps or DORA metrics. There's nothing here about that.

sigh

chrisweeklytoday at 5:11 PM

Great post! Also, I dig your site -- it's attractive and highly usable, and the "personal" toggle in the footer is a clever affordance I haven't seen before for separating professional content.

kingjimmytoday at 5:34 PM

excluding Denodo from the list sows this is more of a non-enterprise guide to data management and tools. There is only one real semantic layer that can cover operational and historical data and thats Denodo. If you use snowflake horizon or unity, all the data needs to be loaded first and not real time.

show 1 reply
svfattoday at 5:20 PM

Good to finally know the difference between a lake and a warehouse

doobiedownertoday at 6:48 PM

What about PI?

michaepftoday at 4:52 PM

This was great, thanks for writing it up. Even as someone in the data space for a long time, I learned quite a bit.

jpitztoday at 4:40 PM

Apache Avro has 2 encodings: binary AND json.

show 1 reply
Firfitoday at 3:31 PM

Now I'll be thinking of "L" in ETL as "Land" and not "Load". Although the article doesn't propose that but uses a lot of "Land" terminology. "Load" => "load where? or FROM where?" - ambiguous "Land" => "land where?" - clear

show 1 reply
madsaylortoday at 3:38 PM

Data is the new oil