News for hackers. Stuff that matters.
Re:Announcing SQL Server on Linux by TheOsiris on Monday March 07, 2016 @03:57PM (#11241591)
ms sql is better than mysql. downvote me all you want, but you can't possibly disagree if you've tried both like I have. transaction isolation anyone?

don't have much experience with postgres, but my money is still on mssql

Re:Announcing SQL Server on Linux by masklinn on Monday March 07, 2016 @04:00PM (#11241620)
> ms sql is better than mysql.

That's one hell of a benchmark, up there with "eating paste is better than being on fire" and "missing a hand is better than missing a head".

> don't have much experience with postgres, but my money is still on mssql

Obviously, since postgres is FOSS.

Re:Announcing SQL Server on Linux by kelvin0 on Monday March 07, 2016 @04:06PM (#11241676)
If you ever become a comedian (unless you're already one) I will gladly shovel money at you to tell me jokes ... I was thinking the same thing, but could not express it as viscerally.
Re:Announcing SQL Server on Linux by jimktrains2 on Monday March 07, 2016 @04:06PM (#11241668)
PostgreSQL is pretty amazing. MySQL isn't even in the same league as PostgreSQL. I'm sure MSSQL is nice, but my money is on PostgreSQL being even nicer.

http://www.pg-versus-ms.com/

https://www.reddit.com/r/programming/comments/2mhpwp/postgre...

MySQL is hardly a relational database, it's not quite the benchmark you're looking for.

Re:Announcing SQL Server on Linux by cptskippy on Monday March 07, 2016 @04:22PM (#11241791)
I'm sure MSSQL is nice, but my money is on PostgreSQL being even nicer.

Having used both, I'd take that bet. MSSQL is in my opinion the best DB out there in terms of ease of use, documentation, integration, and tools. PostgreSQL is a distant second, and SQLite is probably a distant 3rd (though it's really not in the same category).

Re:Announcing SQL Server on Linux by jimktrains2 on Monday March 07, 2016 @04:42PM (#11241950)
> documentation

The pg documentation is quite through and informative.

> integration

Meaning? "Integration" in and of itself is meaningless because that depends on what we're integrating with. Rust integration? pg is much better. Some obscure windows-only business tool that most people have never heard of? well, it integrates with what they want it to (probably mssql). Some obscure BSD-only business tool that most people have never heard of? well, it integrates with what they want it to (probably pg or mysql).

> tools

Again, meaningless unless you discuss what the actual differences are. Being able to be used on BSD makes pg infinitely superior in terms of tooling for my cost function.

Re:Announcing SQL Server on Linux by jamespo on Tuesday March 08, 2016 @08:25AM (#11245021)
Tell me of these BSD-only business tools
Re:Announcing SQL Server on Linux by ktRolster on Monday March 07, 2016 @07:59PM (#11242899)
In my experience, people who like MSSQL are the kinds of people who prefer to use a GUI to access their database (or Entity Framework). Basically, the user experience is like this:

PostgreSQL: Just nice. Every once in a while, you learn about a feature that makes things easier.

MSSQL: Plain vanilla, slightly outdated. Works. Nothing fancy. Expensive.

MYSQL: Every once in a while you learn about a feature that makes things harder.

Re:Announcing SQL Server on Linux by cptskippy on Monday March 07, 2016 @10:27PM (#11243389)
It sounds like you haven't used MSSQL in quite a while. The 2012-2016 editions have progressed significantly. 2000-2008 were pretty vanilla but then most databases of that era were.

Pricing can be expensive if you need the standard, BI, or Enterprise editions but otherwise it's not. It's no where near the cost of Oracle though.

Re:Announcing SQL Server on Linux by ktRolster on Tuesday March 08, 2016 @01:20AM (#11243811)

  >It sounds like you haven't used MSSQL in quite a while.
You're wrong.

  >The 2012-2016 editions have progressed significantly
Instead of saying "it progressed significantly," why don't you list these features that are so great? Come on, sell this product that you like so much! Help us understand why you like it!
Re:Announcing SQL Server on Linux by sean_the_geek on Tuesday March 08, 2016 @07:32AM (#11244838)
some of them, off the top of my head.. columnstore index, in memory tables, R integration, Always ON, Stretch DB, Dynamic data masking, encryption at rest and transit (always encrypted), row level security, temporal tables, JSON support, query store and stats, live query stats,polybase, backup to cloud, TDE enhancements, replication enhancements, TSQL enhancements, FK relationship limit, managed backup, multiple tempdb files, trace flag improvements, db scoped configs, query optimizer improvements, HA-DR improvements, replication enhancements, Master data services, data quality services, SSIS catalogue, SSIS project model and execution, mobile reports in SSRS, datazen integration, HTML view in SSRS, tabular mode in SSAS, improvements to UDM model in SSAS, DAX language and improvements.. And I got tired of typing...
Re:Announcing SQL Server on Linux by ams6110 on Monday March 07, 2016 @09:53PM (#11243282)
MS SQL has the best GUI for administration of any database I've used, if that sort of thing is important to you. Hands down better than anything I've seen for a free database or even Oracle. In that sense you do get what you pay for. I'm not sure how they'd bring that to Linux other than maybe with Wine or other emulation layer.
Re:Announcing SQL Server on Linux by cptskippy on Monday March 07, 2016 @10:32PM (#11243404)
The past couple editions of Microsoft's management tools have just been front ends for powershell commands on the back end.
Re:Announcing SQL Server on Linux by dspillett on Tuesday March 08, 2016 @06:03AM (#11244621)
> SQLite is probably a distant 3rd (though it's really not in the same category).

Definitely not in the same category: the goals for SQLite are very different to those of MSSQL and Postgres.

It is impressive how well SQLite performs and scales so you sometimes see it do the job of a "larger" engine because a project accidentally grew and hasn't been re-factored in that respect yet, but if you are starting a new project I can't think of any cases where you would ask yourself if you should use it instead of MSSQL/Postgres. For an integrated storage engine for your app with SQL semantics, ACID, and so forth: SQLite wins hands down. For a fuller database and anything that needs any significant concurrency SQLite is not what you want and isn't trying to be that.

Re:Announcing SQL Server on Linux by cptskippy on Tuesday March 08, 2016 @09:42AM (#11245472)
You're absolutely right, though given the choice between developing a large scale app with SQLite or MySQL I'm afraid I'd go with SQLite. At least I'd know what hell I've wandered into.
Re:Announcing SQL Server on Linux by dspillett on Tuesday March 08, 2016 @10:38AM (#11245839)
We are in danger of encouraging a small war here, but I would partly agree with you in that I would not by choice use mySQL for anything. IMO there is nothing for which one of SQLite or Postgres (or SQL Server or other decent RDBMS) are not more suitable for. mySQL and its descendants/variants are popular today mainly because of a mix of two things: many people not knowing better and its popularity having significant momentum.

I still wouldn't use SQLite for a large scale app (assuming that means one that needs concurrent data access for multiple users) though: it is not the right tool for that sort of job.

Re:Announcing SQL Server on Linux by mozumder on Monday March 07, 2016 @04:53PM (#11242041)
Does MS-SQL have anything like PostGres' Bidirectional replication?

Also, Postgres is missing multiple result sets, which Sql Server seems to have, right?

Re:Announcing SQL Server on Linux by tracker1 on Tuesday March 08, 2016 @01:44AM (#11243868)
I'm not as familiar with later versions of MS-SQL, but it's replication story is well in the box... Postgres is a bolted on, hard to setup/maintain hodge podge... I really hope the out of the box, via a gui admin and all story for replication on postgres gets to where MS-SQL was in the box in 2005.

NOTE: this is not a bash or nag on postgres, I really like it's JSON integration, and plv8 is awesome. That said, even simple replication stories in pgsql have me pulling my hair out, mainly because I don't WANT to know every intricate detail about my dbms, I just want to build applications on top of it, and ms-sql is pretty nice in that regard.

Re:Announcing SQL Server on Linux by cptskippy on Tuesday March 08, 2016 @09:56AM (#11245552)
Admittedly I've never used the replication in Postgres but that surprises me. I don't think I had the opportunity to use replication in MSSQL 2005 but it was pretty awful 2003 and pretty terrific in 2008 so I guess it was fixed somewhere in between.
Re:Announcing SQL Server on Linux by dsp1234 on Monday March 07, 2016 @05:07PM (#11242125)
Re:Announcing SQL Server on Linux by kbenson on Monday March 07, 2016 @05:31PM (#11242283)
One thing to be said about Microsoft and their products is that they probably support what you want to do. It may cost you an arm and a leg, but it's probably supported (as with most high-end enterprise products, I find). It's easy to see how this came about, too. "We have a multi-million dollar sale on our hand, but they really want feature X. Guess we can subsidize the development with that sale."
Re:Announcing SQL Server on Linux by cptskippy on Tuesday March 08, 2016 @11:10AM (#11246108)
I feel like cost has only really become an issue recently with their drive to get everyone in the cloud or on Azure and even then it's only an issue for small businesses. They offer ridiculous discounts to nonprofits and in education settings it's basically free.
Re:Announcing SQL Server on Linux by mioelnir on Monday March 07, 2016 @07:21PM (#11242768)
Sadly, even the basic synchronous mirroring with automatic failover that MSSQL offers is ahead of anything pgsql can offer at the current time.
Re:Announcing SQL Server on Linux by sqldba on Monday March 07, 2016 @08:16PM (#11242967)
SS is more advanced than PG out of the box. Built in scalability and HA; far more reliable point in time backup/restore; PG even only had a plan cache added recently (the past year or so?)

Then you have full text search, built in columnstore, in memory tables, native procedures.

That's not counting all the non engine stuff. There is no adequate free software equivalent to reporting services or analysis services.

Sorry PG isn't even close. PG is no doubt extremely important and the best of the free software pack. And you will pay your life to MS for adequate licensing. But there really is no comparison.

MySQL on the other hand is a flat out joke.

Re:Announcing SQL Server on Linux by adwf on Monday March 07, 2016 @08:51PM (#11243093)
> Then you have full text search, built in columnstore, in memory tables, native procedures.

Err, Postgres has full text search, columnstores and native procedures. Memory tables is slightly different, but doable.

It's an open source project with extensions, you can't just classify it by the core.

Re:Announcing SQL Server on Linux by philliphaydon on Tuesday March 08, 2016 @04:02AM (#11244210)
Lets not forget proper JSONB support. Oh god it's the most amazing thing to ever happen to a relational database.
Re:Announcing SQL Server on Linux by olavgg on Tuesday March 08, 2016 @04:01AM (#11244207)
> far more reliable point in time backup/restore;

Hmmm. I use ZFS snapshots for backup of my PostgreSQL instances. It's faster, as reliable as it can be, and I can run a full backup every fifth minute and keep the snapshot history on a database that weights 2TB.

Re:Announcing SQL Server on Linux by Jweb_Guru on Saturday March 12, 2016 @11:32AM (#11273393)
> PG even only had a plan cache added recently (the past year or so?)

What? You have no idea what you're talking about.

> you have full text search, built in columnstore, in memory tables, native procedures.

Postgres has all of these (column stores only available as extensions).

I don't think you're very familiar with Postgres.

Re:Announcing SQL Server on Linux by jpgvm on Monday March 07, 2016 @04:10PM (#11241711)
This precisely. MySQL has made headway in recent years but is still miles behind PostgreSQL. No commercial database is in the same league when it comes down to it either. Oracle has some nice stuff that PG doesn't have yet but PG is still the nicer database overall.
Re:Announcing SQL Server on Linux by cptskippy on Monday March 07, 2016 @04:23PM (#11241805)
What metric are you using to compare databases? It sounds like you're saying MySQL, while crap, is better than commercial databases.
Re:Announcing SQL Server on Linux by wtetzner on Monday March 07, 2016 @04:46PM (#11241981)
I read it as saying Postgres is better than commercial databases.
Re:Announcing SQL Server on Linux by jpgvm on Monday March 07, 2016 @05:00PM (#11242088)
Other gentleman is correct. The tier list is pretty simple.

MySQL < MSSQL < Oracle < PostgreSQL.

Basically PostgreSQL is king of relational databases right now.

Re:Announcing SQL Server on Linux by lololomg on Monday March 07, 2016 @11:38PM (#11243566)
MSSQL < Oracle?

No way. Maybe Postgre is nicer than MSSQL for you. I don't know. But Oracle? Oracle is worse than MSSQL in just about every way that matters.

Re:Announcing SQL Server on Linux by ismail on Monday March 07, 2016 @05:37PM (#11242328)
Why?
Re:Announcing SQL Server on Linux by ktRolster on Monday March 07, 2016 @08:05PM (#11242924)
Free + Fast + no weird syntax (like Oracle) + Most features (although I think Oracle replication might still be better)
Re:Announcing SQL Server on Linux by jsmeaton on Monday March 07, 2016 @10:04PM (#11243318)
Oracle replication usually requires Golden Gate to the best of my knowledge. Someone was telling me the other day they hacked their own system together with shell scripts (ship and restore log files using scp etc), but that's probably not something you'd want to build your business on.

So yes, Oracle replication is probably better if you use Golden Gate. But Golden Gate is pretty expensive (17k per CPU?).

Re:Announcing SQL Server on Linux by cptskippy on Monday March 07, 2016 @10:18PM (#11243358)
I'm still unclear under what criteria Oracle comes out on top of MSSQL. Aside from the extreme high end, I can't think of a circumstance where I'd prefer using Oracle to MSSQL.
Re:Announcing SQL Server on Linux by brobinson on Monday March 07, 2016 @04:20PM (#11241777)
For MySQL vs PostgreSQL, I link people to this one: http://grimoire.ca/mysql/choose-something-else
Re:Announcing SQL Server on Linux by brazzledazzle on Monday March 07, 2016 @05:12PM (#11242158)
Microsoft's HA and replication user experience is light years ahead of PostgreSQL's from an operations perspective last time I checked.
Re:Announcing SQL Server on Linux by Grazester on Monday March 07, 2016 @07:51PM (#11242873)
What a ridiculous statement to make!
Re:Announcing SQL Server on Linux by TheLogothete on Monday March 07, 2016 @04:18PM (#11241762)
That first link has been discussed many times on HN and the consensus always is that the author is extremely ignorant.
Re:Announcing SQL Server on Linux by qjighap on Monday March 07, 2016 @07:49PM (#11242870)
He acknowledges his crassness at the bottom. Unfortunately, sometimes ignorant people have a point. Native regular expression support is a big deal, if it balances towards a better platform is another question.
Re:Announcing SQL Server on Linux by jnevill on Monday March 07, 2016 @04:00PM (#11241616)
I will agree with you on that one, but one is free and the other isn't. Postgres, however, is free and blows MySQL out of the water. Each has their pros and cons though.
Re:Announcing SQL Server on Linux by NicoJuicy on Monday March 07, 2016 @07:21PM (#11242769)
SQL Express is free, but limited :)
Re:Announcing SQL Server on Linux by rosser on Monday March 07, 2016 @04:07PM (#11241678)
> ms sql is better than mysql.

Well, gosh. I'm convinced.

(Full disclosure: I abhor MySQL. But if you're paying attention, you'll notice that my position is a statement of opinion, while yours is a statement of "fact". The reality is, every RDBMS has strengths and weaknesses, and should be evaluated for their applicability to a given project on a case-by-case basis — at which point, I'm sure, you'll conclude that PostgreSQL is the best choice, anyway.) ;)

Re:Announcing SQL Server on Linux by TheOsiris on Tuesday March 08, 2016 @01:33AM (#11243843)
The thing is I wasn't trying to convince anyone though :) I doubt anyone here will be willing to shell out the money for a license. Although, Azure might make it affordable but I hated the limitations they put on the mssql instances (can't remember them rn).

My biggest problem with myssql is that it is very immature. Biggest problems I have with it are (right now, b/c that's what I'm facing atm): transaction isolation and stored procedures. I'm pretty sure pg has the same lame transaction isolation issues as well.

Re:Announcing SQL Server on Linux by rosser on Tuesday March 08, 2016 @01:17PM (#11247218)
Whatever transaction isolation issues PostgreSQL might have, I guarantee you it doesn't have the "same lame" ones as MySQL.

As just one example: "range locking". Look it up.

Re:Announcing SQL Server on Linux by TheOsiris on Wednesday March 09, 2016 @12:29PM (#11254273)
the biggest one for me is the lack of support for nested transactions
Re:Announcing SQL Server on Linux by rosser on Wednesday March 09, 2016 @01:30PM (#11254715)
Which you can effectively accomplish in PostgreSQL with SAVEPOINTs. In fact, with those, you can have arbitrarily complicated nesting of "transactions", though that does start to smell a bit like a foot-gun pretty quickly.

http://www.postgresql.org/docs/current/static/sql-savepoint....

Re:Announcing SQL Server on Linux by vertex-four on Tuesday March 08, 2016 @07:19AM (#11244804)
What do you mean Postgres has tx isolation issues? The entire point of preferring it over mySQL is that it does most things around that area properly.
Re:Announcing SQL Server on Linux by TheOsiris on Wednesday March 09, 2016 @12:29PM (#11254266)
not from my experience. last I checked, neither one of them supports nested transactions
Re:Announcing SQL Server on Linux by tehbeard on Monday March 07, 2016 @04:03PM (#11241643)
Care to serve something more substantial than just a summary of your opinion in a flaming manner?

* A list of advantages vs mysql? (Bonus if you can admit faults of MSSQL as well) * Some blogs or articles perchance? * Performance metrics or % of SQL standard it implements vs the accused?

I'm genuinely curious if it is good but one half-screamed pledge is hardly trustworthy.

Re:Announcing SQL Server on Linux by LesZedCB on Monday March 07, 2016 @04:00PM (#11241610)
I mean, i think most people might agree. it's the pricing that's pretty different though. :)
Re:Announcing SQL Server on Linux by TheOsiris on Tuesday March 08, 2016 @01:30AM (#11243835)
sure, and I've never used mssql for any project of mine b/c it is so expensive. I've only used it when someone else (a client) pays for it. That still doesn't make it functionally worse though.

I find mysql to be very immature: transaction isolation is a joke, stored procedures are a joke... etc.

Re:Announcing SQL Server on Linux by ktRolster on Monday March 07, 2016 @07:46PM (#11242862)
I agree it is better than MySQL, but you pay for it. Using MS SQL has heavy licensing fees.

PostGreSQL kicks both of them into the trash.

Re:Announcing SQL Server on Linux by tracker1 on Tuesday March 08, 2016 @01:50AM (#11243881)
Okay... now setup a cluster of three pgsql servers with automatic failover... your options are to become very intimate with your dbms, and now pick from half a dozen poorly implemented solutions, or pay licensing costs to EnterpriseDB close to the same costs of MS-SQL, where you get to click a few buttons and your db is clustered.

It is a very big deal... and an area Posgres is sorely lacking, but progress is made, and in another 2 releases may catch up to MS-SQL 2005.

I love what pg offers for dev, but it really isn't enough from the operations side. That said, I'd be more inclined to reach for RethinkDB for most situations these days, if it were up to me.

Re:Announcing SQL Server on Linux by rpgmaker on Monday March 07, 2016 @10:32PM (#11243406)
I have used both and I agree. Obviously, you still wouldn't want to use MSSQL for personal projects but technically it is years ahead of MySQL that's for sure. My main OS is Linux, fwiw.
Re:Announcing SQL Server on Linux by tracker1 on Tuesday March 08, 2016 @01:54AM (#11243888)
If I were hosting something on azure (have a smallest windows vm running for some old personal stuff), I would consider it... SQL Express is pretty functional, and the Azure SQL option is nice enough...

I've been leaning towards nosql options for a while though... imho RethinkDB is one of the nicer options out there for most use cases... ElasticSearch and Cassandra are also great options depending on your needs.

Re:Announcing SQL Server on Linux by meritt on Monday March 07, 2016 @04:04PM (#11241650)
innodb has four levels of ACID-compliant transaction isolation. what's your complaint?
Re:Announcing SQL Server on Linux by icebraining on Monday March 07, 2016 @06:54PM (#11242658)
Are ALTER TABLEs transactional yet?
Re:Announcing SQL Server on Linux by KingMob on Monday March 07, 2016 @07:44PM (#11242854)
Just checked, and the answer is "nope." Have fun debugging your migrations!
Re:Announcing SQL Server on Linux by goldbrick on Monday March 07, 2016 @09:25PM (#11243192)
Unfortunately, no DDL statements can be transactionalized on MySQL, and that is unlikely to change in the foreseeable future.
Re:Announcing SQL Server on Linux by matwood on Monday March 07, 2016 @11:21PM (#11243520)
MySql is a joke and always has been. I blame a huge majority of the RDBMS hate on the fact that many peoples only experience with a RDBMS was MySql. The issues are numerous, but two of my personal favorites are silent data truncation and allowing 'indeterminate' results with non-aggregate or non-functionally dependent columns in the select[1]. 5.7.5 finally changes the default behavior of the former.

This site lists many of the issues: http://grimoire.ca/mysql/choose-something-else

[1] http://dev.mysql.com/doc/refman/5.7/en/group-by-handling.htm...

Re:Announcing SQL Server on Linux by codedokode on Tuesday March 08, 2016 @03:02AM (#11244045)
There would be no data truncation if you enable strict mode (sql_mode = 'STRICT_ALL_TABLES'). Indeterminate results appear only if the column values in a group are different. SQL standart doesn't allow such selects at all (even if the values in the group are the same) so you have to write longer queries.

MySQL is not that bad, it was used in facebook and wikipedia.

Re:Announcing SQL Server on Linux by matwood on Tuesday March 08, 2016 @09:41AM (#11245467)
Strict should be the default for something that stores your data. The SQL standard does not allow selects like that for a a reason. Indeterminate results are almost always bad for something that stores data. MySql is that bad [1] and was only used by people who knew nothing about databases to question all of the dumb things MySql did. I'm so happy postgresql is finally getting popular.

FB also uses php, so appealing to it being used is no argument.

[1] http://grimoire.ca/mysql/choose-something-else

Re:Announcing SQL Server on Linux by morgo on Friday March 11, 2016 @08:53PM (#11270903)
As I commented in the parent: it is the default. It was enabled for new installs in MySQL 5.6, and all installs from MySQL 5.7.
Re:Announcing SQL Server on Linux by morgo on Friday March 11, 2016 @08:52PM (#11270900)
Both of these behaviors you describe are no longer the default in MySQL 5.7 (strict_trans_tables + only_full_group_by).