News for hackers. Stuff that matters.
Re:Top Reasons I like Postgres Over SQL Server by DataChomp on Monday April 08, 2013 @01:35PM (#5513144)
Keep in mind I've been a SQL Server DBA for the past 10 years, and while it does come with builtin tools like SSIS/SSRS and stuff, it isn't all sunshine and lollipops. For example, how well does SSRS works for people that don't use Internet Explorer? Or any type of reasonable debugging in SSIS. Yes, there are tools that come with it, but many of them feel like crap thrown together by an MS intern. and yes, some are really nice and refined as well.

That being said, this post was intended for the web app crowd.

Re:Top Reasons I like Postgres Over SQL Server by endersshadow on Monday April 08, 2013 @01:49PM (#5513255)
My point was that the context of this article is important. SQL Server has its place, and it does what its meant to fairly well. I really just despise these giant sweeping statements without context, so I wanted to add context. I also imagine that many HN readers are probably not very well versed on SQL Server. After all, it's not free (well, BizSpark makes it free for a while), and it's rarely used outside of the enterprise (for good reason).

To answer your questions, SSRS pre-2012 didn't work for non-IE users. In 2012, it works like a charm, though. As for debugging in SSIS, if you're talking about script tasks, again, they fixed it in 2012. Debugging data flows is pretty easy, too--I've never really had a trouble except for the script tasks.

As with any Microsoft product, there are a plethora of quirks that you just have to know about (or a quick googling will tell you), but I've never felt my dev time was stunted because I was using SSIS instead of Informatica or Talend or something else. These things all have their quirks, so none really bother me over the next.

Anyway, I'm not here to fly the banner of SQL Server. Microsoft, sadly, doesn't pay me royalties. I use it, it's a decent tool that does what I need it to do, but I do work on too many different platforms to really care about one or the other. My point was to give context and other info about what SQL Server is.

It's a good list for web apps, though. Certainly things you want to think about when building a web application. Especially pessimistic concurrency. I think a lot of web devs have no clue what concurrency models are. I cannot tell you the amount of `with (nolock)` arguments I've seen over the years.

Re:Top Reasons I like Postgres Over SQL Server by dev360 on Monday April 08, 2013 @02:32PM (#5513563)
with (nolock) is amazing. I worked at a very large fortune 500 company where that was the company policy because if you removed nolock, the thread contention would grind the servers to a halt. This also lead to some really interesting bugs, like a 5 million dollar order not flowing through a system because the row wasn't in the result set.
Re:Top Reasons I like Postgres Over SQL Server by hp50g on Monday April 08, 2013 @02:35PM (#5513585)
We had to throw nolock into a few things but to be honest, they should have been solved by better architecture and stopping the DB engine doing everything including app logic.
Re:Top Reasons I like Postgres Over SQL Server by ucee054 on Monday April 08, 2013 @04:55PM (#5514539)
Out of interest, how would you do OLAP on Postgres? (MSSQL comes bundled with an OLAP server...)
Re:Top Reasons I like Postgres Over SQL Server by sendob on Monday April 08, 2013 @06:53PM (#5515245)
http://mondrian.pentaho.com/ Is one I have used in the past
Re:Top Reasons I like Postgres Over SQL Server by ucee054 on Monday April 08, 2013 @08:21PM (#5515653)
I thought Mondrian doesn't do OLAP cubes, it fakes them by just converting the OLAP queries into SQL queries and hitting the database with SQL directly?

Am I mistaken?

Re:Top Reasons I like Postgres Over SQL Server by pdpi on Tuesday April 09, 2013 @07:12AM (#5517338)
That's correct. You just have an abstraction layer that represents the cube as a specific star schema on a vanilla SQL database.

Other than the way you load data in, what's the difference, though? It's just an implementation detail.

Re:Top Reasons I like Postgres Over SQL Server by ucee054 on Tuesday April 09, 2013 @07:50AM (#5517479)
Speed.

You can periodically build a read-only cube that has pre-computed answers to any number that any pivot-table could read from that star schema.

Then, when the multinational supermarket CEO queries for his company's total profit by product line over the past five years, he gets an instant answer.

The other way, the CEO must wait for weeks to get that answer from the RDBMS - or the cube must be replicated the cube inside the RDBMS somehow using tons of materialized views.

Re:Top Reasons I like Postgres Over SQL Server by endersshadow on Tuesday April 09, 2013 @09:44AM (#5517973)
For my money, there's no better multidimensional database I've used for operational analytics than SSAS. JasperSoft, Pentaho, Essbase, Cognos, etc all just don't cut it. Essbase if you're doing GL (SSAS doesn't aggregate Parent-Child very well), but SSAS is an incredibly powerful tool. You can use Postgres with it, so you don't need SQL Server RDBMS to go with it, and you can just pay the license for your SSAS server (which needs more memory than CPU, anyway).
Re:Top Reasons I like Postgres Over SQL Server by ucee054 on Tuesday April 09, 2013 @12:19PM (#5519141)
But if you've already got SQL Server for the SSAS, would you go through the bother of installing Postgres?

I think that's Microsoft's advantage in the database market: their system has all the tools out-of-the-box.

And the licensing's really not that expensive - especially compared to the heart-attack inducing prices coming out of Oracle, IBM, SAS, Teradata, Kx etc etc etc

Re:Top Reasons I like Postgres Over SQL Server by avenger123 on Monday April 08, 2013 @01:53PM (#5513293)
I have just started to get into Postgres. I have been using SQL Server across its various versions.

SQL Server really is a great database but is it worth the Microsoft tax? I've come to realize that its just not. For my own projects, I am starting to go with Postgres. I still have doubts on the performance side but based on my understanding these have largely been addressed in the latest releases.

I think using Postgres on a linux box and ASP.NET MVC as the web platform is a good compromise. Are you doing this, or have you entirely moved to Ruby on Rails (or something else)? I would love to get your thoughts on this.

I think your statement around Microsoft's reporting and BI offerings is harsh but isn't entirely off the mark. The tools are good for the simple cases but for real BI, Microsoft can't stand up to Oracle's (and others) offerings. I am sure there are companies that base their entire BI on the Microsoft stack but based on my experience, its just not common. A lot of the systems that hook into the BI stack tend to be legacy or non-Windows data sources, so in a lot of companies, purely using Microsoft isn't viable.

It's also a dangerous thing to do as Microsoft tends to use SharePoint as a glue and I would be extremely hesitant to bring SharePoint in an environment (unless its for its out-of-the-box functionality).

Re:Top Reasons I like Postgres Over SQL Server by endersshadow on Monday April 08, 2013 @02:10PM (#5513431)
I think you're a tad off the mark as far as Microsoft BI goes. I've seen some very large firms use it as their entire BI stack. And I've had a lot of work in it.

Then again, you really only want to do this if you already have SharePoint, since that's the web presence (it's a module in SharePoint called PerformancePoint). But SharePoint has sold a metric shitton of licenses (I don't know why). You're right to be hesitant to bring SharePoint in, but for those who have, it works all right. Even for "real BI" (whatever that means).

The backend stuff works well, and there are a lot of tools that can pick it up--my personal favorite being Tableau. Also, PowerView in Excel 2013 is pretty nifty, and it's what I've been waiting on since Microsoft acquired ProClarity in 2006.

Re:Top Reasons I like Postgres Over SQL Server by h1srf on Monday April 08, 2013 @11:23PM (#5516259)
In a previous life, I did a lot of MS BI & SharePoint work. On the BI side MS was just starting a push into the BI world and was gaining quite a bit of traction. I've worked on huge MS BI implementations and you are correct there. A lot of large firms use it for their whole BI stack.

On the SharePoint side of things, while I believe MS did oversell its capabilities, the problem was (could still be) that most places thought it was plug and play. It seriously wasn't. I don't know if things have gotten better but documentation those days was severely lacking. Add to that enterprises that were in the mindset that SharePoint was just another ASP .Net application and their in house devs could just pick it up without some sort of guidance.

There were a bunch of places where I was brought in to clean up the mess that happened because of those two things. I'm not sure if the landscape has changed or not but SharePoint is a beast unto itself and I've personally seen it implemented well at 30k+ seat organizations and the largest I've done was 50k seat org across 3 continents. It's not cheap to set up or customize but when it is done correctly, it does work.

Re:Top Reasons I like Postgres Over SQL Server by Spooky23 on Monday April 08, 2013 @03:07PM (#5513772)
Everyone owns SharePoint because of the CAL bundles. Many places were scared by the impending doom of Exchange public folders 10 years ago.

Others just got it in a licensing transaction... they signed up for the Core CAL, and took care of their Windows, Exchange, SharePoint and SCCM licensing, even if they didn't use all of them. If you owned any two products (Exchange/SMS, Exchange/SharePoint), you actually saved money in the process.

Re:Top Reasons I like Postgres Over SQL Server by avenger123 on Monday April 08, 2013 @02:33PM (#5513570)
I don't disagree that the stack is good.

I also see that the term "real BI" is a bit meaningless :).

In terms of the companies using it, it looks like I might be a bit off, but its probably somewhat dependent on the industry.

One company that I am following is http://www.domo.com/. The founder has a great blog (www.joshjames.com) and seems to be trying to shake up the BI space a bit. I would love to know their back office stack.

Re:Top Reasons I like Postgres Over SQL Server by endersshadow on Monday April 08, 2013 @02:56PM (#5513705)
I've used Domo for mobile stuff, and it's worked very well. I've been very impressed with it, and it makes a great impression. I've really only used it for quick demos and minor things--not for a full project, sadly. So, I can't give you a full on review of it. Sorry!
Re:Top Reasons I like Postgres Over SQL Server by cpher on Monday April 08, 2013 @01:53PM (#5513290)
Yeah, we have issues with SSRS and Crystal Reports in cross-browser environments. i.e. the "preview" never looks like what you intend. Instead, we work around it by exporting directly to disk, which seems to keep the WYSIWYG aspect.

I'm more interested to know how MS people have integrated PostGres into their environments. Which ORMs work? What are the gotchas, etc?

Re:Top Reasons I like Postgres Over SQL Server by hp50g on Monday April 08, 2013 @02:43PM (#5513638)
Nhibernate. No issues.

To be honest we're shifting to java. Our license fees are well into 7 figures for MS stuff for no gain. This is the first step. Some subsystems are moving from asp.net web forms+mvc to spring, tomcat, hibernate, postgres. Cost savings are huge, staff available are orders of magnitude better and reliability is higher as to be honest, windows has been a piece of shit to manage over the last 10 years.

Fortunately we've got a pretty well designed system so we can move it over piecemeal as and when we update major subsystem features.

Re:Top Reasons I like Postgres Over SQL Server by tracker1 on Monday April 08, 2013 @04:29PM (#5514342)
Wow, my experience has been a bit different. Every Java project I've worked on has been an exercise in frustration... Though a lot of the .Net projects I've worked on I can say the same.

I think that NodeJS + MongoDB has been the least resistance I've seen so far... though some of its' limitations are really frustrating (non-indexed result limitations). I like Postgres at least as much as MS-SQL Server. And the Entity Framework generators have been close to a blessing. That said, I'm much more of a fan of the DB as dumb storage, and not a big fan of SSIS. So changing from one DB to another is mostly transparent when things are how I prefer them.

Re:Top Reasons I like Postgres Over SQL Server by cpher on Monday April 08, 2013 @07:02PM (#5515309)
Well, we can't shift to Java--we're consultants. We're a total MS and esri (GIS) shop. I was hoping for some hints that ASP.NET could integrate smoothly w/ PostGres in order to offer something else to clients.
Re:Top Reasons I like Postgres Over SQL Server by avenger123 on Monday April 08, 2013 @03:44PM (#5514030)
I also think LLBLGEN PRO (http://www.llblgen.com/) is highly underrated.

There are commercial providers but npgsql- http://npgsql.projects.pgfoundry.org/, works well.

Re:Top Reasons I like Postgres Over SQL Server by sitharus on Tuesday April 09, 2013 @01:24AM (#5516575)
As someone who works on a project that extensively uses LLBLGen Pro I'd have to disagree with you.
Re:Top Reasons I like Postgres Over SQL Server by avenger123 on Tuesday April 09, 2013 @03:22AM (#5516863)
Would you mind elaborating on this a bit? I would love to hear about it.

I understand that some people get turned off by the code generation aspect of it, but what in particular didn't you like about it.

Re:Top Reasons I like Postgres Over SQL Server by HarshaThota on Monday April 08, 2013 @03:31PM (#5513942)
Re:Top Reasons I like Postgres Over SQL Server by cpher on Monday April 08, 2013 @06:57PM (#5515273)
I've looked at PetaPoco and Massive as a replacement for Linq2Sql, etc but don't know what experience others have had with it. We're mostly a MSSQL shop, but are seeing more Oracle projects. And now that PostGres is becoming stable in our GIS environment I'd like to know how people are dealing with multiple DB backends. Have you built anything in production with PetaPoco?
Re:Top Reasons I like Postgres Over SQL Server by avenger123 on Monday April 08, 2013 @09:45PM (#5515981)
I would really recommend you check out Llblgen Pro. The name is just weird but its a really good ORM.

The support it has for all the major databases (SQL Server, Oracle, Postgres) and others is really solid.

Also, there is a full Linq provider that works well.

Re:Top Reasons I like Postgres Over SQL Server by pbz on Tuesday April 09, 2013 @05:52AM (#5517157)
I would recommend BLToolkit (and the newer lighter version Linq2Db -- not to be confused with Linq to SQL). You keep an abstraction level above raw SQL via LINQ and with multiple DB providers you can easily switch between databases without rewriting your queries (provided you don't use any DB-specific features).
Re:Top Reasons I like Postgres Over SQL Server by taude on Tuesday April 09, 2013 @09:59AM (#5518051)
Check out the lightweight ServiceStack postgres ORM for light-weight usage, consider it more on par featurwise with Linq2SQL: http://nuget.org/packages/ServiceStack.OrmLite.PostgreSQL

Edit: just noticed someone posted this below. Sorry.

Re:Top Reasons I like Postgres Over SQL Server by corresation on Monday April 08, 2013 @02:15PM (#5513469)
In most scenarios, end users aren't hitting SSRS' interface directly: The product offers a robust web service that is an excellent way of add very rich, capable reporting to your own application.

The comment about "thrown together by an intern" seems suspect (though not as much as criticizing SQL Server for defaulting to data integrity. If ever there was a non-complaint, that is it). I've been using SQL Server since 6.5, and generally find the toolset to be excellent, and anything other than "thrown together" (quite contrary, the product moves far slower than I would prefer).

They both have their place. In SQL Server land the things that they limit to enterprise edition generally are functions that only really benefit data warehouses (partitioning and compression being two of the most obvious), and given that they know that the people who use data warehouses tend to have warehouses of cash, it comes with a cost.

Worth noting that SQL Server has had clustered indexes forever -- psql still has a rather hacked variant of it -- along with materialized views. Both are of tremendous value to web developers. Far more valuable than the default transaction isolation level.

Re:Top Reasons I like Postgres Over SQL Server by codeulike on Monday April 08, 2013 @02:42PM (#5513633)
A quick plug for my open-source alternative front end for SSRS - CrissCross

https://github.com/codeulike/crisscross

It uses the standard report viewer but aims to handle multi-pick parameters and reports with lots of optional parameters more intelligently.

Re:Top Reasons I like Postgres Over SQL Server by xradionut on Monday April 08, 2013 @04:38PM (#5514408)
"They both have their place. In SQL Server land the things that they limit to enterprise edition generally are functions that only really benefit data warehouses (partitioning and compression being two of the most obvious), and given that they know that the people who use data warehouses tend to have warehouses of cash, it comes with a cost."

Redmond could throw column level encryption into the lower tiers as a security measure, but oh, no!, that's "enterprisy".

Re:Top Reasons I like Postgres Over SQL Server by crescentfresh on Monday April 08, 2013 @06:40PM (#5515149)
> end users aren't hitting SSRS' interface directly

They'll hit the rendered output though. Which in HTML4.0's case is horrid (at least in 2008).