Alternatives to MS SQL Server for Dynamic Content Website?
Cindy asks: "My current employer has a handful of websites, which are massive and messy entanglement of ASP on IIS with MS SQL storing the dynamic content. As the company scaled down to only 1 full-time temp (me) in IS and a sales manager overseeing servers + managing web sites, the company would like to trim down behind the back. More specifically, they would like to let go of the use of SQL server altogether. I've used Zope before, but I'm not sure how well it works on Windows. Then there's ColdFusion, but I don't know anything about it. What other choices do I have?"
"The replacement has the following requirements:
- Must run on Windows (they're a Microsoft reseller after all)
- Stable, mature, secure for corporate strength (over 10 product categories, each with 8-10 products)
- Easy to learn, easy to use, and easy to maintain for someone who is comfortable with server maintenance and website design, but not too knowledgeable. I'll leave the company by January
- Not too much programming involved. HTML and ASP/PHP-ish are OK."
You see, it is going to cost them a hell of a lot more than that to rewrite all of their code to use a different environment.
1. How much do you need to change the current set-up?
As one full-time temp, do you really have the personpower to re-write or re-implement everything, probably temporarily breaking things in the meanwhile? You'll be a wreck.
Why not leave it?
2. Licensing.
Tell us about how much you're paying for the different licensing of the MS server components you use. Maybe a libre solution might make more sense? Could you argue that in exchange for cutting out the licensing costs, you be given a few other temp team members to work with?
I think we really need more information before we can tell you what's best for your particular circumstances.
One more thing: Cold Fusion is soooo 90's.
And based on the content of this ask slashdot, it's you.
You compare Zope to SQL Server. Zope is an applications server. SQL Server is an RDBMS, a relational database. You can't replace SQL Server with Zope. Zope can use SQL Server. Since you've already licensed the expensive (and, in my opinion, EXCELLENT) SQL Server, why not continue to use it? If you want to use Zope instead of ASP, go ahead, but what makes you think it's going to be any easier to maintain than what you've got now? Or rather, will the headache of converting to Zope (or whatever) be worth the end result? Could it be that your current setup is "a messy entanglement" because of the way it was written, and not due to the tools you are using?
Perhaps you should hire a consultant to look over what you've got and help you figure out the best solution. It's hard to make a good recommendation when we don't know WHY your current situation is so entangled, or how hard it's going to be to untangle it.
"And like that
The mostly open source Java Model-View-Controller solution would implement Java Server Pages (JSP) using the Tomcat servlet container for the presentation layer (use JSP's custom tags to give the web designer a code free job), a Postgres or Firebird backend for the model, and either a custom servlet or something like Struts from the Apache Jakarta project for the Controller.
The above meets all of your stated requirements, and its all very battle hardened and will scale as big as you need. The databases are probably the limit on scalability, but I'd say you are at least breaking even switching from MS SQL-Server to either Postgres or Firebird. It's also pretty platform independent, again limited by the databases. Except for the JRE, it's all open source.
If you want to be cutting edge, look at Cocoon from the Apache Jakarta project for an XML/XSLT based presentation layer. Throw in Apache AXIS for SOAP somehow to round out a fully "web services" buzzword compliant system.
The LAMP (linux, apache, MySQL, Perl/Python/PHP) option is another one that was the "hot" thing at least until IBM decided to invest a billion dollars and Apache Jakarta technologies started exploding.
Conversions between any platform (web/db/whatever) are generally pretty involved, expensive (from a labor or expense standpoint), and can cause a lot more problems than they solve.
I hate MS SQL server as much as anyone and try to steer clients away from it whenever possible, but I have to say that it's not a completely shitty database. If you have an application that works with it, is tightly integrated with it, and the company you work for is almost down the tubes anyway, you need a hell of a lot more than a platform conversion to save you.
Anyway, for what it's worth your question is unanswerable because you have given no indication of what you actually need this database or web platform to *DO*. (Coincidentally, that's probably the reason the company dug its own grave, but I digress.) There are plenty of application servers out there and plenty of databases. Some are free; some are commercial. I find it interesting that you don't seem to be able to afford to run an SQL server (which costs about $1500 to license for web use) and are looking at the ColdFusion platform (which retails for $5000/server for the enterprise edition, which you will probably need if you want to do anything normal like clustering).
*sigh* The only worse Ask Slashdot question I can think of is "Alternatives to Microsoft Windows?" COME ON ALREADY!
~GoRK
Ten product categories, each with 8-10 products?
What you don't say is whether you are supporting online sales of the products, or if this is just a brochure site.
If it's just the latter, all you need is some static html and a little templating. Certainly no database. I also don't understand why you want to change from asp. It's certainly more than adaquate for this job.
If you are an MS reseller and you are going to "switch" to a different product then you better watch your back. MS will be coming to your door with the goons to tear you a new one.
No, this is the perfect opportunity for subversion. Your rudeness to the question is completely unwarented. The open source community is going to have to find ways to force it's way onto the beachheads patrolled by such pointy haired MS lovers. This is a perfect case study of the real world obstacles that will be encountered.
If you think that you can just turn your back whenever a "goofy restriction" is in place, you are dooming the world to MS dominance.
to help a company that funds a company that is actively hostile to the members of this community.
What community is that? I'm a Slashdot reader, and I use Microsoft products all the time.
Not everyone on here is an anti-Microsoft zealot. (I'd wager the majority reading this site are accessing it from a Windows computer.)
"And like that
but if you don't need SQL Server, then I expect you don't need stored procedures, sub selects, transaction support and all of the rest of the high end database features. In a *nix environment, the LAMP (Linux, Apache, mySQL, Perl/PHP) combination of products work very well, are easy to use and maintain, and cost very little. mySQL and Perl/PHP all run on windows, but ASP can connect to mySQL via ODBC. mySQL really is a snap if it meets your needs, and it runs beautifully.
(Based on the fact that I've been in this position before and chose the wrong path, I offer this advice.)
First, given the lack of IT resources, you should be extremely wary of switching to a new technology (such as Zope). When you leave in January, there's no guarantee that anyone will understand Zope and it's likely that it won't be stable (or scalable). You may leave the company in a worse position than it is now.
Instead, I would offer two alternatives that could leave you in a more stable position:
Hope this helps.
-Peter
Anything else you get will require not only a lot of work to get running, but ongoing maintenence that it sounds like you can't do at this point.
what are you trying to accomplish? save money on licences? consolidate hardware? ease management? all of these motives lead to asp/sql server.
now, if you wanted security, flexibility, scalability, or performance, move away from asp/sql server.
There aint no pancake so thin it doesn't have two sides.
Seriously though, Perl, PHP, etc are all available for Windows.
Mac OS X and Mac OS X Server, too. Installed by default, even.
I write in my journal
i don't mean to be rude but you've chosen to work at what i'd consider to be an unethical company.
How do you know what company she works for? She doesn't say in her submission. Do you know this submitter?
For sake of argument, let's just assume you don't. For sake of argument, let's just assume that you keyed in on the words "Microsoft reseller" and let fly with the spit and invective. Let's just assume that, shall we?
You ignorant, arrogant bastard. How dare you jump to conclusions about this poor person's company based solely on two words in an "Ask Slashdot?" You wanna talk about "actively hostile?" How's this for "actively hostile?" You, Kevin, give the community of computer hobbyists and open source advocates a bad name, and that's saying something. People wonder why Linux and open-source software in general are having trouble gaining acceptance in the market. This post of yours is an excellent example of why this is so. For every generous and helpful soul out there in the community, there's some arrogant little shit like you telling people to "go fuck off" when they ask for help.
Bite me, Kevin Lyda.
Oh, one more thing. You're not e.e. cummings, you know. Learn to use a fucking shift key. Asshole.
Whew. That felt good. Some people just needs flamin', you know?
I write in my journal
I'll tell you what I told Kevin-- only without using so much profanity, because this kind of response from you seems out of character with your usual posts; I'm extending the benefit of the doubt here and assuming that you happened to be an asshole in this instance, but that you're not usually an asshole.
This kind of attitude and a stance of open-source advocacy are incompatible. When using, or even thinking of using, open-source software, one has nowhere to turn but to the community itself for advice and help. When someone does that, it's critically important that the members of the community not be assholes. This kind of behavior just shatters whatever tiny grains of credibility the community of hobbyists and hackers has managed to accumulate over the years.
In other words, take your mama's advice. If you can't say something nice, shut the fuck up.
I write in my journal
I use open-sourced interbase both for intranet and for a news app that I've developed for a TV station. It requires virtually zero administration, has all the stuff a RDBMS should have (triggers, stored procedures, user-defined functions, etc.).
It has versions for Linux, Windows, some Unices, etc., so it's easier if you entually decide trash out M$ in the server side.
*blinks*
*reads again*
You sir (or, should it be the case, madam), are my hero.
Wax-Museum Fire Results In Hundreds Of New Danny DeVito Statues
i think if you search on my name, you'll find that i offer a great deal of help. in fact just this week a person sent me mail thanking me for an answer i found and posted regarding laptops nearly three years ago.
the fact is that microsoft is actively trying to destroy linux and free software. they don't believe in competition, they believe in monopoly. they believe in putting free software developers and admins out of work. and they use a slew of tactics to do that.
i do think people should have choice. i have nothing against other closed source software publishers like oracle, sun, compaq or apple. but then that's because they are not actively targeting my hobby, my livelihood and the hobbies/livelihoods of my friends. they do compete, but not in an agressive and frequently unethical manner.
so, yes, i'm annoyed by people that support such an organisation. and i'm utterly disgusted by people that support such organisations and have the utter gall to then come to communities which have a large number of free software users with a question about how to spooge off our work.
so rant all you want, that's my perception and i'm sticking to it. i'm more then willing to help people who are not blatently unethical.
US Citizen living abroad? Register to vote!
Microsoft told me there was no alternative...
If you don't want to help, shut up. Seriously, nobody asked you what your opinion is of Microsoft or companies (of which there are literally thousands) that sell Microsoft software, or what you think of people that work for those companies. I really, really mean this from the bottom of my heart: shut up.
I reiterate my original two points. One: you are an arrogant, judgmental prick who does more harm to the reputation of the community through this attitude than a whole truckloads of Microsofts could ever do. And two: you really, really need to learn how to use the shift key.
I write in my journal
Why go to the hassle of replacing something that you already have paid for and works well?
SQL server is easier to set up and maintain than many other Database software. Why do you want to replace it?
Adaptive Server Anywhere, by Sybase, fits all of your requirements. It:
1) Is fast and very inexpensive compared to the other professional alternatives.
2) Is mature (been around 15+ years)
3) Is scalable from a DB size of 80k (seriously, it runs on RIM pagers) up to many gigabytes. It's used by places like McDonald's (their cash registers run it), the city of Edmonton (their hydro personnel run it on their PDAs when out in the field), etc.
4) Is available on oodles of platforms (Microsoft, Linux, *nix, etc.)
5) Requires *very* little maintenance or DB administration. If you're used to SQL Server, you will probably be amazed to see how easy it is to run/administer ASA.
6) Is self-tuning -- it has dynamic cache resizing, like MS SQL Server, as well as a great query optimizer with histogram-based selectivity and a fast join enumeration engine. It supports full ANSI SQL92 and a big chunk of ANSI SQL99, as well as T-SQL (like SQL Server).
7) Is supported by a well-built-up community of users, developers, and Sybase staff who regularly answer questions on the newsgroups, helping new users, helping others tweak their SQL, etc.
8) Has ODBC, TDS (like MS SQL Server), and ANSI/ISO ESQL/C interfaces.
But, don't take my word for it. Check out news://forums.sybase.com (the "sqlanywhere" newsgroups), and ask around. Check out www.sybase.com and download a free evaluation copy and see if it suits your needs.
Personally, at about $400 Canadian, I think that ASA is about the fastest, easiest, most capable DB server around for small to medium-sized DBs.
If you don't need the database then why not just use a tool like w3mir that will spider your website and save it to disk. Then put the resulting static HTML on your server.
Does this guy sound like a stooge or what?
"This guy" is named Cindy, you idiot.
I write in my journal
That's three. How many flames of the submitter are we going to see in this article? I was surprised at the first one, and disappointed by the second. Reading this, I'm starting to think that maybe there's a seedy underbelly to "the community" after all. Between you and that Kevin guy who complained about people trying to "spooge off of our work" (that cracked me up), I'm really beginning to understand why open source has the reputation it does in so many circles.
Probably the best thing for "the community" in this instance is for all y'all Microsoft-haters to learn when to keep your pie holes shut and just play nice with the other kids.
I write in my journal
I think you are looking for 2 separate products, an RDBMS and some sort of web scripting language.
RDBMS - SQL server, like many have commented, is an excellent and mature product, more than enuf horsepower to run ANYTHING you need (especially for a 1 person shop). If you can't afford it, use a free db (mysql, msql, postgres, flat files... search for something on freshmeat), since it looks like the requirements are not too heavy, and anything heavier requires more resources than you have to run.
Scripting Language - choose some language you know. certainly ASP is plenty powerful. Free alternatives like php are good, or jsps on tomcat. Zope is python based so you'll have to learn a whole new language if you don't already know it, and really for simple websites php is best.
If you only have one person to support it, and not a programmer at that, forget about any heavy duty database, or any multi-tiered architectures or proprietary app servers or anything fancy. Apache/php/mysql is a very popular free setup and more than powerful enough, and you'll find plenty of resources online. Definitely don't go with ColdFusion.
i have nothing against other closed source software publishers like oracle, sun, compaq or apple. but then that's because they are not actively targeting my hobby, my livelihood and the hobbies/livelihoods of my friends. they do compete, but not in an agressive and frequently unethical manner
Yeah right. Oracle, Sun, Compaq, IBM and Apple would attack you in a heartbeat if they thought it would improve their bottom line.
It wasn't that long ago when Apple and IBM were the competition-crushing-FUDing-"It will only run on Apple Hardware" behemoth, and Microsoft was the rebeleous start up.
"Can of worms? The can is open... the worms are everywhere."
PHB: "Maybe there's something to this open-source thing - but what about support?"
LinuxFan: "Well, you get support from the community. Take a look at this 'ask slahsdot' for example, where a reseller asks a question about SQL."
PHB: "People are telling her to fuck off because she's evil!"
LinuxFan: "Er... well... maybe, but Microsoft would tell you to fuck off and charge you $100..."
~~~~~ BigLig2? You mean there's another one of me?
Has anyone found a silver bullet out there that will let us do really cool things for free?
We want to use dynamic content, but we don't want to do any programming, so there shouldn't be any programming involved in the product. Basically, when I leave the executives are going to be maintaining the website.
Can anyone help me?
-- DrZaius - Minister of Sciences and Protector of the Faith
Not everyone on here is an anti-Microsoft zealot. (I'd wager the majority reading this site are accessing it from a Windows computer.)
Too true! I've come to the conclusion that there is no moral high ground to be had anymore in IT. It seems like every technology camp is intent on demeaning everyone else because they believe themselves to be superior. It's just another form of primitive tribalism where each tribe attempts to propagate itself through the zealotry of its constituency. The relative merits of each style of development and technology philosophy become lost and almost irrelevant in the cacophony of arrogance. It's getting very old...
The bottom line is that I'm going to implement the best tool for the job for a customer using whatever vendor makes the most sense. When a given vendor becomes too much of a pain in the ass, I'll move on to the next, and so on.
My viewpoint leads me to believe that Microsoft, OSS, IBM, and a few others will be around a long time to come. Some other vendors (Sun, Apple, etc) will be too much of a pain to bother with, and they will remain in their respective niche corners. Some of them may die entirely (possibly Sun, among others), and some may even transcend niche status (possibly Apple, among others). We'll see.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
Hey, get bent. Flame the guy all you want, but you stay the hell away from Buffy.
;-)
I write in my journal
Get real.
While MS solutions may not be the best on the planet, its useable, and would cost more in time and money to move to something else, regardless of platform, than you could save in the near-term.
Looks to me that you have neither.. Check out licensing breaks you can get for them, since they are a re-seller, then wait till January to come and hit the road as planned.
---- Booth was a patriot ----
OK, I have no problem with you flaming these posters if you really feel that strongly about it, but honestly, who cares if Open Source/Linux/whatever gets recognition, loses credibility with someone, achieves world domaination or anything? It doesn't matter in the slightest.
It's free software. It doesn't have to compete, it doesn't have to attract anyone outside those who are naturally interested anyway, and most of all, it doesn't need to be particularly polite.
No one's going to be sacked if some newbie gets offended when they inadvertantly press someone's buttons and get mildly roasted.
People will continue to produce it, people will continue to use it. Some people are going to disagree with other people, some will be helpful, some will be rude, some will just walk away shaking their heads in perplexion that anyone would give their hard work away for free.
In other words, if a user is so thin-skinned that they're offended at the response freely offered by a member of the public to an enquiry, then they should invest in software that pays the salary of some poor bastard in support to be nice to them.
You know they call 'em fingers but I've never seen 'em fing. Oh, there they go.
honestly, who cares if Open Source/Linux/whatever gets recognition, loses credibility with someone, achieves world domaination or anything?
Well, I can say that I'm on your side. I agree with you. My own opinion of Linux as an operating system is not high, so I think the danger of it becoming anything more than a minor footnote is minimal. But that's not the issue.
The prevailing opinion in the non-commercial software community is that people should use, or at the very least consider, non-commercial alternatives to software from companies like Microsoft. The reasons given range from the practical (the assertion that non-commercial software is more secure is always a popular one) to the ideological (read anything RMS has ever written for an example of this approach). I don't agree with this basic idea completely, but I certainly understand, accept, and respect the opinion. (Well, mostly. Respect is a fuzzy thing, you know?)
The kind of shit that went on in this discussion runs counter to that prevailing opinion. If I were Cindy, I would run, not walk, to Microsoft and buy whatever it takes to get my job done. Say what you like about Microsoft, but nobody at that company actually tells customers or potential customers to fuck off. (Well, knowing my luck, on a few occasions that's exactly what's happened. But those events, if they've happened, are just as unacceptable as this one, and-- again, if they've even happened-- they're the exception to the rule.)
What you're basically saying here is that it doesn't matter if people are assholes to other people. You're saying that people who were going to use non-commercial software will do so anyway, and people who choose not to based on rudeness probably would have so chosen for some other reason. In the most literal sense, you're probably correct. But that doesn't mean you're right.
People like RMS-- and his followers-- like to say that the true purpose of the open software movement is a political one, not a technological one. Well, just as RMS's off-putting personality runs counter to that purpose, so does telling newbies to go fuck off.
Does it matter? No, not really, not in the grand scheme of things. But that doesn't make it okay.
I write in my journal
MS SQL Server is quite good... except in applications that really benefit from MVCC - applications where heavy updates are going on at the same time as long-running queries. I've found that a good portion of the apps I write, do this, because my customers like to get real time business intelligence data. With such apps in SQL Server, you either:
* replicate to a reporting DB, and tell users their queries don't reflect current data, but data 30 minutes old or whatever.
* run large queries with dirty reads. Yeah, that's what I want, to give up ACID properties.
* watch updates grind to a halt as queries lock lots of rows / pages, because the SQL Server team thinks that's a good way to get a stable read. I suppose it is, except for MVCC...
Interbase also has MVCC by the way, as do a few other DMBSs that I don't recall at the moment.
SQL Server people sometimes brush off the MVCC issue, pointing out that if all your queries are well indexed, they go fast enough that it doesn't block that much. That's helpful for many apps (where with good tuning, queries can all run fast), but there are also queries which simply need to read lots of data, because of what they fundamentally are doing and even with tuning they will take many seconds to run.
With MVCC, writers don't block readers and readers don't block writers. Both are important, and both are not true with a locking-based database, no matter how clever its lock manager, hints, etc.
Why dont you take him up on his suggestion and go search on his name. I'll bet he's been part of the 'community' since before you were on solids (at least judging from some of your other posts i found in your userinfo).
:) However, I can categorically refute, indeed i know the truth to be the opposite in the extreme, your statement that he has done:
Is he a prick? definitely..
"more harm to the reputation of the community through this attitude than a whole truckloads of Microsofts could ever do"
as I have first-hand experience of the work he's done.
To a significant degree due to him, a certain small multi-national runs its business on linux, makes decent amount of money running linux, approaching hundreds of thousands of european consumers make use of linux every week (without knowing it) and a reasonable number of people make their living working on developing for and maintaining linux based systems. Finally, and most importantly, a fair number of high-level management/boardroom types now think "linux == good".
So he might be grumpy, he might not tolerate fools, but he has done plenty for the 'community'. Perhaps you should retract your comment of "judgmental prick", as from here it appears quite a hypocritical accusation.
--paulj
I use Friend/Foe + mod-point modifiers as a karma/reputation system.