Is learning Python/R an advantage for SQL Server Developers? Need an expert advice.

  • Jeff Moden - Thursday, January 25, 2018 7:48 AM

    jonathan.crawford - Thursday, January 25, 2018 6:56 AM

    Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.

    There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that.  What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

    My favorite example is when 2005 came out and the use of SQL CLR was all the rage.  To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused.  He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project.  What did the SQL CLR do that was so critical.  It calculated a MODULO.  You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

    That's what I'm talking about.

    hahaha, ok. was he paid hourly, by chance?

    -------------------------------------------------------------------------------------------------------------------------------------
    Please follow Best Practices For Posting On Forums to receive quicker and higher quality responses

  • Jeff Moden - Thursday, January 25, 2018 9:02 AM

    GilaMonster - Thursday, January 25, 2018 8:50 AM

    Jeff Moden - Thursday, January 25, 2018 7:48 AM

    jonathan.crawford - Thursday, January 25, 2018 6:56 AM

    Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.

    There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that.  What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

    My favorite example is when 2005 came out and the use of SQL CLR was all the rage.  To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused.  He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project.  What did the SQL CLR do that was so critical.  It calculated a MODULO.  You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

    That's what I'm talking about.

    But that doesn't require 'knowing T-SQL very well'. You're talking there about knowing the basics of the language.
    If you use R because you don't know the first thing about T-SQL, then you're not a T-SQL developer using R for something they don't know is in T-SQL, you're an R developer.

    And, if I may be blunt, using "developer" to refer to someone who develops predominantly/only in other languages is frankly insulting. Sure, the guy may well have had an attitude problem and should have asked if the C# was necessary before he wrote it, that doesn't mean he's not a developer.
    I work with a whole bunch of data professionals who don't know the first thing about T-SQL, or the base SQL language in general. That doesn't make them inferior.

    It was meant as a strong insult to that particular person because of his poor attitude.

    Agreed on the "very well" comment.  To be sure, I'm not talking about the "Black Arts" that a lot of us know how to do.  I'm talking about what most of us would consider to be "the basics", like how to do a 3 table join, when to use an inner join or an outer join, what many of the functions in the language do, a bit about how to write a SARGable query, and maybe even how to use APPLY

    Sorry guys.  I didn't meant to annoy anyone or hurting sentiments. I always love to work in T-SQL. Now, after a long discussion of SQL Guru(s),  I came to conclusion that T-SQL is what one should know if he wants himself to be known as SQL developer. And R/Phyton are also add on but yes T-SQL is the actual home. ☺ï¸.

    Regards
    VG

  • And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Regards
    VG

  • GroverVivek - Thursday, January 25, 2018 11:04 AM

    And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Strength of R is not in its graphics libraries, no matter how powerful they are. Its strength is in lightning fast behind the scenes matrix operations, including, but not limited to, neural networks. IMO the strongest point of R on SQL Server is its ability to work with tables as matrices, which makes it extremely efficient.

    I am still in awe that I can call R from T-SQL, then T-SQL or Python from R, go as deep as you wish, no practical limit.

  • Revenant - Thursday, January 25, 2018 1:44 PM

    GroverVivek - Thursday, January 25, 2018 11:04 AM

    And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Strength of R is not in its graphics libraries, no matter how powerful they are.

    Maybe not, but GGPlot in reports is pretty damn close. 🙂

    Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • GilaMonster - Thursday, January 25, 2018 2:12 PM

    Revenant - Thursday, January 25, 2018 1:44 PM

    GroverVivek - Thursday, January 25, 2018 11:04 AM

    And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Strength of R is not in its graphics libraries, no matter how powerful they are.

    Maybe not, but GGPlot in reports is pretty damn close. 🙂

    Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

    Gail

    I respect you highly and I hope we can agree that if Microsoft does not clean their act and do something really revolutionary, SSRS will be dead and GGPlot and other tools will take over. Over the last few years I have seen that my users no longer go for SSRS but download their data into Excel Pivot Tables. The typical scenario is that a biz analyst comes in the morning, starts a download, goes to get his/her cup of coffee, comes back, curses when s/he sees that the download has not finished yet (and blames me), waits a few more minutes and when the download finishes, works with the downloaded as-per-yesterday data for the rest of the day. Rinse and repeat.  😉

    Due to the file size limitations, Power BI is not that popular.

  • Revenant - Thursday, January 25, 2018 3:12 PM

    GilaMonster - Thursday, January 25, 2018 2:12 PM

    Revenant - Thursday, January 25, 2018 1:44 PM

    GroverVivek - Thursday, January 25, 2018 11:04 AM

    And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Strength of R is not in its graphics libraries, no matter how powerful they are.

    Maybe not, but GGPlot in reports is pretty damn close. 🙂

    Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

    Gail

    I respect you highly and I hope we can agree that if Microsoft does not clean their act and do something really revolutionary, SSRS will be dead and GGPlot and other tools will take over. Over the last few years I have seen that my users no longer go for SSRS but download their data into Excel Pivot Tables. The typical scenario is that a biz analyst comes in the morning, starts a download, goes to get his/her cup of coffee, comes back, curses when s/he sees that the download has not finished yet (and blames me), waits a few more minutes and when the download finishes, works with the downloaded as-per-yesterday data for the rest of the day. Rinse and repeat.  😉

    Due to the file size limitations, Power BI is not that popular.

    Most of the BI-type people at my company (and there's no insult intended in that) use Tableau, Qlikview/Qliksense and other such tools for reporting and for the users to play with the data in. I can't remember the last time we recommended SSRS for anything other than simple operational reports. We've got some clients using PowerBI, not many.
    I've switched most of my graphing from excel to R, just need to find the time to write some import/process/draw functions for the stuff that's still in Excel and they'll all be R (I do a lot of reports for clients, as in 20+ page Word docs with multiple graphs)

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • GilaMonster - Thursday, January 25, 2018 3:18 PM

    Revenant - Thursday, January 25, 2018 3:12 PM

    GilaMonster - Thursday, January 25, 2018 2:12 PM

    Revenant - Thursday, January 25, 2018 1:44 PM

    GroverVivek - Thursday, January 25, 2018 11:04 AM

    And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Strength of R is not in its graphics libraries, no matter how powerful they are.

    Maybe not, but GGPlot in reports is pretty damn close. 🙂

    Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

    Gail

    I respect you highly and I hope we can agree that if Microsoft does not clean their act and do something really revolutionary, SSRS will be dead and GGPlot and other tools will take over. Over the last few years I have seen that my users no longer go for SSRS but download their data into Excel Pivot Tables. The typical scenario is that a biz analyst comes in the morning, starts a download, goes to get his/her cup of coffee, comes back, curses when s/he sees that the download has not finished yet (and blames me), waits a few more minutes and when the download finishes, works with the downloaded as-per-yesterday data for the rest of the day. Rinse and repeat.  😉

    Due to the file size limitations, Power BI is not that popular.

    Most of the BI-type people at my company (and there's no insult intended in that) use Tableau, Qlikview/Qliksense and other such tools for reporting and for the users to play with the data in. I can't remember the last time we recommended SSRS for anything other than simple operational reports. We've got some clients using PowerBI, not many.
    I've switched most of my graphing from excel to R, just need to find the time to write some import/process/draw functions for the stuff that's still in Excel and they'll all be R (I do a lot of reports for clients, as in 20+ page Word docs with multiple graphs)

    Totally agree. Biz analysts are by their nature conservative but when they find what R can do for them on their desktop, we will have a tidal wave.

    My users: MSFT Finance and Entertainment.

  • jonathan.crawford - Thursday, January 25, 2018 9:20 AM

    Jeff Moden - Thursday, January 25, 2018 7:48 AM

    jonathan.crawford - Thursday, January 25, 2018 6:56 AM

    Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.

    There's no question that R brings some fantastic stuff to the table and that there's a lot of stuff that it can do that T-SQL can't do never mind being super easy to do in R and I'm not challenging that.  What I am challenging is the use of R, Powershell, SQL CLR, VBS, etc, etc, etc to do things that are actually quite easy to do in T-SQL that people just don't seem to take the time to learn because they think that SQL Server is just a place to store data.

    My favorite example is when 2005 came out and the use of SQL CLR was all the rage.  To make a much longer story shorter, a "developer" brought me an SQL CLR to deploy to production and I refused.  He stormed out of the room before I could complete the word "No" and explain and he took it to management and I was called out on the carpet because it was supposedly a showstopper holding up a project.  What did the SQL CLR do that was so critical.  It calculated a MODULO.  You know... the one that uses the "%" operator in T-SQL. <headdesk><major facepalm>

    That's what I'm talking about.

    hahaha, ok. was he paid hourly, by chance?

    Heh... no... thankfully, he was salaried.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • GilaMonster - Thursday, January 25, 2018 2:12 PM

    Revenant - Thursday, January 25, 2018 1:44 PM

    GroverVivek - Thursday, January 25, 2018 11:04 AM

    And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Strength of R is not in its graphics libraries, no matter how powerful they are.

    Maybe not, but GGPlot in reports is pretty damn close. 🙂

    Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

    Thanks Gail. I agree with you. And will definitely follow this statement. The reason I bring up this point is that I am going to join a new organization next month. And there, I will get a chance to learn C#. But I was also excited about R/Python also. I have educated some guys on T-SQL skills in last few months. And most of them didn't have any knowledge about SQL before they started their one to one classes with me. And they were also learning python/R in parallel to get job as Data Scientists. So, I was under impression that where the area of learning is expanding itself. Is it really easy to learn SQL for 2-3 months and get a job as Data Scientists with good compensation?  Should I also start learning these languages also? And there are around 3 questions that I see in Question of the day are related to R language.

    Regards
    VG

  • Revenant - Thursday, January 25, 2018 1:44 PM

    GroverVivek - Thursday, January 25, 2018 11:04 AM

    And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Strength of R is not in its graphics libraries, no matter how powerful they are. Its strength is in lightning fast behind the scenes matrix operations, including, but not limited to, neural networks. IMO the strongest point of R on SQL Server is its ability to work with tables as matrices, which makes it extremely efficient.

    I am still in awe that I can call R from T-SQL, then T-SQL or Python from R, go as deep as you wish, no practical limit.

    Thanks. Makes great sense.

    Regards
    VG

  • GroverVivek - Thursday, January 25, 2018 6:45 PM

    GilaMonster - Thursday, January 25, 2018 2:12 PM

    Revenant - Thursday, January 25, 2018 1:44 PM

    GroverVivek - Thursday, January 25, 2018 11:04 AM

    And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Strength of R is not in its graphics libraries, no matter how powerful they are.

    Maybe not, but GGPlot in reports is pretty damn close. 🙂

    Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

    Thanks Gail. I agree with you. And will definitely follow this statement. The reason I bring up this point is that I am going to join a new organization next month. And there, I will get a chance to learn C#. But I was also excited about R/Python also. I have educated some guys on T-SQL skills in last few months. And most of them didn't have any knowledge about SQL before they started their one to one classes with me. And they were also learning python/R in parallel to get job as Data Scientists. So, I was under impression that where the area of learning is expanding itself. Is it really easy to learn SQL for 2-3 months and get a job as Data Scientists with good compensation?  Should I also start learning these languages also? And there are around 3 questions that I see in Question of the day are related to R language.

    Vivek

    No one, and I think I know what I am talking about, no one gets a (decent) job as a data scientist after a 2-3 months training. You need a really good grasp of matrix algebra, just for starters. Then comes, IMO, an MSc level of knowledge of statistics. And then it comes to whether numbers really talk to you and you understand what they are saying.

    Yes, the job pays well but not everyone can make it.

  • Please let me get back to the question posed by the name of the topic: "Is learning Python/R an advantage for SQL Server Developers?"  Yes, it is, but be ready for lots of learning beyond Python itself.

  • Revenant - Thursday, January 25, 2018 3:12 PM

    GilaMonster - Thursday, January 25, 2018 2:12 PM

    Revenant - Thursday, January 25, 2018 1:44 PM

    GroverVivek - Thursday, January 25, 2018 11:04 AM

    And In SQL Developers I am considering guys who also work in SSRS on daily basis. But still should have had done some R&D to know what R can give what SSRS can't give.

    Strength of R is not in its graphics libraries, no matter how powerful they are.

    Maybe not, but GGPlot in reports is pretty damn close. 🙂

    Vivek: Being a T-SQL developer doesn't mean you only study SQL. You should have other tools in your toolbox, you should be at least familiar with R or Python, as well as Powershell or Bash (or other scripting/automation language) plus any other languages that are relevant for your areas of interest/work

    Gail

    I respect you highly and I hope we can agree that if Microsoft does not clean their act and do something really revolutionary, SSRS will be dead and GGPlot and other tools will take over. Over the last few years I have seen that my users no longer go for SSRS but download their data into Excel Pivot Tables. The typical scenario is that a biz analyst comes in the morning, starts a download, goes to get his/her cup of coffee, comes back, curses when s/he sees that the download has not finished yet (and blames me), waits a few more minutes and when the download finishes, works with the downloaded as-per-yesterday data for the rest of the day. Rinse and repeat.  😉

    Due to the file size limitations, Power BI is not that popular.

    Really comparing apples to oranges here. The time it takes to use any of these visualization tools with actual point-and-click GUI interfaces will always have their attraction to a user who does not want to code-in a visualization in R or Python. This is really where the rubber hits the road because you can spend a lot of time on a single graphic, especially in Python, that you could likely just get away with keeping it simple elsewhere.

    Don't take this as me saying one is better than the other, but there is a clear reason why a lot of these newer visualization tools are generating steam. They are extremely easy to query a dataset and drop it right into a graphic where you can easily switch between attributes and metrics. PowerBI is the latest example and the users are eating it up because of how simple it is. You start dropping GGPlot, Seaborn, Matplotlib in their laps, they will likely quit.

    Because I don't have to know T-SQL inside out and upside down in order to use R for something that SQL won't even do.

    Actually, most of the data scientist I've worked with struggle with SQL, databases, OLAP and much more. This is because there is such a small focus on databases, data stores and other advance data concepts that have nothing to do with statistics and probability. My whole role was developed around the huge technology gap that most data scientist have, especially when acquiring data from a data warehouse, automation of what they build and creating data platforms that can quantify more data than what they can do locally on their machines in R and Python (if you're data gets large enough).

    So, if you were to ask me if you needed to know it inside and out, the answer for the business is -- YES! Having one person as opposed to two people is always going to be the way to go for the business. Therefore, the more you can do as a data scientist that does not need a data engineer, SQL developer or whatever the better. And if you think that you simply don't need SQL skills because you can just do it in R, then where exactly is your data coming from? Think you're just going to walk into a table and SELECT * FROM X? What if the data is 100 GB? You going to aggregate it in R locally? You going to toss it in Redshift? So many variables come into play where it's just easier for you to solve that in SQL first and finish it up in R second.

    At the end of the day, most of the time spent with data scientist is acquiring, cleaning, and conforming data. If an underlying system like SQL Server can do this for you, then the data scientist can spend more time working with the data from a scientific standpoint rather than being an ETL developer, SQL developer and everything else in R or Python. This is why SQL Developers and everyone else on the opposite end should pick up R and Python because it's good to know in order to support them and automate it when it's something golden.

  • GroverVivek - Thursday, January 25, 2018 6:45 PM

    Is it really easy to learn SQL for 2-3 months and get a job as Data Scientists with good compensation? 

    I work with a bunch of data scientists who don't know T-SQL at all. It's not a core skill. Beneficial, yes. Core skills are more like Python or R (with a good couple years experience at the least) or other specific languages, a comprehensive grasp of statistics, knowledge of advanced maths (matrix mathematics, linear algebra) and some knowledge of the business domain to know what questions to ask

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass

Viewing 15 posts - 16 through 30 (of 35 total)

You must be logged in to reply to this topic. Login to reply