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."
Well it had to be said.
.. anything under the sun.
Then you can use perl, php
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.
you're an ms reseller. then i suggest you contact ms and ask them what options you have.
see, i don't mean to be rude but you've chosen to work at what i'd consider to be an unethical company. that is your right.
you're asking a question with goofy restrictions on the answer to help a company that funds a company that is actively hostile to the members of this community.
well gee. how can i put this?
go fuck off.
US Citizen living abroad? Register to vote!
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.
I know the answer to your problem. But I will not tell you because youre a MS reseller. See, its just like the time I had to make several vbscripts that automated many common tasks in windows2000, but refused to submit it anywhere to technet or newsgroups.
I will echo this sentiment from the above poster.. as a voice from (at least part of ) the linux community when in time of economic need, companies come running to the geek community to help them sell windows: fuck off.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
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.
I have been working on a medical application using OSX, PHP, Apache, Mysql. What does this have to do with Cold Fusion? well the application was written originally in cold fusion. What I have found is that CF is great for rapid application development and proof of concept however is it not a deployment solution. If you are with a microsoft partner as you claim .. stay with their products ... otherwise all the people saying open source are correct. Also one should think twice about asking about MS products here it is essentially the same as asking people to flame you.
Bad Panda! No Bamboo for you! In matters of importance ACs will not be responded to. Want to say something critical,OK
(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.
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.
Microsoft told me there was no alternative...
I've used Zope on Windows. It works well and works identically to the *NIX platforms.
A few caveats though:
Connecting to MS SQL server is a pain. The most common solution is to connect via ODBC and use the MS SQL driver. Be aware, however, that the current implementation of the Zope-ODBC adapter is not multi-threaded. A long running query will block all other queries. If you know where to look, it is possible to hack together a threaded connection.
As you said, you would like to part ways from MS SQL Server. Unfortunately, there aren't many inexpensive options in Microsoft land. If I were you, I might take a look at Firebird.
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?
..but the way the original post is word, I don't think the organization nor the poster is qualified to do what they want to do.
/.: why send this post to the site without asking for a bit of a clarification from the poster?
You mention a "massive" set of web site served by SQL Server. You can get rid of the web sites, and none of you need to be there, you can spend money to convert them to non-dynamic websites (HUH? yeah..), or you could spend some fraction of that to maintain what you have.
Here's my advice: learn as much as you can while you're there (and this means ignoring whatever the remaining people are doing) and start looking for a new job immediately.
I have a feeling I know where, "organizationally speaking", this request is coming from, and the company has dark days ahead.
If, on the other hand, what your org wants to do is quit paying support and licensing fees for MS SQL Server, it's going to probably cost a good bit of money to conver the sites to MySQL/Postgres, and it doesn't sound like you guys are in any position to be making big decisions like that.
Good luck.
Note to
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.
Mod this up if you agree. I really don't give a bunk.. love the anon_coward baby.
Really.. Does this guy sound like a stooge or what?
Gee, that sounds like instant job security. Change that sentence to, "When you threaten to leave in January, you'll have them bent over a barrel. Demand a raise" ;) It's all coming together now.....
You don't want alternatives. Your requirements are "Must be produced by Microsoft". You need XP, IIS, MSSQL server and some light ASP work. What's your alternative? Something that's going to be locked out of the API war next service pack? Riight.
Quit posting crap to slashdot. Do you own fucking job.
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.
The Windows version of MySQL is as stable as the Unix version. Try it. If you don't like it, try PostgreSQL under Cygwin.
"With Microsoft, you get Windows. With Linux, you get the full house" - unknown
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 been using a FANTASTIC but less well-known platform called in1 (because it literally and immediately enables you with amazing tools, though not overstepping on any of your design, etc.). InShift Technologies is the company behind it. They are a great group of techies, coders, and designers to work with too. They have a handful of HTML-like tags that work with a database and perform programming functions (if, else, etc.). They work with MySQL, MSSQL, Access, Oracle, etc., so you are not tied to proprietary databases. Also, you don't have the java overhead like coldfusion. Oh, and a license is $295! You can try a demo and they can walk you through some training if you contact them. Very easy to learn. I have taught secretaries and executives to use it! Also, for a web savvy user they are as empowered as they are with PHP, ColdFusion etc., if not more so with the simplicity and Perl-integration ability. It is worth taking a look!
Did I mention they do dynamic static publishing, output in XML, run a simple CRON, have User authentication built-in, include an e-commerce website with the license, integrate with PERL and other languages, run on Windows, Linux, FreeBSD, and more!
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?
You clearly don't have the resources to attempt to change anything - a personnel of one. So don't. You should be concentrating on trying to fix any niggly bugs that are causing you to be constantly "fire fighting".
To try to change anything in your current situation would not only be stupid, but also irresponsible. If you wish to keep your job you should follow my advice - if it aint broke, don't fix it. You should be competent enough to know that.
If you are an MS shop, then just use SQL server. In spite of what the zealots around here will tell you, SQL server is actually a very nice database, and yes, vbscript is in-elegant, but so is every other scripting language I have used server side (including javascript, jscript, perlscript, php etc.) and its probably the easiest of the lot to learn. You have something that works. Use it and stop asking stupid questions that you know will get put on the front page of slashdot just because you want to diss Microsoft.
You know, I used to bash MS just as much as the next geek, and for a lot of stuff I still will, but I've seen huge sites running on SQL server using ASP (If you say tht you've seen them to, and they are slow, I will tell you that you may have seen them, but you've seen the poorly developed ones) Most of their technology is not "best of breed" but in most cases their solutions work, and when all the pieces are put together, they actually work fairly well....
Yes, I can get a more scalable DB server than SQL server (there is Oracle) but SQL Server is much easier to admin. I can get Verity as a search engine, but I can also install index server for free. Its not as felxible, but it works. I can get a better performing static web server (apache exists for windows) I can use my choice of scripting languages. I can use any number of tools for source control and I can even use notepad to develop in, but editting in Visual studio using Sourcesafe to develop in vbscript for IIS and Sql Server...... its a no brainer.... 95+% of the functionality of the best of breed performers, but it all works together seemelsssly and with almost no screwing with configurations.
Jump off the MS bashing bandwagon, evaluate the situation for what it is, and use tools appropriate for the job. MS reseller = use MS products, forget the linux zealots and bigotry and hoestly evaluate and you will find that they are pretty nice.
Begin the flames. I don't care. If you want to tell me I'm lying or crazy, you have either
a.) not touched windows solutions since NT4.0/IIS 4.0 and SQL server 6.5 or
b.) just not used it enough to know what you are talking about.
Go ahead and complain about that, like there is no learning curve on linux. Yeah, its only a conf file, but by the time the newbie learns to use vi, I have already reconfigured the windows server. (and before you assholes complain, I have no problem configuring any of the same tools under linux. My favorite editor is vi, and I use it fluently, and I STILL say the MS stuff, rated objectively, ain't bad.
If I were you I'd try and do as little as you can to get yourself a good reference from the company and then quit as soon as possible.
:-)
It sounds like you'll be getting little in the way of help or support on this one. If I were in that position, I'd be feeling very uncomfortable with my working conditions and would be looking for alternative employment asap.
If you want to do the company a favour before you leave, I'd echo the sentiments of:
1) Converting as much as you can into static content.
2) If you still have dynamic content to be served, move across to technologies that have a fairly large and well-established development community.
MySQL is fairly well used and works well under Windows IMHO. I personally choose PHP as a site scripting language. I've used it under both *NIX and Windows environments and have found it to be easy to learn & use and has a large base of developers available.
How about you kill the SQL server on its own, and replace it with a Win32 mySQL server with ODBC connectors? fine mySQL might not be stable in corporate terms, but its pritty much got the features and stable enviorment. Just a idea.
"What do you mean you have no ice? Do you expect me to drink this coffee hot?" - Random Customer, Clerks
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
* Must run on Windows (they're a Microsoft reseller after all)
Why MUST it run on Windows? I thought that you were looking for a stable, secure and easy to maintain solution...
* Stable, mature, secure for corporate strength (over 10 product categories, each with 8-10 products)
100 products that's static HTML territory. A flat text file database with Perl is an alternative look at DBman
* 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
Dream on. Secure web applications aren't easy. It is a real job!
* Not too much programming involved. HTML and ASP/PHP-ish are OK.
Dreamweaver MX is point and click. Works for ASP and PHP and others.
I would say that you should run out and buy a few books on web applications and come back in six months...
realkiwi
if youre talking about wewb apps.
I just wish oracle would come out with something like
query analyzer. sql worksheet suxxors and sql plus is good for what it does ( for running shell scripts at this point)
enterprise manager is just icing on the cake.
but fo good DBA's , query analyzer is awesome. Though I havnt tried TOAD yet. Of course you get a pretty good free tool using TOra
marketing to think that you dont need a dba, even with sql server. end result.... kludge data system architectures with data that will be useless within a year. a database that will ownjed (if somebody actually cares that is)
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 ----
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.
Honestly, if the company does not know what to do, I would NOT recommend them as a MS Solution provider! On a serious note, I really think a company has to "eat its own dogfood".The company should know what it needs (of YOU if you are the only tech there) If you don't know, how did you get the job?
If you're not a Liberal in your 20's, then you have no heart.If you're still a Liberal in your 30's you have no brain.
Zope is a good option. But I must praise ColdFusion. Ever since Macromedia took over this product, it is far superior. Yes, it costs money, but it is so worth it. Without a doubt the easiest scripting language and server app admin to learn, yet it is a very powerful product. I have yet to find something I cannot accomplish with ColdFusion in the workplace. I even used it for internal reporting and database admin. I scrape other websites with it; I built shopping carts and members-only sites with it; I ran webserver logs with it; etc. And two other quality notes are: (1) the books that come with the studio/server products are thorough and easy to read/apply, and (2) the discussion forum and custom tag gallery at Macromedia's own website are also the definitive resource for this suite. I can pop a question into Macromedia's ColdFusion forum and have quality answers within hours. If you are looking for quick learning curve and easy, easy maintenance, ColdFusion is a brilliant product, far better than ASP, PHP, or Zope, and I have worked with them all. Oh, and ColdFusion runs on MS, Unix, or RedHat.
r actions.html)
"Paradoxically, even as we have higher and higher level programming tools with better and better abstractions, becoming a proficient programmer is getting harder and harder." -Joel Spolsky (http://www.joelonsoftware.com/articles/LeakyAbst