Why Oracle Isn't Part of the OSDL
darthcamaro writes "Some may wonder why OSDL, the self-proclaimed center of gravity for the Linux Universe and employer of Linus Torvalds, does not include Oracle as a member. Well, in a recent interview Wim Coekaerts, Director of Linux Engineering at Oracle has spelled it out in no uncertain terms. From the article: 'The thing that was really kind of revolting is that OSDL goes out and basically says that they represent the Linux community while there is no direct feedback line back to the community.'"
You do know that "digg" isn't a real word, right? :)
The big three database manufacturers all charge pretty much the same for the same feature set. Oracle costs the same are sql server and db/2 within a percent or two.
The second tier database manufacturers (openbase, frontbase, mimer etc) charge significantly less.
Finally there are the open source databases and companies that try to sell them.
Personally I don't see how anybody can charge for databases these except to the largest organizations. The killer feature seems to be real and reliable replication and clustering. Postgres as fine as it is lacks a decent replication schema (slony can not be used over unreliable links). Mysql replicates OK for must common scenarios but the replication does not honor foreign key relationships or transactional integrity.
So if you need clustering and replication then pay otherwise use a free one. If you are going to pay then at least pay for something that does not tie you to an operating system.
evil is as evil does
From the post:
>Have you looked at what oracle costs these days?
Yes, I have. There is this Oracle XE thing which is free as in free beer. It is not open source and limited to 4GB of data (the Oracle internal stuff not adding up to the 4GB limit). But it is free.
The purpose of the OSDL is collaberation and sharing R&D. In a proprietary world, it doesn't make sense to collaberate or to share R&D, you are more profitable forking off a bunch of proprietary extensions to differentiate and fense off features from your competitors. But in the open source community that will get you killed in a hurry, hense OSDL. If companies have R&D to do, they are better off each putting $1 of R&D for a total combined R&D of $2, $3 or $4... then each doing their own independent R&D in parallel which would average out to $1 R&D in value.
In addition, Oracle is not a member of OSDL because their core is not open source, and they have no intention to be.
Carrier Grade means reliable enough that the phone company and other major data carriers would use it to run a switch. That means between 99.999% and 99.99999% uptime, or between 5 about minutes and 30 seconds of total downtime per year.
Sound excessive? Those switches aren't just carrying phone calls to grandma. They carry 911 calls. Realtime FCC flight control data. Multibillion dollar bank transfers. In other words if they fail, planes collide and economies collapse.
This is not my sandwich.
If you are running a web site then you should consider that some of the world busiest sites including /. run on mysql. Apparently there is a way to run websites with mysql and still get high availability.
evil is as evil does
Carrier Grade also includes environment testing.
Fire testing is fun!
Moisture testing, not so much.
http://en.wikipedia.org/wiki/Carrier_Grade_Linux
No, it isn't.
"...now would be a good time to switch over to a "real" database. "Real" is one of those words that Doug ought to add to his list of words. It means "expensive". Many managers seem to have this idea that it is invariably true that you get what you pay for, and that therefore nothing that is available for free can possibly be any good."
l e-decided-to-stay-with-mysql.html
http://googleplanet.blogspot.com/2005/12/how-goog
"The moral of the story is that sometimes, and in particular with free software, you get more than what you pay for."
Rich
> The big three database manufacturers all charge pretty much the same for the same feature set. Oracle costs the same are
> sql server and db/2 within a percent or two.
Not in my experience: db2 is often 50% the cost of Oracle, especially since partitioning is an extra $10k/cpu for oracle and a completely usable form of partitioning is included within the base db2 product.
Right now I've got a multi-terabyte data warehouse running on a db2 license that costs $1500/cpu. If I wanted it directly accessible on the internet then it would run $7500/cpu.
> Personally I don't see how anybody can charge for databases these except to the largest organizations. The killer feature
> seems to be real and reliable replication and clustering.
No, those are just the features that the open source community seems to want to target. But why? They're both typically used for failover, and the commercial products have far better failover solutions (and ones that actually work across geographical separated data centers).
Bi-directional replication is at best a pain in the butt and when used to actually consolidate data its lack of tranformation abilitities stinks.
Clustering can deliver either availability or speed. The oracle solution is geared towards availability, the informaix/db2 solution towards speed (it's like a beowulf architecture, but been around for ten years). The former is ok, but again doesn't work across data centers, the latter is ok - and ideal when you've got 20 TB, but otherwise overkill.
What about partitioning & parallelism? Why use a product like db2 or oracle? How about because they can save you huge dollars on hardware? Take this example: you've got a million rows of data a day for 365 days on a 4-way SMP with 8 gbytes of memory and four disk arrays. Users run a wide variety of queries for reporting & analysis. Assume that your hardware cost $88,000 (list) for high-end models of this type.
If you're using postgresql or mysql many of those queries are going to result in tablescans - in which the database has to read every single one of those 365 million rows. This is because btree indexes don't work if you're selecting more than 1-3% of the data. So, want to see all data for previous month for monthly reports? Fine, but you'll have to wait four minutes to scan all data.
On the other hand, if you're using db2 for example you'll probably want to partition (with MDC - available even in free product) on day. When you query on a month of data DB2 will scan just that one month - 1/12 of the table. Then when it does that it'll run the query in parallel - giving you 4x the performance of the single-threaded queries from mysql & postgresql. Then you've also got fine-grained memory tuning, a wide variety of optimizations and a fast optimizer - capacle of handling complex queries. Ignoring the performance benefits of the latter features (only because difficult to quantity) and just using the first two - you're going to get 48x faster performance from db2 than mysql or postgresql. That query that took 10 minutes on msyql? It'll run in four seconds on db2.
How much would you spend on hardware to try to get that mysql query to run in 4 seconds? Far more than the cost of oracle or db2!
Last time I looked, Oracle XE was free (as in beer).
Now there are plenty of limitations (one CPU only, max of 2 or 4Gb of data) but still sufficient for the type of solutions mySQL has traditionally been used for (and if you get to 2Gb of data you can probably afford standard edition). Plus you can always have multiple instances providing different services. However, if your architecture just requires an RDBMS I would go with something that is just that, rather than a heavy platform solution.
IMO - Oracle XE is actually targeting SQL Server's free edition, not mySQL. I've seen Oracle present on the issue and they don't think they would win any mySQL customers over, as mySQL users have already rejected a free proprietary database. SQL Server, on the other hand, is worrying them. What they said was along the lines of : Someone starts developing an application on SQL Server's free edition - it grows and then they need SQL Server enterprise edition. That's a lost sale for Oracle. But it's also how many apps grow, rather than people starting out with an enterprise app / database requirement.
'Capitalists of the world, unite! Oh
You've pretty much summed it up there. However, there is one other area that Oracle has a pretty clear advantage in and that's the row-level security. Many web sites don't need this type of architecture, but if you're working in the government or health-care spaces, it could be very important.
Oracle's row-level security allows government applications to host data of multiple clearance levels in a single database and be sure that only user's with the correct clearance level sees the data. Similar usage occurs in the health-care with the data regulations on their end (HIPAA).
Sure, there are many other ways to support this in code or off the shelf software, but that won't necessarily stop someone whose determined enough to get around the application code itself.
I am anything but an Oracle fanboy, by the way. I actually can't stand the majority of their products (that is, anything that's not the database), but their DB does provide some seriously needed features if you are dealing with particularly sensitive data. And I don't know of any other database (free or otherwise) that can support that kind of fine-grained access control without coding. (I'm sure someone will correct me, if I'm wrong here)
TOAD is a smart insult for Oracle people. ;-)
That's not how it works.
This is how it works, more or less:
1. SIMPLE (OWN) USE: You can use MySQL *yourself* for whatever purpose without charge. If you make money from it, how nice for you.
2. REDISTRIBUTION: If your app using MySQL is GPL (or another approved licence), then you can redistribute at no charge. If your app isn't GPL (or another approved licence), then you need to buy a licence to distribute MySQL with your app.
See http://www.mysql.com/company/legal/licensing/faq.
Il n'y a pas de Planet B.
Is there any reason you're not also partitioning the PostgreSQL database, other than to make it look bad in the fictional benchmark? Maybe you can do more advanced partitioning with DB2 or Oracle - don't know, haven't used 'em - but PostgreSQL is certainly capable of the trivial example you mentioned.
Dewey, what part of this looks like authorities should be involved?
While that may have been true in telephony if we take that as "land-based voice telephone service over the last century as a whole," in telecom that surely wasn't true a decade ago, and I doubt that's changed since. The industry was already moving toward a packet-based, "data-centric" model when I was working in it in the mid-to-late '90s, and the six nine reliability we were shooting for had nothing to do with dial tones at all -- it had to do with how many packets were being delivered successfully.
Even before "VoIP" became a buzzword, data was surpassing voice traffic; from a delivery standpoint, nearly all telecom traffic now is packetized data at some point in its life. (AFAIK, it's mostly IP, in fact, since frame is fading and ATM never got a lot of traction.)
The page you point to isn't incorrect, per se, but there's a distinction between carrier equipment and "customer premise equipment" (CPE), and a lot of what that article is talking about is CPE concerns like PBXes. What the carriers are using generally does strive for five nines reliability (or better), but even if they're successful at delivering on that, it doesn't mean your office communications lines will have the same reliability.
To bring this back to the original topic, "Carrier Grade Linux" is a drive to have a Linux build that, well, pretty much doesn't go down. The OS in your office PBX failing doesn't mean JoeBob Communications' five-nines guarantee has been violated, no. However, if your PBX can't connect because JBC's Fooblitzky 3000 Gigabit "Carrier-Class" has failed due to its OS, it has been. And, so has their SLA with hundreds of their customers. Then Very Bad Things happen.
And you would do this in Oracle how?
You must come from a Sybase or MS SQL or MySQL background.
It's a matter of design. In Oracle and Postgres, you would not put tables that need to see each other in different databases. You would put them in different schemas. That's without getting into the whole dblink thing, which is available with both Oracle and Postgres.
Before point in time recovery for Sybase and MS SQL, you would also - if you were a good DBA - not put related tables in different databases. But schema support sucked on those two (and continues to, excepting MS SQL 2005, where they've made improvements), so people often did it even though it meant backups weren't truly consistent (again, until PITR recovery was an available feature).
So I think you're comparing apples and oranges. It's not much different than saying Postgres lacks Oracle's varchar2 datatype. By name, yes, but it doesn't lack an equivalent way of doing this.
OSDL does not claim to be anything more than what is listed here:
http://www.osdl.org/about_osdl