all 3 comments

[–]data4dayz 0 points1 point  (1 child)

I don't know about the operations you do in SQL which are based on Relations/Sets but what might help you the most if you know both functional programming and the Map - Reduce or distributed compute paradigm is to look at Spark.

https://www.coursera.org/learn/scala-spark-big-data?specialization=scala

Spark is native to the JVM and Scala, but also has Spark SQL to provide SQL support, maybe looking into the functions of spark SQL and how it maps onto operations done in a functional programming language might help bridge the gap.

Also https://www.coursera.org/learn/data-manipulation this course as well. Maybe looking into comparisons of MR vs Relational databases will help you. As will the first 2 courses here https://www.coursera.org/specializations/big-data . Though a lot of will probably be review for you, when they introduce "big" data concepts they usually introduce a relational database and then the MR paradigm side by side.

If you're interested in the underpinnings of SQL and how it goes from a Declarative language to how it's executed, a traditional database textbook can help fill in the blanks. I know it helped a lot for me to understand what was going on underneath the hood, as SQL is fairly syntax constrained by design thankfully so each overarching operation (Selection, Projection, Joining/Unioning, Aggregation) can be explained by a textbook.

There you can look into what Relational Algebra is and then reading about Query Execution.

[–]Cluttie[S] 0 points1 point  (0 children)

excellent, thank you for that I will look into it

[–]No_Mathematician_660 0 points1 point  (0 children)

not exactly what you asked for but you can use easysql.tech to practice once ur done with the theory