We have people using just about anything. The issue isn't knowing the platform, it's compile and build-time bugs. We don't build the binaries Debian supplies, so we don't know what bugs they might contain. We do know that we have had to work around a wide range of build bugs on assorted platforms, from compiler glitches to dodgy libraries.
Ask a question about MySQL, and we'll answer it. Ask a question about some really weird behavior that causes us to believe it's a bug in the build and we'll tell you to use the generic build we provide to eliminate the build as a possible cause. Ask a question about how to do x in Debian and we might answer out of charity but it's not covered by the support contract: we don't sell support for the Debian OS.
What we don't do is say that we will rebuild the Debian build of MySQL to fix a problem in its build process - Debian owns and controls that, not MySQL. For the supported platforms we do say that we will fix such issues with our builds for them (but not those of the distro owner). This matters for our contractual obligations and what they do or don't require us to do. It's generally unimportant in answering questions.
The same applies to just about any distro or home build there is. We'll answer the MySQL questions but not deal with broken builds we didn't make ourselves.
The marketing people are writing a more official answer which will tell every Debian and MySQL lover just what they want to hear from MySQL. Managers involved, so it takes a few hours to arrange.
Not a lot of point in modding this up when an official answer will be arriving soon.
We're adding many of those features (fulltext searching, common backup) to a layer above the storage engines, so all engines will eventually have many of them. One particularly important project is a new backup system that makes it easier to handle all of the engines. MySQL Forge has the design documents for the new streaming online backup API and feedback to the team is much appreciated if you see any ways to improve it.
Transaction support needs to be in the storage engine and it's useful to have storage engines that are optimised for non-transactional storage. Whether a particular table needs transaction support is a choice for the application developer, not the database developers, since it's the application developer who knows what the application needs.
Default for MySQL on Linux: low RAM shared use box, minimal RAM use. Default for MySQL on Windows: ask some questions about use and make fair use of the resources of the system. On the Linux box you have to copy a sample configuration file by hand and that step wasn't in the installation instructions.
Net result: use default MySQL and you get a setup that inherently strongly favors Windows, because Windows setup is optimzed while the other isn't.
I don't know whether they made this mistake or not. If they did, as it appears from their results, the comparisons that include a database component are meaningless.
You're right that it is possible to associate ads with accounts. It's also possible to associate purchases with accounts with some ad serving systems, so it's posible that LiveJournal is gathering information abotu everything you buy after clicking on an ad on the site. I don't know whether LiveJournal is doing this - just that systems allow it.
It's already well established that you can produce things like a collector's guide without any authoization from the maker of what you're describing. One leading case involved Beanie Babies and included photographs of them all. It was fair use even though it included photographs of them all because a collectors guide has to include all of the items. To quote from the decision:
"we may say that copying that is complementary to the copyrighted work... is fair use, but copying that is a substitute for the copyrighted work... is not fair use.... A photograph of a Beanie Baby is not a substitute for a Beanie Baby."
It's clearly impossible for any book to replace the WoW gameplay experience. Hence, Blizzard had ample reason to know that their takedown notices were completely invalid and subjected them to the penalties under section 512(f) of the DMCA for sending false notices.
The article is looking at business transformation and evolution, part of a collection on that subject in the same Fortune issue.
MySQL is completely free of charge for all companies, commercial or not, provided the company isn't redistributing MySQL outside the company, notably as part of its own products. Support contracts are per-server (except for the MySQL Cluster engine), not per-seat and are optional (though recommended for any serious business, of course).
Those who do get to pay are those who distribute non-open source applications with MySQL and/or its libraries outside their own company.
If you do want to compare on cost and performance:
MySQL with Network Silver support for four years delivering 712 java operations per second: $5,985
Oracle 10g EE 8 core delivering 15% fewer JOPS, three years maintenance: $531,200.
Source: SPEC jAppServer2004 results and licensing fees from the companies. Please see the SPEC page for full disclosures and system descriptions.
That translates to massive savings coupled with tremendous real-time load capacity, particularly with multiple servers in a modern cost-effective scale-out architecture, and is part of why MySQL is so popular.
He probably read your post. He pointed out this Slashdot discussion to everyone in the company.:)
MySQL's Support group includes:
men and women
heterosexual and homosexual
single and married
with dogs and without dogs
one with a large tat collection, probably the one Monty was referring to
those who read Slashdot and have a 100% article submission acceptance rate and those who don't
those who seem to read emails even while brushing their teeth and those who don't.
those who are nocturnal and those who aren't
people in about a dozen countries
It also includes a couple of Wikipedia (also mentioned in the Fortune story) DBAs with experience designing systems to scale MySQL from a single box to multiple handling a couple of billion queries a day, among others with excellent real-world experience.
One of the things that makes it a good company to work for? I've met Monty in person a few times. On the occasions where we talked a lot about technical issues, he and I disagreed quite strongly at times. I still work for the company. I've done the same with other senior people in the company, communicating messages they were really unhappy to hear, with the same result. Make good arguments and you can dissagree with anyone from the CEO on down and still do well. As Monty said a few days ago:
"Our support people are very pragmatic. They don't recommend things they don't believe in."
You can tell the truth. Even unpleasant truth.
That's also part of the reason for MySQL's success.
MySQL grew from about 180 people to about 300 in the year I've worked for the company. It's still hiring anyone from database gurus like Jim Starkey through sales people, teachers and administrators. If you like open source and overturning established business models, it's a company worth working for. One thing it isn't: a high-paying company. If you don't value working form home and the other attributes of the comapny, you can probably make more money elsewhere. If you think this is just a sales pitch, read what Monty wrote about MySQL Support people two paragraphs back.:) He's right.
Having a contact inside the government isn't something to hide. This is a way to intimidate contacts and discourage entirely legal contact with the press. Perhaps you're forgetting that phone calls have innocent content most of the time and that most relationships have nothing at all wrong in their conduct?
The Nixon Persidency would have preferred that result. It's fairly obvious that this administration considers the press to be their enemy and is willing to use harassment like this both as a weapon and to try to keep the lid on what has been done wrong.
The shim is perfectly free to implement an interface that does not require GPL compliance of the programs communicating with it. The shim itself could even be dedicated to the public domain and impose no license restrictions on users of its interface.
It happens that it's a driver writer producing both the shim interface and the driver using it but there's nothing to prevent a consortium of vendors contracting a third party to write a shim for them and then all writing to that shim interface, for example.
Do feel free to disagree but if you do, remember that you're arguing that what companies like MySQL say people can do - link non-GPL client application with their GPL and other multiply licensed interface client library to their GPL database server - is not possible.
You're confused. GPL and LGPL are redistribution licenses. They are not usage licenses.
You might want to reconsider. If you're right, every user of Linux is infringing copyright becuase they don't have a license to use it. You need a license to use (non-PD) software, not just to distribute it.
Linus explicitly said that some of the interfaces are stable and do not constitute aggregation. Of those interfaces, all of the syscall-exported interfaces and a few kernel-internal interfaces.
Linus' desires are fine but the law relies on facts, not opinion. The simple facts are that those interfaces are published and public and anyone is free to write code using them, whether Linus likes it or not. Linus might respond by changing them in every version of Linux but that would still be public and people could still write to them. Those things could implement a new public interface layer that Linus or someone else didn't want implemented, for example.
But the kernel modules are based on the Linux kernel. They use hidden magical interfaces.
Garbage. They interface with thoroughly public published interfaces in the Linux source code. It's hard to get more thoroughly public than things like Linux function calls and calling conventions, since every verson of them is published and immediately available. Magical would be how to describe Microsoft and other closed source interfaces, not those of Linux.
In some cases, perhaps in the future, the Linux interfaces might do things like change with every build of Linux, but they would remain thoroughly public and published inerfaces that anyone could code to. Might take more driver versions but the coding would continue.
Close. You don't need enough RAM in each machine for the whole database. You can split the database among many machines and the combined set must have at least enough RAM for twice the data size.
The Cluster storage engine wasn't originally intended for really large data sizes but disk storage support is being added because it turned out that many people want to be able to use it to build clusters in this way instead of via replication, so want to handle larger data sizes. If that interests you the 5.1 manual is currently the best description.
YaSSL support is included in the MySQL binary builds for most platforms in 5.0.20a, with support for fewer in the original 5.0.20 release. Release note.
It was designed for fast distributed writes as well For example, for the call records of phone calls and similar session information. It's being used for high rate data capture.
You're right that the Cluster storage engine isn't a database. It's a storage engine and that's what it's supposed to be.
If you have a catastrophic UPS failure you wait for the power to come back up and reload from the disk copy. MySQL Cluster regularly saves the data to disk. Or you use two places that are on different power setups and UPS systems. Or you shut down while you stil have UPS power. Or you switch to your alternate data center and its copy of the cluster.
Cluster was designed for the telecoms case where you need to authenticate your subscriber and verify that they are entitled to make a call now even if they haven't made a call for a month, doing it in the same time window as the other calls. Also to scale out to as many servers as it takes to handle either load or data volume while delivering that predictable real-time performance. In a non-telecoms case, one user is capturing in real time performance data from thousands of vehicles for analysis, exploiting the write rate scaling and reliability.
You can get some of that by allocating data space to RAM on one server but that doesn't get you all of Cluster's properties. Cheaper if you can use the approach you gave, of course, just doesn't do the job for some situations. Same for the Memory engine approach I outlined - doesn't get you all Cluster provides, but is enough for some situations.
Like the other MySQL storage engines, you don't use the Cluster engine if you don't need its properties. It's a pick the right engine for the job situation.
The sort of thing people use the MySQL Cluster storage engine for include session management and telecoms. That data tends to be of modest size, even for a company with many millions of customers. If you don't mind losing the data if there's a power failure longer than your UPS life you can use the Memory (Heap) storage engine instead of Cluster. You can often back that up wth triggers and reload in a startup script.
The RAM only bit will go away once MySQL 5.1 is released. It's currently in early beta. It doesn't mean you lose your data if there's a power failure; the data is backed up to disk regularly.
This is for the MySQL Cluster storage engine, describing how to set up load balancing across two MYSQL servers that serve as front ends to it.
If you want code to set up a MYSQL cluster (cluster of MYSQL servers NOT using the Cluster storage engine) you might do something like looking at the PHP code in MediaWiki, which does application-level load balancing for reads (not writes) and has so far been tested to 25,000 or so queries per second. Or you could use the same director tools and skip using them for writes, implementing failover for the master server getting the writes.
Yes, it counts, as do aggregators, Microsoft's April security update (which means IE with that is prohibited), disabling ActiveX, disabling Javascript, disabling GIF animation and anything else which gets in the way of the ads.
LiveJournals founder commented to a post of mine pointing that out agreeing and saying he'd work on getting it fixed.
The relative sanity of the TOS, which normally only does things like prohibitng supporting the death penalty and similar silliness, will return soon.
The other people with LiveJournal accounts are subject to that term, since they have a journal.
LiveJournal also agrees with the reading you disagree with, having indicated so in comments and announcements about a pending correction to the TOS to deal with the problematic areas. See http://community.livejournal.com/lj_ads/2258.html
The quality of the image has bearing on both the portion of the original work used and the effect on potential market earnings, two of the four primary fair use factors.
Wikipedia may be subject to a different standard because of the transformative nature of the work, which enhances the fair use case. It's also not certain that someone else would use the image in an encyclopedia entry - say they used it in an ad instead, that would significantly impact their fair use situation.
Asking someone to explain their fair use reasoning seems to make sense, since among other things it will help others to judge whether it would be fair use for them.
I'd definitely like to see more image attribtions - even images from regular contributors aren't currently well attributed to their copyright holder. It's simply a good thing. Also likely to help the fair use case (by increasing market awareness of the work of the artist concerned, increasing the likely revenue from their work).
MySQL makes some money from software vendors who bundle non-open source applications with the MySQL databse server. Because those applications aren't open source, they couldn't use a GPL InnoDB storage engine.
MySQL has so far announced addressing this in several ways:
1. MySQL and Oracle have extended their licensing agreement for InnoDB.
2. Jim Starkey's engine.
Also there's anything MySQL may be doing internally.
I won't be surprised to hear other announcements at the Users Conference in a week or two.
We have people using just about anything. The issue isn't knowing the platform, it's compile and build-time bugs. We don't build the binaries Debian supplies, so we don't know what bugs they might contain. We do know that we have had to work around a wide range of build bugs on assorted platforms, from compiler glitches to dodgy libraries.
Ask a question about MySQL, and we'll answer it. Ask a question about some really weird behavior that causes us to believe it's a bug in the build and we'll tell you to use the generic build we provide to eliminate the build as a possible cause. Ask a question about how to do x in Debian and we might answer out of charity but it's not covered by the support contract: we don't sell support for the Debian OS.
What we don't do is say that we will rebuild the Debian build of MySQL to fix a problem in its build process - Debian owns and controls that, not MySQL. For the supported platforms we do say that we will fix such issues with our builds for them (but not those of the distro owner). This matters for our contractual obligations and what they do or don't require us to do. It's generally unimportant in answering questions.
The same applies to just about any distro or home build there is. We'll answer the MySQL questions but not deal with broken builds we didn't make ourselves.
The marketing people are writing a more official answer which will tell every Debian and MySQL lover just what they want to hear from MySQL. Managers involved, so it takes a few hours to arrange.
Not a lot of point in modding this up when an official answer will be arriving soon.
Transaction support needs to be in the storage engine and it's useful to have storage engines that are optimised for non-transactional storage. Whether a particular table needs transaction support is a choice for the application developer, not the database developers, since it's the application developer who knows what the application needs.
James Day, Support Engineer, MySQL AB.
How many terrabytes is "very large"?
Default for MySQL on Linux: low RAM shared use box, minimal RAM use. Default for MySQL on Windows: ask some questions about use and make fair use of the resources of the system. On the Linux box you have to copy a sample configuration file by hand and that step wasn't in the installation instructions.
Net result: use default MySQL and you get a setup that inherently strongly favors Windows, because Windows setup is optimzed while the other isn't.
I don't know whether they made this mistake or not. If they did, as it appears from their results, the comparisons that include a database component are meaningless.
You don't need to be logged in to see the ads.
You're right that it is possible to associate ads with accounts. It's also possible to associate purchases with accounts with some ad serving systems, so it's posible that LiveJournal is gathering information abotu everything you buy after clicking on an ad on the site. I don't know whether LiveJournal is doing this - just that systems allow it.
"we may say that copying that is complementary to the copyrighted work ... is fair use, but copying that is a substitute for the copyrighted work ... is not fair use. ... A photograph of a Beanie Baby is not a substitute for a Beanie Baby."
It's clearly impossible for any book to replace the WoW gameplay experience. Hence, Blizzard had ample reason to know that their takedown notices were completely invalid and subjected them to the penalties under section 512(f) of the DMCA for sending false notices.
MySQL is completely free of charge for all companies, commercial or not, provided the company isn't redistributing MySQL outside the company, notably as part of its own products. Support contracts are per-server (except for the MySQL Cluster engine), not per-seat and are optional (though recommended for any serious business, of course).
Those who do get to pay are those who distribute non-open source applications with MySQL and/or its libraries outside their own company.
If you do want to compare on cost and performance:
Source: SPEC jAppServer2004 results and licensing fees from the companies. Please see the SPEC page for full disclosures and system descriptions.
That translates to massive savings coupled with tremendous real-time load capacity, particularly with multiple servers in a modern cost-effective scale-out architecture, and is part of why MySQL is so popular.
MySQL's Support group includes:
It also includes a couple of Wikipedia (also mentioned in the Fortune story) DBAs with experience designing systems to scale MySQL from a single box to multiple handling a couple of billion queries a day, among others with excellent real-world experience.
One of the things that makes it a good company to work for? I've met Monty in person a few times. On the occasions where we talked a lot about technical issues, he and I disagreed quite strongly at times. I still work for the company. I've done the same with other senior people in the company, communicating messages they were really unhappy to hear, with the same result. Make good arguments and you can dissagree with anyone from the CEO on down and still do well. As Monty said a few days ago: "Our support people are very pragmatic. They don't recommend things they don't believe in." You can tell the truth. Even unpleasant truth.
That's also part of the reason for MySQL's success.
MySQL grew from about 180 people to about 300 in the year I've worked for the company. It's still hiring anyone from database gurus like Jim Starkey through sales people, teachers and administrators. If you like open source and overturning established business models, it's a company worth working for. One thing it isn't: a high-paying company. If you don't value working form home and the other attributes of the comapny, you can probably make more money elsewhere. If you think this is just a sales pitch, read what Monty wrote about MySQL Support people two paragraphs back. :) He's right.
I'm sorry that I misinterpreted your meaning of that sentence. :)
Having a contact inside the government isn't something to hide. This is a way to intimidate contacts and discourage entirely legal contact with the press. Perhaps you're forgetting that phone calls have innocent content most of the time and that most relationships have nothing at all wrong in their conduct?
The Nixon Persidency would have preferred that result. It's fairly obvious that this administration considers the press to be their enemy and is willing to use harassment like this both as a weapon and to try to keep the lid on what has been done wrong.
It happens that it's a driver writer producing both the shim interface and the driver using it but there's nothing to prevent a consortium of vendors contracting a third party to write a shim for them and then all writing to that shim interface, for example.
Do feel free to disagree but if you do, remember that you're arguing that what companies like MySQL say people can do - link non-GPL client application with their GPL and other multiply licensed interface client library to their GPL database server - is not possible.
You might want to reconsider. If you're right, every user of Linux is infringing copyright becuase they don't have a license to use it. You need a license to use (non-PD) software, not just to distribute it.
Linus explicitly said that some of the interfaces are stable and do not constitute aggregation. Of those interfaces, all of the syscall-exported interfaces and a few kernel-internal interfaces.
Linus' desires are fine but the law relies on facts, not opinion. The simple facts are that those interfaces are published and public and anyone is free to write code using them, whether Linus likes it or not. Linus might respond by changing them in every version of Linux but that would still be public and people could still write to them. Those things could implement a new public interface layer that Linus or someone else didn't want implemented, for example.
Garbage. They interface with thoroughly public published interfaces in the Linux source code. It's hard to get more thoroughly public than things like Linux function calls and calling conventions, since every verson of them is published and immediately available. Magical would be how to describe Microsoft and other closed source interfaces, not those of Linux.
In some cases, perhaps in the future, the Linux interfaces might do things like change with every build of Linux, but they would remain thoroughly public and published inerfaces that anyone could code to. Might take more driver versions but the coding would continue.
Close. You don't need enough RAM in each machine for the whole database. You can split the database among many machines and the combined set must have at least enough RAM for twice the data size.
The Cluster storage engine wasn't originally intended for really large data sizes but disk storage support is being added because it turned out that many people want to be able to use it to build clusters in this way instead of via replication, so want to handle larger data sizes. If that interests you the 5.1 manual is currently the best description.
YaSSL support is included in the MySQL binary builds for most platforms in 5.0.20a, with support for fewer in the original 5.0.20 release. Release note.
It was designed for fast distributed writes as well For example, for the call records of phone calls and similar session information. It's being used for high rate data capture.
You're right that the Cluster storage engine isn't a database. It's a storage engine and that's what it's supposed to be.
If you have a catastrophic UPS failure you wait for the power to come back up and reload from the disk copy. MySQL Cluster regularly saves the data to disk. Or you use two places that are on different power setups and UPS systems. Or you shut down while you stil have UPS power. Or you switch to your alternate data center and its copy of the cluster.
Cluster was designed for the telecoms case where you need to authenticate your subscriber and verify that they are entitled to make a call now even if they haven't made a call for a month, doing it in the same time window as the other calls. Also to scale out to as many servers as it takes to handle either load or data volume while delivering that predictable real-time performance. In a non-telecoms case, one user is capturing in real time performance data from thousands of vehicles for analysis, exploiting the write rate scaling and reliability.
You can get some of that by allocating data space to RAM on one server but that doesn't get you all of Cluster's properties. Cheaper if you can use the approach you gave, of course, just doesn't do the job for some situations. Same for the Memory engine approach I outlined - doesn't get you all Cluster provides, but is enough for some situations.
Like the other MySQL storage engines, you don't use the Cluster engine if you don't need its properties. It's a pick the right engine for the job situation.
The sort of thing people use the MySQL Cluster storage engine for include session management and telecoms. That data tends to be of modest size, even for a company with many millions of customers. If you don't mind losing the data if there's a power failure longer than your UPS life you can use the Memory (Heap) storage engine instead of Cluster. You can often back that up wth triggers and reload in a startup script.
The RAM only bit will go away once MySQL 5.1 is released. It's currently in early beta. It doesn't mean you lose your data if there's a power failure; the data is backed up to disk regularly.
This is for the MySQL Cluster storage engine, describing how to set up load balancing across two MYSQL servers that serve as front ends to it.
If you want code to set up a MYSQL cluster (cluster of MYSQL servers NOT using the Cluster storage engine) you might do something like looking at the PHP code in MediaWiki, which does application-level load balancing for reads (not writes) and has so far been tested to 25,000 or so queries per second. Or you could use the same director tools and skip using them for writes, implementing failover for the master server getting the writes.
Yes, it counts, as do aggregators, Microsoft's April security update (which means IE with that is prohibited), disabling ActiveX, disabling Javascript, disabling GIF animation and anything else which gets in the way of the ads.
LiveJournals founder commented to a post of mine pointing that out agreeing and saying he'd work on getting it fixed.
The relative sanity of the TOS, which normally only does things like prohibitng supporting the death penalty and similar silliness, will return soon.
The other people with LiveJournal accounts are subject to that term, since they have a journal.
LiveJournal also agrees with the reading you disagree with, having indicated so in comments and announcements about a pending correction to the TOS to deal with the problematic areas. See http://community.livejournal.com/lj_ads/2258.html
The quality of the image has bearing on both the portion of the original work used and the effect on potential market earnings, two of the four primary fair use factors.
Wikipedia may be subject to a different standard because of the transformative nature of the work, which enhances the fair use case. It's also not certain that someone else would use the image in an encyclopedia entry - say they used it in an ad instead, that would significantly impact their fair use situation.
Asking someone to explain their fair use reasoning seems to make sense, since among other things it will help others to judge whether it would be fair use for them.
I'd definitely like to see more image attribtions - even images from regular contributors aren't currently well attributed to their copyright holder. It's simply a good thing. Also likely to help the fair use case (by increasing market awareness of the work of the artist concerned, increasing the likely revenue from their work).
MySQL makes some money from software vendors who bundle non-open source applications with the MySQL databse server. Because those applications aren't open source, they couldn't use a GPL InnoDB storage engine.
MySQL has so far announced addressing this in several ways:
1. MySQL and Oracle have extended their licensing agreement for InnoDB.
2. Jim Starkey's engine.
Also there's anything MySQL may be doing internally.
I won't be surprised to hear other announcements at the Users Conference in a week or two.