Slimmed Down MySQL Offshoot Drizzle is Built For the Web 370
Incon writes "Builder AU reports that Brian Aker, MySQL's director of architecture, has unveiled Drizzle, a database project aimed at powering websites with massive concurrency as well as trimming superfluous functionality from MySQL. Drizzle will have a micro-kernel architecture with code being removed from the Drizzle core and moved through interfaces into modules. Aker has already selected particular functionality for removal: modes, views, triggers, prepared statements, stored procedures, query cache, data conversion inserts, access control lists and some data types."
anotherwards, MySQL 3.x... (Score:5, Insightful)
Shnizzle (Score:2, Funny)
You shnizzle dude, wizzle on my dizzle, like totally gansta. I is gunna pop a cap up your arse.
Hey, I'm English and this is how all Americans talk on the telly ;-)
Re:Shnizzle (Score:5, Funny)
That's not how that English guy on House talks.
Re:Shnizzle (Score:5, Funny)
Re:Shnizzle (Score:5, Funny)
Your humour depreciates? I guess I'll have to check this thread out in a year or two to see if it's still funny.
Re:Shnizzle (Score:4, Informative)
No, that's "self-deprecation". "Depreciation" is when something loses value.
Re:Shnizzle (Score:4, Informative)
google it fool
Just admit it... You screwed up. Irrespective of the fact that there is a redirection from "self-depreciation" to "self-deprecation" in wikipedia, they are not synonyms.
Deprecate [merriam-webster.com]: v, play down, belittle, disparage, etc.
Depreciate [merriam-webster.com]: v, to lower in estimation or esteem, to lower the price or value of, etc.
They are similar words. They both share the "de-" prefix, meaning "away, off, reverse, remove". After that, they have nothing in common, other than a similar spelling.
The etymology of deprecate comes from the latin de- precari, "to pray against", which somehow morphed into the current usage of "to belittle", or "to make obsolete".
The etymology of depreciate comes from the latin de- pretium, "lowered price".
Your insistence that wikipedia is authoritative on this somehow just makes you look even more silly. Especially on /., where amateur linguists and grammar nazis roam unfettered. :P
Re: (Score:3, Informative)
UGH! How is this moderated "informative"?
Is there a "mis-informative" mod? Some looser [sic] added a redirection from "self-depreciation" to "self-deprecation". They're not the same word, damn it!
Re: (Score:3, Funny)
LOL, the term is "self-defecating". Moran.
Re: (Score:2)
No, Ali G [wikipedia.org] is played by a Brit. ;-)
Cheers
Re:Shnizzle (Score:5, Funny)
Re:Shnizzle (Score:5, Funny)
Re:anotherwards, MySQL 3.x... (Score:4, Insightful)
Re: (Score:3, Interesting)
Seeing how prepared statements are meant to make repeated queries faster, by allowing reuse of the plan, I'd say that this was a stupid thing to remove. Not as stupid as views, though, since those are basically just stored and named queries and as such trivial to implement/maintain.
Re:anotherwards, MySQL 3.x... (Score:4, Insightful)
Most people could make an argument that any feature is important/easy enough to keep in the core. The truth, though, is that most people use MySQL as a data store. They don't care about data correctness, about views, about advanced features. They just want to be able to store data and look it up again.
Of course, this is partially because the books on database programming don't stress these features, and such programming has become available to the masses who don't know any better. Real programmers understand the issues and use these features, but then, real programmers probably also understand that modularization can be very useful.
Re: (Score:3, Interesting)
Yes; and in fact I haven't found another safe way to feed parameters to a database in Java. There doesn't appear to be any kind "sanitize/escape" function nor paremetrized input for non-prepared statements in the JAVA SQL API, so either you write one yourself or stick to PreparedStatements.
BTW: PostgreSQL supports such out-of-band delivery of parameters even for non-prepared statements.
Re: (Score:3, Interesting)
That was exactly my thought. Hooray, we just jumped 10 years backwards. Hopefully this time they've fixed the database corruption issues that had me truncating table files once a week.
Of course this just confirms my belief (and the reason I've never yet used MySQL in an environment where I was given the choice) that even when these guys added these features they either didn't understand them or didn't believe that they were ever important.
Re:anotherwards, MySQL 3.x... (Score:4, Insightful)
They're not removing features, they're moving features into modules. Don't use views in your app? That code doesn't get loaded. Honestly, once a program reaches a certain size, this is a necessary step.
Re: (Score:3, Interesting)
Modern web frameworks these days just use it as a over-glorified hash store anyway. The other features are useless in that context. However, I feel we'll see a move to document databases, such as CouchDB, by those frameworks in the near future leaving MySQL out of the game completely.
Great, even more insecure web apps (Score:5, Insightful)
This is stupid. Removing prepared statements and access control lists? Don't we have enough trouble with people writing insecure web apps when we provide them with the tools easily make them secure?
Re:Great, even more poor data relationships (Score:2)
Throw out Triggers???
Junk-in and Junk-out with bloat code on top trying to validate and synchronize very thing.
I guess it the '70s all over again.
Re: (Score:2, Funny)
Re: (Score:2)
From the FAQ:
"No modes, views, triggers, prepared statements, stored procedures, query cache, data conversion inserts, ACL. Fewer data types. Less engines, less code. "
So yes they're going to a module type system, but it says flat out these things are removed entirely.
And I agree with the first comment. We already had this, its called MySQL 3.
Re:Great, even more insecure web apps (Score:5, Interesting)
Drizzle? (Score:5, Funny)
Fo' shizzle!
Re:Drizzle? (Score:5, Funny)
Microsoft, of course, was busy "revolutionizing" the look-n-feel of MS Access.
No views?! (Score:5, Insightful)
And removing stored procedures seems to be more accomidating to the way developers actually write rather than the way they should. Just think how great it will be when all of the processing on every web page is done by php rather than in the database!
Re:No views?! (Score:4, Interesting)
Which is exactly what the majority of CMSs do today. They treat the DB as dumb storage, and make very little use of its capabilities.
Re:No views?! (Score:5, Funny)
Which has the unfortunate side effect of making the application portable across DBMS's.
I'm just sayin'...
Re: (Score:3, Interesting)
While kind of hackish (it uses dia as its GUI), cool projects like tedia2sql [tigris.org] make it easy to develop a single schema which works on 8 or 9 major RDMS, for free. It's even possible to generate customized triggers and/or schema sections on a per RDBMS basis.
I don't think it covers stored procedures. It has been a long time since I've used it, but regardless, considering stored procedures are often ignored, it may or may not be a factor for your next project.
You forget the target audience (Score:5, Insightful)
That's because most of these people are writing their applications to be cross-platform applications, or at least with the intention of them being cross-platform at some point without re-writing the whole thing. If you don't know that you're going to be hitting against a DMBS that provides true ACID compliance and that has powerful stored procedures, it's probably a good idea not to depend on those features for critical functionality.
Also, you're forgetting who most of the databases we're talking about are aimed at: hobby or small-scale web developers. If you're writing something like Joomla! or phpBB or MediaWiki or whatever, it's pretty safe to assume that the people who are using your software won't have access rights to create things like powerful stored procedures (that, if written poorly, can <censored> up everyone using that database) even if they are supported by your DBMS. Such is the nature of $4.99 a month hosting plans; you typically don't get much more than INSERT and DELETE and SELECT.
Frankly, MySQL is a lot greater than what 99% of users use it for. Drizzle is targeted at 80% or so of those 99% to provide an even faster and better back-end. If your application is such that it needs features that aren't supported by Drizzle or even MySQL, by all means, use whatever it is you need. But really, I don't see much use in basically telling people, "You're not using it right!" when it does exactly what they want it to.
Re: (Score:3, Insightful)
Frankly, MySQL is a lot greater than what 99% of users use it for.
You're right! Most web tards should be using SQLite, but hey, that would remove the possibility of running 8-node DB farms to support their bloated ORM framework and its spurious queries. It's funny how, 6-7 years ago people were talking about hitting 1 million hits per day. In 2008, with our quad-core Ghz-pounding monsters, most popular sites are actually serving less traffic per box than we did back in the day, because nobody cares to optimize anymore. Large images, script-rendered stylesheets (!?), c
Ask yourself WHY, (Score:4, Insightful)
Ask yourself WHY that is.
It's simple: Hardware is MUCH cheaper today than it ever was before, and it'll be even cheaper tomorrow.
You know what ISN'T cheaper? Software developers.
It makes a lot more sense to optimize for the DEVELOPER than it does to optimize for the machine.
I can add another web server for $5000. Adding a developer is at least an order of magnitude more expensive.
Re: (Score:2)
"Just think how great it will be when all of the processing on every web page is done by php rather than in the database!"
I don't have to imagine that, you insensitive clod. Thanks for remembering me about what a messed-up crap my inherited code-base is.
Oh man. (Score:4, Interesting)
One man's "superfluous" is another man's key feature. No views? No prepared statements? Holy carp. Isn't MySQL crippled enough as it is?
At first glance it's hard for me to see where Drizzle would fit where SQLite doesn't.
Re:Oh man. (Score:4, Interesting)
I realise that this is hugely off topic, but is there any chance anyone can highlight the benefits of prepared/stored statements? I've been trying to read around on the subject but it seems to be hard to pin down the benefits, and then I come across this: http://www.tonymarston.net/php-mysql/stored-procedures-are-evil.html [tonymarston.net], which offers an insight, but seems moderately biased against it "because he's never bothered with it yet, why bother with it now. And get off my lawn!"
Thanks for any help with this...
Re: (Score:3, Interesting)
Re: (Score:3, Insightful)
I don't want to sound ungrateful, but is that the only reason? I accept that having one more secured web-server in the world is a righteous goal, and ethical too, but I was expecting rather more pros than just the one (albeit an important one).
Thanks though, much appreciated. =)
Re: (Score:3, Insightful)
Um. That one alone is good enough reason to use them.
It's not "important." It's fucking vital.
Re:Oh man. (Score:5, Informative)
One of the big reasons they're popular is security. Without stored procedures, to allow a program (or the programmer who wrote it) access to a given data set, you'd have to grant it SELECT privileges on the table(s) containing that data. With a stored procedure, you just grant it permission to run that procedure, which might only return a subset of the data in the table(s).
Quick example: you have two tables, employees and employee_reviews. The employee table contains a unique ID, the employee's name, their salary, their start date, and other data. The employee_reviews has a foreign key linked to the employee's unique ID, the score for their latest review, and the text of the review. Without using stored procedures, to provide access to a given program to display the employee's name and the text of the review, it would need SELECT access on both tables; that exposes the employee's salary, which (we'll assume for this example) violates company policy.
With a stored procedure, though, you don't have this dilemma. The procedure would just select the appropriate columns and return them. This protects the employee's privacy and abiding by company policies.
Re:Oh man. (Score:5, Informative)
* You can avoid SQL injection (improved security)
* You can use "bind variables" (improved DB performance, improved security - see above)
Stored Procedures:
* You can write a transaction API in the database, and leave all that "ghastly" SQL out of your Java/PHP/languageOfChoice.
* Your data will outlive the cool-hip-language-of-the-day. Keeping that transaction API in the database means you don't have to rewrite all the data access/business rules when you want to change languages for your application.
There are more reasons, but these are the big ones.
Re: (Score:3, Insightful)
As well as the security aspects of using prepared statements, they can also boost performance as the RDBMS doesn't have to keep parsing what is in fact the same statement time and again.
Stored procedures can similarly increase security (when used right) and boost performance, depending on your application and architecture. For example if the DB is running on a different physical box then shifting some of the data processing there can take a load off the app/web server(s). On the other hand that increases th
Re:Oh man. (Score:5, Informative)
You need to keep in mind the difference between a Prepared Statement and a Stored Procedure.
A Stored Procedure is a function stored in the database that you call from the application. There are pros and cons, which I won't go into here. Personally I don't like them but I can see why some people love them.
A Prepared Statement, however, is the most useful tool you can use to protect yourself from SQL injection and every program should use them all the time. If there were a way to get rid of NON-prepared statements I think that'd be the right thing to do but I'd never use a DB that didn't support prepared statements. Let me illustrate the difference (Java-like pseudo-code):
Connection con = getConnection();
Statement stmt = con.createStatement("Select * from users where username = '" + username + "' and password = '" + password + "');
ResultSet rs = stmt.executeQuery();
PreparedStatement pstmt = con.prepareStatement("Select * from users where username = ? and password = ?"); // bind parameters
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();
The PreparedStatement example looks like more code to write, and it is (But you can write utility functions to simplify this if you want).
But there are two advantages:
1. You can re-use the PreparedStatement if you need to run the query more than once with different parameters and this saves processing.
2. The bound parameters are automatically converted internally to parameters so that the SQL doesn't have to parse the parameters themselves. This protects you from SQL injection. If the query above had been used in the application's login module, anyone could log in if they typed in the administrator's username and the password ' OR 1 = 1; --
The reason is that in the first example the password contains SQL code. The SQL parser can't tell the difference between your parameter (the password) and the code because you passed it in as all one string. In the second case the parser sees that there is a variable and binds the value to that variable during execution of the statement. The variable isn't parsed as code.
Someone reading this is probably thinking "Just escape the parameters manually!", which helps, but by always using prepared statements and binding parameters you will never miss a parameter or have to worry about bugs in the escaping routine (PHP's mysql module has had several bugs in those routines).
I can't stress this benefit of prepared statements enough. It is so critical that we don't hire people at my company who don't understand this problem.
Re:Oh man. (Score:5, Insightful)
He seems to have a tendency to represent the worst possible uses of various things as typical usage, and ignore a number of useful things.
For example, he claims that the security uses of stored procedures have been replaced by role based access control. That's incorrect. If you want to audit changes to a table using RBAC then the user not only needs access to the audit table but must always update it themselves. A user could easily cover up changes by simply omitting the audit row, or adding false data. The use of triggers and stored procedures can enforce the audit, and protect it from malicious update.
His claim that triggers are a bad idea because a novice DBA once disabled them on a production database, not realising that they existed, is just silly. The fix is to ensure that people get a clue before they get superuser access! Triggers are a standard part of every big modern database, and a standard part of any training program.
I could go on, but I don't really fancy debunking every silly thing people write about databases...
Re:Oh man. (Score:5, Insightful)
Anywhere you need concurrent access - SQLite is not designed as a high performance database, it's designed as a simple to implement, single file database.
Re: (Score:3, Informative)
Re: (Score:3, Informative)
With a full RDBMS, you just need to lock a single table or (ideally) a few rows in that table. This blocks people doing SELECT * type things, but a lot of other reads can go ahead.
With some RDBMSs, like PostgreSQL, writers do not block readers at all.
So it's like SQLite... (Score:5, Funny)
...reinvented, but with security flaws. Awesome!
Re: (Score:2)
Removing Query Cache? (Score:3, Insightful)
Uh, doesn't removing the query cache run counter to the goals of making it fast?
Re: (Score:3, Informative)
Re: (Score:2)
How exactly do you overuse a query cache? I mean, the more use of the cache, the better, no?
Query caches on my machines ( with an approximate read:write ratio of 20:1 ) get hit about 88% of the time. That's a pretty major speed enhancement, I can tell you that, coming from 3.23 only a few years ago.
Re: (Score:2)
I agree on most of the advice you give, especially in light of the major performance gains that can be realized by writing smarter queries and properly indexing the fields used often in WHERE clauses. With well-written code, properly indexed tables, and good queries, the cache can be unnecessary.
That said, the cache is still quite helpful if you do a lot of traffic that tends to hit the same datasets repeatedly. Blogs, news sites, and "informational" websites come to mind.
For environments that are "write h
Who is the Drizzle? (Score:2)
It just begs the question, Who is the Drizzle? [wikipedia.org]
Re: (Score:2)
Sad, I thought the same thing.
An Eventual Mobile DB server (Score:2)
Re: (Score:3, Informative)
Re: (Score:2)
powered by... (Score:2, Insightful)
LADP? DALP? PADL? (Up shit creek without, presumably...)
Why "Drizzle"? What a damp, depressing, generally wet name....
SQLite? (Score:4, Interesting)
I always thought SQLite did a perfect job of filling in the space between the need for a full blown database and the weight it adds to the server setup. SQLite, as its name suggests, is very lightweight. Where exactly will Drizzle fit in?
Re: (Score:2)
Seems like Drizzle will fit between SQLite and MySQL - small and lightweight, but still using a DBMS.
Re: (Score:2)
Sounds more like a really gimped SQLite (which despite being flat-file based, actually supports lots of useful SQL features like views and transactions (I'm not sure about stored procs).
Okay, but what's different? (Score:2)
Is this just a stripped down MySQL? Or is it a fork that actually bring some interesting new scalability features to the table that are otherwise unimplementable in the current MySQL architecture?
Maybe it's my pre-caffeine morning stupor, but the site seems void of any real details.
Giant leap toward the MySQL dream (Score:5, Funny)
Finally, with even views removed, MySQL can move toward its original dream of having *no* features at all -- *no* separation of interface from implementation, *no* referential integrity, *no* bundling of logic with data to ensure data integrity, *no nothing*!
After a period in the wilderness, during which versions 4 and 5 added hated so-called 'features' and 'functionality', we are now finally returning home.
I look forward to Drizzle version 2 in which pesky 'tables', 'columns' and most of all the fancy and pointless 'select' statement are removed.
Seriously, no *views*?
So, what we actually have here is a thin wrapper around InnoDB. If Sun have turned MySQL primarily into a quick-start wrapper for their own product, that's actually pretty clever.
Re: (Score:3, Informative)
"Assembler" Database... (Score:3, Insightful)
Yep - it sounds like the Assembly Language version of a DB, built for massive speed but requiring very careful programming to avoid crashes.
Sometimes that's just what you need. Sometimes it's exactly the worst possible approach.
I say let the problem requirements decide which to use.
Massive Concurrency? (Score:2)
How is "massive concurrency" and the lack of these features compatible?
What I want is massive concurrency in a full scale, disk based, highly available, highly scalable cluster. Can we get that right, please?
Ob (Score:2)
For Crying Out Loud (Score:5, Insightful)
Proof that when MySQL originally added those materials, they still didn't know why they were important. Some of these aren't even going to slow you down much. Prepared statements can speed you up in some cases.
In this state, it occupies a spot that SQLite does just fine.
Removing all the useful things... (Score:5, Insightful)
I have been developing for the web during the past years and that's why MySQL has been off my list for serious development for some time in favor of Postgresql. It took about a decade to implement basic features like views and foreign keys that even Access 2.0 had in 93. Even sqlite has views for god sake!
Today, even for the most simple projects I cannot think about not using views, stored procedures, and triggers. Not because there is no way to do the job, but because they are important for organization, security, data integrity, etc.
It is like they have no idea that web sites are getting more complicated, and more and more data is involved everyday. I can't think of someone creating a big website with massive concurrency using this. Sounds more like an alternative to Sqlite for very simple tasks.
suggestion to make a great idea even better (Score:3, Funny)
Removing query cache ... (Score:2)
... in a server meant for high concurrency use ... isn't that just shooting yourself in the foot or what?
LP (Score:2)
Hooray for Launchpad!
Re: (Score:2)
What?
I may be replying to a troll, who knows, but I'm interested to know why you're cheering on Launchpad in a thread about MySQL.
Why not use use sqlite then? (Score:4, Insightful)
Old School! (Score:2, Insightful)
I used something like this back in the late '90s. It was called "MySQL 3" and made by a Swedish company named "TcX AB."
What is old is new again.
All for it (Score:5, Interesting)
From my point of view, this is MySQL finally embracing their target market.
These features are great and important, but if you're doing small scale web programming through a framework that uses an ORM, or just very simple SQL, why not slim the program down?
If you want real database features, you probably shouldn't be using MySQL in the first place in my opinion.
People don't understand rational databases. (Score:5, Insightful)
This shows a big problem.
Most people don't understand rational databases. As most colleges CS programs don't even touch SQL except for perhaps as an elective. There is a huge knowledge and a lot of miss use of SQL. They treat JOINs and Views as advanced features while they are actually still very quite basic features. Because of this a lot of people use SQL as a replacement for reading a flat file poorly designed with duplicated data, no indexing etc... etc... etc...
These features that seem to make it seem slow actually improve speed, for a lot of cases. eg. a View that takes 1 second to load could take 2 seconds total for the application to select 5 or 6 different tables then try to use logic to put the information together as the application say php or python are a higher level language then a C/c++ written database server. Also there is the additional coding time as it is much easier to reuse or extend on views then to modify code. So yes using a complex view or stored procedure will slow down the database server however if it doesn't slow down the database server it will often end up slowing down the web server instead. being the Web Server is end user facing its speed espectially for usually fast to load simple pages that are use most often are more important then waiting the little extra time for the database to get back from your complex or large request.
Just goes to show, MySQL people are dolts (Score:5, Informative)
Sorry, it is incomprehensible that this sort of project would be started.
The problem with MySQL, to BEGIN WITH, is that it doesn't support enough SQL or the SQL it does support well enough, to construct efficient queries. What ends up happening is that you move your "data logic" to your application and out of your database. This means the database handles simpler queries, but returns more data. While these simple queries appear faster, they hit more data on the disk and actually cause the system to become I/O bound.
"Real" databases handle the "data logic" close to the data and can estimate the most efficient access to the data needed, thus REDUCING the I/O bottleneck, making more complex queries more efficient than simple queries. CPU time is virtually free with respect to data access.
Every time I see some Java, PHP, or .NET guy go off about MySQL being faster, I just shake my head. Data access is a real science grounded in math and the physical realities of actual computers and storage devices. A "good" database has YEARS of research and unless you are a god (and you are not) it will be very hard for you to beat it.
I've been in the business for about 28 years and I don't understand why software developers have this blind spot about databases. Maybe it is a "not written by me" attitude, but I just don't get it. A "good" database has so many facilities to make your data access efficient and fast as hell. Yet, most developers that I have to direct, simply refuse to learn about databases, specifically SQL. They go out of their way to write elaborate functionality in their language of choice that could have been constructed in a moderately interesting SQL query, that could be wrapped in a function and been more efficient.
The "drizzle" product is just another avoidance of an important semester of computer science that people don't want to understand and will ultimately create even more poorly designed web sites.
Re: (Score:3, Insightful)
But about MySQL: You're Missing The Point.
I would bet my career that I am not, and most of my career is based on NOT missing the point.
The VAST majority of apps deployed every day are NOT critical-mass applications. They are niche applications developed by (or for) Corporate IT Departments They are applications where the potential userbase is 30 people in an accounting department, or 100 people in a call center.
True, but not relevant.
For these applications, a table lock is truly NOT a big deal.
OK.
Do the mat
I'm psychic. (Score:3, Funny)
I foresee many posts on thedailywtf about projects which implement this 'technology'...
I thought MySQL was already stripped down... (Score:3, Funny)
...but then again, I work with Oracle.
I'm OLD and I'm NOT HAPPY (Score:3, Funny)
Re:Love the lack of Windows support ! (Score:5, Funny)
Why would anyone in their right mind set up a Web/SQL platform using MS products?
My name is Maximus Decimus^W^WBill Gates, ex-commander of the Armies of Redmond, General of the MS Legions, loyal servant to the true emperor, Steve Ballmer. Father of a murdered operating system. Husband of a bloated Office Productivity Suite. I shall have my vengeance, in this web or the next.
Re: (Score:2)
It's the lack of Windows support that *particularly* suggests that this is all Sun's strategy for spreading InnoDB... ...with a couple of MySQL devs along for the ride either because they have no choice or because Sun stroked their egos.
Clever Sun. Now all they need is a server platform :D
Re:Love the lack of Windows support ! (Score:5, Interesting)
Why would anyone in their right mind set up a Web/SQL platform using MS products?
You'd be surprised. Our web team recently got on an "I love MS!" kick for some reason. They'd been on Linux for years but a lot of the new/shinny buzzword stuff that they wished to install wanted Active Directory, IIS, and other non-sense. Because the Linux setup didn't lend itself well to installing all that proprietary stuff, and because they convinced themselves (somehow) that the most popular software is always the most insecure anyways (so Apache being the most popular webserver is the most insecure), they switched to Windows + IIS (+MySQL, but SQL Server is being pushed hard) to host the website.
Now I've even had pressure to convert my servers from Linux to Windows where possible to "standardize".
On a more on-topic note though, I'm not sure where this leaves MySQL itself. As a "real" database, it naturally can't compare to SQL Server or Oracle, but even competing in the free segment, PostgreSQL blows it away. Traditionally MySQL was just the toy database for non-critical stuff that you wanted speed out of (and little else). If Drizzle accomplishes that, then I don't see a real place for the mainline MySQL anymore. Drizzle if you want speed, PostgreSQL if you want features/stability, and Oracle if you gots money to spend.
Re:Love the lack of Windows support ! (Score:4, Interesting)
On another note, what's with the lack of hosting services providing PostgreSQL? I would love to use it, at least for some projects, but the fact that it's not available on many hosts makes it quite a hard decision to make. I don't want to pick up another hosting provider, or switch over all my stuff just to use a different database.
Re:Love the lack of Windows support ! (Score:5, Insightful)
Traditionally MySQL was just the toy database for non-critical stuff that you wanted speed out of (and little else). If Drizzle accomplishes that, then I don't see a real place for the mainline MySQL anymore. Drizzle if you want speed, PostgreSQL if you want features/stability, and Oracle if you gots money to spend.
The thing that people always seem to discount when comparing MySQL to PostgreSQL is community mindshare and comfort level. That's why it's called a LAMP stack. If products always won on technical merits, 90% of PCs would run OS/2 instead of Windows.
I'll admit, even though I "know" that PG is supposed to be a better database, anytime I'm starting a new web app I go for MySQL. It's what most of the frameworks and toolkits support first and/or best. It's what more tech support guys at the web hosting companies are familiar with. Plus MySQL has *much* better GUI tools than PG.
If both products were starting from scratch, then yeah maybe PG would have a good shot. But MySQL isn't bad enough, and PG isn't better enough, to make me or others like me feel like switching. I'm not comfortable with the PG toolset because I'm not familiar with it, and I have better things to do with my time than learn it, because for me the perceived potential benefit isn't worth it.
Of course, none of this is to say that Sun won't f*ck up MySQL enough to make me change my mind...
Re:Love the lack of Windows support ! (Score:5, Insightful)
If both products were starting from scratch, then yeah maybe PG would have a good shot. But MySQL isn't bad enough, and PG isn't better enough, to make me or others like me feel like switching.
And that's the problem. Because people don't try it, you don't realize how much better PostgreSQL really is. It really is more "better enough". ;) Until you give it an honest try, you really don't realize what you're missing out on.
Re: (Score:3, Informative)
Can you expand on what you mean? [postgresql.org] Some databases have a more expanded view of what partitioning means but PostgreSQL does support partitioning.
Re: (Score:3, Interesting)
I think what drives everybody crazy are the people using MySQL who act like they're database experts because of it.
Just because it does what most people want, doesn't mean it's a very good example of DBMS software.
Re:Love the lack of Windows support ! (Score:5, Interesting)
I used to do the same thing, reach for MySQL for web applications first simply because there are more hosting companies supporting MySQL for a large number of reasons. I reached for PostgreSQL for intranet or business application where clients could use the features, but maybe could not afford or wanted to spend the money on SQL Server or Oracle. But in the last couple years, I've noticed more hosting companies offering PG support as well. However this changed for me in the past six months when SUN purchased MySQL.
But SUN buying MySQL and then not really having any what I would call "firm plans" on what they were going to do with it was enough for me to look at PostgreSQL as the db of choice for the latest application I was hired to develop. At this point, PG development seems to be more of a known quantity.
I could be wrong and Sun might create something that is absolutely amazing and the best. thing. ever. But until then, I'll stick with what I know till something better comes along.
Re:Love the lack of Windows support ! (Score:5, Insightful)
Why would anyone in their right mind set up a Web/SQL platform using MS products?
Because it is reliable, easy to develop, implement and support?
Re: (Score:2, Insightful)
Seriously? Windows? Reliable? Easy to develop for(Nothing without a decent command line is "easy to develop for in my book) for? Easy to implement? Windows management tools are a joke compared to mac, and Linux has tons of really good tools that kick the crap out of the amalgam of XP tools that are functionally useless, confusing as hell, and ugly as sin to boot. Easy to support? Have you ever tried to repair a registry? Not fun.
Re: (Score:3, Insightful)
Assorted points that indicate that you do not know what you're talking about--
-Why are you installing software that could corrupt the registry on your server machines? Sounds like incompetence to me.
-Do you really mean to say that OS X has better server management controls than Windows? Really? Because if you are, I would like to know what mystery world you live in where "bad" became "good."
-Linux does not have anything that approaches ASP.NET in terms of functionality, ease of programming, and feature comp
Re:Love the lack of Windows support ! (Score:4, Funny)
Because it is reliable, easy to develop, implement and support?
Neah, that can't be it.
Re: (Score:2)
Re: (Score:3, Funny)
Yep. The reason for Windows support in open source software is so that, come hardware crunch time, you can easily slide the OS out from underneath and triple the performance and look like a star. All OSS must support Windows purely so sysadmins can pull this trick.
Re: (Score:2, Insightful)
Get on board MS! Why would anyone in their right mind set up a Web/SQL platform using MS products?
Because, despite your prejudice, there is a business case for it. And business wins over OS zealotry. Besides, it is open source. Someone who is able to exercise common sense will simply port it to Windows.
And stop telling me what platform I should use for my apps, darn it! I don't see your time and money here in front of me doing the work, so stfu and just give me the tools that will get the job done.
OS Zealots are worse than spammers.
Me too (Score:2)
Seriously, when I saw that views were likely to be cut I was going to ignore this product. But a line like that gets me onboard.
Nobody ever got fired for buying Microsoft, but that's only 'cause I don't make hiring decisions. Yet.