Slashdot Log In
MySQL to Adopt Solid Storage Engine
Posted by
Zonk
on Sun Apr 16, 2006 09:19 PM
from the solid-gone-baby dept.
from the solid-gone-baby dept.
hmart writes "As seen on ZDNet's Open Source Blog MySQL is taking another step to defend from Oracle's recent acquisitions of InnoBase and Sleepycat. From the article: 'MySQL responds by getting Solid Information Technology, a proprietary database vendor, to take its solidDB Storage Engine for MySQL open source, under the GPL, starting in June.'"
This discussion has been archived.
No new comments can be posted.
MySQL to Adopt Solid Storage Engine
|
Log In/Create an Account
| Top
| 267 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
This is good news (Score:5, Interesting)
(http://www.intelliadmin.com/downloads.htm)
Re:This is good news (Score:5, Insightful)
Re:This is good news (Score:5, Insightful)
(http://tpno-co.org/)
So oracle does not need to keep them. They just need to expose them to even bits of their db source, and they have tainted the coder.
Devious, if you ask me. I am impressed. Or I would be if it didn't damage my own interests.
Re:This is good news (Score:4, Funny)
Hold on a second, I'm getting a message on my RedBerry.
Re:This is good news (Score:5, Informative)
(http://photo.net/photos/swillden | Last Journal: Wednesday July 19 2006, @01:42PM)
The problem being once these important OSS coders see oracle source, they are tainted. Any further OSS contributions will have to be heavily scrutinized for IP violations.
Yes and no.
Strictly speaking, there is no such thing as a "tainted" developer. There are three different forms of IP law that Oracle might try to use to control what the programmers do after they leave the company:
So, if the developer has access to a good lawyer, it seems like Oracle really can't do much to prevent future work. But, of course, a wealthy corporation can afford legal battles much better than an indiviudal can, and any or all of the above would lend enough credibility to a lawsuit by Oracle that the coder might end up having to fight it in court... which can be really expensive even if you win. Then again, this is exactly the sort of case where the EFF and others would probably be willing to step in and help out.
Finally, if Oracle failed to terrorize the devs into meekly going along, Oracle probably wouldn't want to go to court very much. Not only is it bad PR, but it does cost a lot of money, even if you're a corporation with deep pockets. There has to be a reasonable expectation that the cost is worth the result, which seems pretty unlikely. Threatening a lawsuit you probably can't win doesn't cost much, but actually pursuing one does.
So oracle does not need to keep them. They just need to expose them to even bits of their db source, and they have tainted the coder.
No, I really don't think that's enough. What they really need to do is to terrify the coder with weighty, frightening non-disclosure agreements and non-compete agreements. If they do too much of that, though, they won't get the hire in the first place.
Of course, IANAL. But I have read the relevant law, and have some familiarity with the applicable precedents, thanks to other cases.
I really hope that the open source developers who've gone to work for Oracle have run their employments contracts past attorneys of their own.
Re:This is good news (Score:5, Insightful)
I don't want to offend MySQL devs, but, eh, here goes.
MyISAM isn't so hot. It doesn't support transactions... it won't enforce your referential integrity constraints... it doesn't work like, probably, it should. It indexes things so you can look them up quickly with SQL queries.
InnoDB on the other hand, sticks all of the features into MySQL that it needs in order to be considered a serious database engine.
When Oracle bought InnoDB, they bought all of the stuff that makes MySQL actually useful. In order to stay competitive, MySQL will need a new storage engine... or perhaps keep updating the GPL'd version of InnoDB. The response has been to get a new commerical engine that works out of the box open sourced, so they can keep the edge that they need in order to stay in the game.
Re:This is good news (Score:5, Informative)
(http://www.mysql.com/ | Last Journal: Wednesday December 27 2006, @03:53PM)
Oh, I doubt that there is a single MySQL developer who would be offended. We are not so aloof that we cannot take criticism - actually we welcome constructive criticism, it lets us know what needs to be improved.
Perhaps we have been a bit lazy: Assuming that the partnership with Innobase would continue forever and that MySQL would eventually acquire Innobase.
MySQL has a few advantages - it is a small company which can react quickly to unexpected changes. We learn. Jim Starkey has joined us - he is a veteran of relational database designs and a delight to work with - and we do plan to have our own storage engines with transactional goodness, we already have Cluster but we need something more lightweight usuable by everyone.
In the meanwhile, it is good to take advantage of the MySQL architecture and make partnerships which can make use of one of our strengths. Having 3rd party storage engines is something which has been quietly encouraged for many years and is now something I think will see more publicity.
(disclaimer: opinions are my own and not of my employer nor anyone else)
Re:This is good news (Score:5, Interesting)
(http://www.mysql.com/ | Last Journal: Wednesday December 27 2006, @03:53PM)
I think it would be fun to make MySQL as versatile as possible with a huge choice of plug-ins available. Sort of like what Linux is for operating systems but for databases instead. MySQL is platform agnostic and want it to perform well everywhere, including Microsoft Windows and even... SCO (hey, its not their customer's fault).
If there is anyone out there which has some kind of data storage/retreval system, I am sure that MySQL would be happy to assist and encourage them to make it into a storage engine for MySQL. If they want to GPL their code and join the open-source party, I am sure MySQL would be happy to help in that too.
Re:This is good news (Score:5, Funny)
Re:This is good news (Score:5, Funny)
SCO has customers?
No...didn't you see, he said "it's not their customer's fault."
customer's
...is a singular-possessive.
customers'
...is the plural form.
SCO doesn't have customers. They have a customer.
Re:This is good news (Score:5, Insightful)
(http://spiritraveller.blogspot.com/)
I don't think that is not an option. MySQL AB has a dual-licensing scheme for MySQL. They need another company (like Solid) from whom they can dual license an engine for use with MySQL.
Now... if they wanted to go completely GPL and quit selling MySQL for use in proprietary applications, they could keep updating the GPL version of InnoDB and keep distributing it. But then they would lose the revenue that comes from the proprietary-licensed versions of their product... and there goes their business model.
Re:This is good news (Score:5, Interesting)
(http://yro.slashdot.org/~drDugan/)
Re:This is good news (Score:5, Insightful)
Yes that's why no large corporation in the world uses mysql. Hey wait a minute that's a complete lie isn't it? There are lots of fortune 500 corporations using mysql aren't there. Never mind.
"They want top notch support, perhaps even an Oracle team to be on-site for a couple of months during deployment, they want someone to blame and to complain to when things don't work right. MySQL provides support but it is just not going to be the same quality."
Spoken like somebody who has never bought support from oracle or mysql. If you pay mysql half of what you pay oracle for support they will give you the phone number of a developer. How is that for support?
Mysql offers some of the best support of any database vendor. Go ask any of their big costomers. Then compare what they say to the customers of oracle.
I don't mean to be a cheerleader for mysql but I really really get tired of the same old "you can't get support or blame somebody" FUD about open source.
It's over, strike that item from your big book of FUD and find something else to complain about mkay?
Re:This is good news (Score:5, Insightful)
> postgres. Clustering is another by the way.
No, replication isn't that big of a deal to most enterprise databases. About the only people who really think it's important seem to be MySQL content-management users that want failover. That's fine, but enterprise data management is more likely to focus on hot or cold standby solutions for failover, or ETL for copying to a reporting database.
As a side-note, I'm currently yanking a bunch of replication out of a db2 architecture that some fool put in. It makes life much more complicated when you've got multiple replication interfaces all over the place. It'll be replaced by Federation - which simply redirects queries against original database, instead of copies data.
And clustering? Although a very small number of Oracle users are using their product for clustering at least there they can handle more than a few gbytes of data. The solution that MySQL purchased a few years ago is limited to the amount of data that will fit into memory. This is pretty much a useless feature for most enterprise projects. Obviously any that have tens of gbytes of data or any that get frequent writes.
The one thing that MySQL has over Postgresql is third-party support: due to its huge lead over postgresql 4+ years ago most developers based their apps on it. So, now it's ubiquitous. That's a genuine advantage. No real technical advantages that I can imagine however.
Note to self: (Score:5, Funny)
-Larry Ellison
Here's an idea.. . Develop your own! (Score:1)
Re:Here's an idea.. . Develop your own! (Score:5, Insightful)
"Choices" is positive spin. Some might say that MySQL is all about sacrifices. Here are some examples:
(1) "MySQL has many applications written for it"
* Not if you enable strict mode, or if you use storage engines that don't support the features you need.
(2) "MySQL is optionally SQL compliant with strict mode"
* Only if you want to forego 99% of the existing MySQL applications, and start fresh.
(3) "MySQL has transactions"
* Not in MyISAM, which means no full text indexing.
(4) "MySQL is free"
* Only if your application which links against the client library is also GPL.
(5) "MySQL is fast"
* Only if you use MyISAM, which means no transactions or many other features that aren't available in MyISAM.
I could go on. Anyone can talk about how MySQL has a feature, but you have to make sacrifices for those features. And I think many of those are bad, unnecessary sacrifices. MySQL implements features not to give their users choice, but to give MySQL AB a marketing advantage. Their advocates and salespeople will always say "yes" to all of those features above, but it's not until later that the customer realizes that they can't use the features together.
Re:Here's an idea.. . Develop your own! (Score:5, Informative)
(http://www.mysql.com/ | Last Journal: Wednesday December 27 2006, @03:53PM)
If your application is designed for MySQL specificially without strict mode, then strict mode is not for you. It is more useful to people porting their applications from some other product to MySQL than to the existing MySQL user base.
Ditto above. Perhaps the existing MySQL user wants to go to strict mode in order to support databases *other* than MySQL. Have you concidered that?
MyISAM was never designed with transactions in mind. It performs its intended function excellently. Not all data is useful to keep in some kind of transaction context - take for example a table mapping UPC codes to product names and descriptions: it will never need to change in a transaction so having transactional overhead would be wasteful.
Myth used to scare people away from opensource GPL code.
Some people would disagree with that statement. Quite a lot of people have found that for their needs, MySQL is lighter and faster (or at least, as fast as the big name products) even when never using MyISAM tables.
There will be people whose needs are best served with products from Oracle, IBM, Microsoft, Sybase... I am sure that no one in MySQL claims that it is the only solution to all problems: MySQL is a young database product which is actively being developed so it will improve.
Re:Here's an idea.. . Develop your own! (Score:5, Insightful)
(http://www.tgwbd.org/)
This is typical LAMP programmer thinking. What do I need transactions and data integrity in a database for? I'll just code the checks into my application. I prefer instead to put checks both in the database and in the application.
This is no myth. MySQL's client libraries are definitely GPL. If you link to them you must abide by the terms of the GPL. Alternatively, you can purchase a license from MySQL AB. MySQL AB spins this up so much saying that they are open source but what they really mean is that they are open so long as you are open.
I'll stick with PostgreSQL. Unlike MySQL, PostgreSQL is a serious alternative to Oracle or MS SQL. It is also BSD licensed and thus there are zero restrictions on its usage within a commercial product and there is no need to purchase a commercial license.
MySQL is okay for the LAMP mentality but when you start getting in to ORM/ERM (Object/Entity relational mapping) with packages like Rails's Active Record or WebObjects's Enterprise Objects you need a more serious database. As another poster has pointed out in this thread I give it only a few more years before mainstream open source web development moves into the ORM camp.
Re:Here's an idea.. . Develop your own! (Score:4, Informative)
> you to seriously concider it. Bear in mind that MySQL does not have an infinite amount of developers
> so delivering on all of them overnight would not happen.
Now that MySQL has implemented most of the standard database features, the next step is to harden them and the rest of the codebase. At this point I'm not interested so much in features as I am high-quality & robust implementations.
- this means that if I add a column to a table I won't have to spend hours copying the data back & forth under the covers
- it means no more gotchas - with broken date handling, exception handling, type conversions, value truncations, etc.
- it means that individuals clients shouldn't be able to turn off strict mode.
- it means that non-strict mode should be deprecated - and gone in a few years
- it means that the optimizer should be able to handle very complex joins and almost always come back with the very best possible query
Now, *after* the above have been addressed there are some additional features to add. These are mostly oriented towards reporting functionality, where I think mysql is pretty weak right now. My list would include:
- oracle-style range partitioning: this means that you can using mysql for large reporting & warehousing applications. We're not talking union-all-views here, but the ability to attach & detach partitions, and disregard partitions of data from queries. I often see 10x performance gains from partitioning over indexing in this kind of app.
- query parallelism: need to be able to split reporting query work across CPUs. These large queries, often scanning a 100,000+ rows can typically get linear performance improvements in my experience from query parallelism.
- automatic query rewrite: need to be able to automatically rewrite queries in order to hit summary tables if they exist. This is critical for some types of powerful reporting tools, or reporting performance boosts for commercial apps.
- materialized views: simple method to manage summary tables. Not critical since this can be developed in other ways, but this has become the preferred way to manage summary tables.
- federation: the ability to redirect a query against a table to another database to be resolved. This allows you to define reference tables on one database, then share them across many.
- query failover: the ability for the mysql client to automatically reroute a query to a failover server. This allows you to provide failover without any code changes at the application layer.
that's all i've got time to write, but should cover most of what I'd look for first.
it's about time (Score:3, Funny)
More Info? (Score:4, Interesting)
(http://www.infiniteinjury.org/)
For that matter can anyone point me somewhere which describes the deliniation of responsibilities between generic MySQL code and the storage engines? In particular is MySQL just an SQL query parser/optimizer stuck on top of storage engines?
Something I blindly stumbled over... (Score:4, Informative)
(http://www.nojailforpot.com/)
Solid has good stuff! (Score:4, Informative)
(http://www.suspectclass.com/~sgifford/)
So...I have no idea what this means (Score:1)
Hooray (Score:4, Informative)
The entire Database market is heading towards OSS.
Full text support (Score:1)
They did it for the headlines (Score:2)
Hear that sound? (Score:2)
(http://slashdot.org/)
I hope they've got a perpetual licensing agreement (Score:4, Insightful)
(http://print-bingo.com/ | Last Journal: Monday August 04 2003, @12:43AM)
I hope the MySQL has gotten something in paper that will make sure that this is the last time that users have to migrate. Sure, they can claim that a migration will be seamless, but who's going to be foolhardy enough to risk their data on a transition like this without significant testing?
Actually, now that I think about it, I don't know if it is reasonable to expect users to switch "just" so that MySQL will be able to sell commercial licenses to their drivers and what not. The switch to InnoDB took years (and it's probably still ongoing for many users), but in return, those who switched got a lot of new features that made it worthwhile (probably). This time around, there is not much of an incentive for end users -- assuming that the feature sets will be roughly comparable between InnoDB and Solid.
Re:I hope they've got a perpetual licensing agreem (Score:4, Informative)
(http://www.mysql.com/ | Last Journal: Wednesday December 27 2006, @03:53PM)
Of course, MySQL can encourage people to use a particular product choice based upon future roadmaps but I don't imagine that InnoDB support will ever be axed.
(opinions are my own, not of my employer nor anyone else)
Question (Score:2)
I looked at the license for BerkleyDB and didn't notice anything that would prevent forking. Am I wrong?
http://www.sleepycat.com/company/oslicense.html [sleepycat.com]
Alright now I'm confused. (Score:2)
(http://slashdot.org/~Spy+der+Mann/journal/ | Last Journal: Saturday November 10, @01:50AM)
Why did they do this? (Score:2)
Good, but how good not known yet (Score:5, Insightful)
I'm just worried about this quote from Solid's V.P. of Marketing: It sounds like MySQL will use only a subset of the Solid product. So how good this news is will depend on how complete a subset of its product Solid opens.
Also reported... (Score:2, Funny)
postgres (Score:2, Interesting)
Adopt? No! (Score:2, Informative)
Solid is just offering YA storage engine that works with MySQL, and they happen to be GPLing it. This does -not- mean MySQL is adopting anything from Solid.
Slashdot editors: please read TFA once in a while and please stop writing misleading headlines.
Solid(TM) and the Oracle connection (Score:3, Insightful)
(http://www.how-to-make-a-bomb.eu/ | Last Journal: Monday April 17 2006, @09:30AM)
Says here [sql-info.de] that the marketing VP quoted in TFA, Paola Lubet, used to work for Oracle.
Now I wouldn't want to read anything into that, I'm guessing there's a lot of rotation between database companies, and it's a private company [solidtech.com] held by a bevvy of investors, so Larry Ellision presumably won't be able to drop it in his shopping basket when he pops out for some milk. On the other hand the investors sound like venture capitalists (I may be wrong, corporate finance is not my field) who might be interested in any short-term returns on their investment that a large, cash-rich company could offer.
Good (Score:2, Informative)
(http://www.metapenguin.org/)
MySQL tries to play catch up ... (Score:4, Insightful)
And it's painful to go back when you've learned to do proper logic separation using stored procedures, triggers, views and transactions, things that way too many projects duplicate in the PHP or Ruby front-end, relegating the DB to the "simple" role of being a storage backend (even Ruby on Rails forces you to think that way via the MVC architecture).
For that purpose, use SQLite -- it does what you need, is very high performance (on-disk, non-concurrent access -- can't get any faster than that). For real solid DB work, with garanteed integrity, just the way RDBMS were meant to be, go for PgSQL.
it is solid! (Score:3, Informative)
(http://sadplanet.blogspot.com/)
HPDP itself is as stable as an italian taxi driver stuck behind two priests in a skoda, but thank GOD, the database is rock solid and doesn't corrupt when HPDP goes belly up again.
so all in all, a good pick of mysql!
mysql needs a postgresql storage plug-in (Score:2)
Looks to me that mysql only has two options:
1. do what *every* other database vendor does - and build their own backend
2. use postgresql as a storage plug-in
Of the above option #1 is obviously the most attractive in the long-term, but option #2 has quite a few benefits:
* faster to implement than option #1
* postgresql can't be bought by Oracle
* immediately benefit from the most mature open source database technology
* stop any drain of mysql users to postgresql
I have no idea how the licensing would work, but would love to see postgresql & mysql have a positive relationship in which they could each benefit from each other's technology, market, etc.
Article is wrong about location (Score:1)
(http://mijav.dk/)
None (Score:5, Informative)
Re:well, not entirely (Score:4, Informative)
If you change storage engines, you certainly need to examine all non-trivial MySQL code.
With MySQL, it's often hard to get all the features you want at one time. In the case of full text indexes, you can't also have transactions because only InnoDB has transactions.
Re:and how many.... (Score:1)
Re:LARP (Score:5, Funny)
That's like saying "i have been eating dogshit for 5 years. After 1 month with steak & eggs, i'm not going back.". Hardly an impressive statement at all.
Re:LARP (Score:2, Insightful)
(Last Journal: Thursday March 30 2006, @04:52AM)
I'll try... (Score:2)
That said, this is no trivial feat; the raw BerkeleyDB is not very user friendly and I wouldn't even know how to optimize access to it (I've used it for a couple of small projects that needed a little more than flat files, but not a full blown db). What MySQL has done is provide the standard SQL language and some extra code to optimize to the best of their ability the retrieval and storage of records from these binary files.
It's also these back ends where MySQL gets things like ACID; it's up to the back end to make sure that the data can be written completely in one shot, and if not, somehow signal the MySQL part to activate a rollback (I'm presuming here...I'm not certain this is how it works in MySQL but it would make sense insofar as they're backend agnostic).
As one who has foolishly written a database back-end system, I can attest that it is *not* trivial and while Oracle's purchases may just be predatory, they did get some good technology in the process (though I'm guessing neither holds a candle to Oracle's) and I can see why they'd want to throw their hats into another company's ring instead of taking on the task themselves.
Re:LARP (Score:1)
(http://www.whenpenguinsattack.com/ | Last Journal: Saturday February 22 2003, @10:59AM)
I was merely stating that mysql has more support in the IT field (which is true).