Microsoft Will Support Python In SQL Server 2017 (infoworld.com)
There was a surprise in the latest Community Technology Preview release of SQL Server 2017. An anonymous reader quotes InfoWorld:
Python can now be used within SQL Server to perform analytics, run machine learning models, or handle most any kind of data-powered work. This integration isn't limited to enterprise editions of SQL Server 2017, either -- it'll also be available in the free-to-use Express edition... Microsoft has also made it possible to embed Python code directly in SQL Server databases by including the code as a T-SQL stored procedure. This allows Python code to be deployed in production along with the data it'll be processing. These behaviors, and the RevoScalePy package, are essentially Python versions of features Microsoft built for SQL Server back when it integrated the R language into the database...
An existing Python installation isn't required. During the setup process, SQL Server 2017 can pull down and install its own edition of CPython 3.5, the stock Python interpreter available from the Python.org website. Users can install their own Python packages as well or use Cython to generate C code from Python modules for additional speed.
Except it's not yet available for Linux users, according to the article. "Microsoft has previously announced SQL Server would be available for Linux, but right now, only the Windows version of SQL Server 2017 supports Python."
An existing Python installation isn't required. During the setup process, SQL Server 2017 can pull down and install its own edition of CPython 3.5, the stock Python interpreter available from the Python.org website. Users can install their own Python packages as well or use Cython to generate C code from Python modules for additional speed.
Except it's not yet available for Linux users, according to the article. "Microsoft has previously announced SQL Server would be available for Linux, but right now, only the Windows version of SQL Server 2017 supports Python."
with all the battery and charger
Pick either one
PostgreSQL has had Python support for years. It also has R support.
But to be fair to SQL Server, it is a very good RDBMS. Both SQL Server and PostgreSQL make MySQL look really, really, really bad. Even SQLite is making MySQL look pathetic these days!
PostgreSQL can do (server-side) python. Also tcl, perl, lua, javascript (V8), shell, R. Perhaps I've forgotten some.
You've been able to use Python for a while in Postgres, MySQL, SQLite, and even DB2.
I can't quite figure out why anybody would want to use Microsoft SQL Server.
It's a trap!
They're using Python 3 and not Python 2. I switched my codebase to Python 3 and uninstalled Python 2 a few years ago from my Windows PCs.
In short, Stockholm Syndrome?
To everyone wondering why corporate IT might choose SQL Server over Postgresql, well aside from the main reason of enterprise level support from the vendor, another thing I noticed right away is that queries ported from PostgreSQL to SQL Server perform in some cases many times faster than they did on PostgreSQL and one of the main reasons of this is Postgresql's lack of parallelism at the query level -- sure it can run multiple queries in parallel, but it performs all operations in a given query on just one thread without some major hacking -- this can make a huge difference when you're doing CPU intensive data transformations involving billions of records..
one of the main reasons of this is Postgresql's lack of parallelism at the query level
Nonsense. Shilling is bad enough, but at least get your facts straight.
If python integration is anything like .NET or java language bindings:
1. You won't see any performance benefit vs. shared memory
2. You will get hit with all of the downsides of ignoring separation dogma for temporary expediency.
Outside of the tech world you are quite often working with managers/executives who have no technology background and whose day to day reality is that things cost money. Even the project you're building internally costs them money, your time, the teams time, the IT equipment, the facility costs, etc. When you come to them and say I want to use this product because it's free, generally their immediate reaction is the product has to be inferior because there's no way you can build something that is as good as a commercial product for free. And better than commercial, inconceivable. Generally, they can be won over with careful preparation and explanation but as a consultant I've been in some shops, public and private sector, where it's been handed down from on high "that thou shall not use open source" often followed by "thou shall not question this decision". (The public sector case always pisses me off because they have a duty to use tax payers dollars as effectively as possible. If private sector wants to piss away their profits that's their problem).
Thankfully I run into this less as new management is coming in that's more familiar with open source (Linux specifically) and the juggernauts built on them (Google, Facebook, etc). One of the most adamant "thou shalt not" clients I've been working with for about 10 years recently started experimenting with LAMP for smaller projects, I was jokingly told their lead architect he sold tell managment about this new stack called MEAN and he just glared at me. Anyway, the anti-FOSS bias is unfortunately very real and when I hit it I generally turn to MS SQL because it's very capable and it's cheaper than Oracle (that my conscious won't allow me to give Oracle sales staff entry into a client site).
Even if this was true, which I doubt as I've seen SQL Server choke on bad locking from poorly written apps, the cost savings from not buying sql server licenses means you get bigger servers or instance types (if aws) versus going with Microsoft. You can throw hardware at the problem.
MidnightBSD: The BSD for Everyone
Your new managers are not very experienced.
Free means that you're on your own. It will cost an arm and a leg every year because some jerk decided to make a major change that's incompatible with existing code. Let alone retraining, support, and all the ancillary costs that experienced managers understand
Just put your web service on the same box as the database.
Meh. Pymssql works pretty well. Am I missing something?
The heat from below can burn your eyes out
I mean Lua(JIT) or something I could understand but the brain damage slow-dog Python? lol, good luck with that!
Python is the systemd of programming languages. Well, except it was never meant to be fast and then couldn't perform. Instead it was just designed to be slow right out of the gate.
Derp. You can easily lock any sql db, has nothing to do with query threading. This whole thread of comments is stupid, slashdot is full of technically illiterate dinosaur mother fuckers.
Any design relying on stored procedures whatever their language is a very, very bad practice ! A very clear pattern for non-portability and non-scalability. So, ok Python stored procs are probably much better than any crappy language, but the pattern remains the same and should be avoided at max...
Problem I'm having with microsoft these days is that they do things that make you go 'yay that's really good' then you wonder for how long. Its just another carrot on a string to attract foolish developers over only to be forced one day later to have to adapt to some microsoft propriatery way of doing it to sap money out of you.