If you are used to open source products, chances are you have
gone through this routine more than once. Search for what you
need, find a suitable product, go to its web site, download it,
test it. Then, if you like it, you start using it right away,
otherwise you dump it without a second thought.
The whole process takes less than one minute for small packages.
But anyway, even for larger packages, the total time that this
whole business requires your attention is very low. Even if it
requires a huge download, it can be left unattended and you can
resume the testing task when you feel like it. The bottom line is
that we got used to a quick try-and-use process of open source
products.
Sometimes, though, while performing the above routine, there is a
unexpected obstacle. The product maker requires a free login. You
don't have to pay anything, but you have to go through the
motions of filling a form that asks you everything about …
This is just a hypothesis at this point, but my experience with Lineo, Novell, Alfresco, and the companies I advise is pushing me toward the following:
An open source company's sales model should be "low-touch" until the point that companies are buying your product more for its intrinsic qualities than because it's cheap/open source.I need to figure out a more concise way of saying that, but wanted to get it up on the web so that others could see if it matches up with their experience.
The thought behind that statement is this: When companies are willing to pay parity or a premium for your product, it means they're no longer primarily interested in you because you're open source. Some companies will download your product solely because it's open source. They may initially be interested because they think they want an open source widget, and your product fits that bill. For such interest, a low-touch, inside sales approach is …
[Read more]Saturday was a great time. I really enjoyed giving the session on performance tuning and talking to (so many!) developers and DBAs. My best guess were about 160 or more folks were there, which is a great turnout. Anyway, as I promised in the session, below are the slide decks for the session I gave, along with the longer one from OSCON (entitled "Maximum Velocity MySQL") and the seminar on tag schemas. Cheers!
- Performance Tuning Best Practices
-
Maximum Velocity MySQL
- And the two demo SQL queries...
- selectivity_correlated.sql
- …
Today I spent several hours trying to find a problem in our
application until I found out there was a problem on the MySQL
side. In our setup we have several slave machines that replicate
data from a master server. The slaves are configured with a
series of replicate-do-table directives in the
my.cnf file so that only parts of the schema get
replicated. The remaining tables are modified locally, so to
avoid conflicts they are not updated with data coming from the
master.
We do however have the need to replicate data from the master for
some special-case tables. To solve this we usually have a column
that indicates whether a record was created on a master or a
slave machine and use an appropriate WHERE clause in
all updates. This avoids collisions in concurrent
INSERTs on the master and the slave. The application
knows which of the two records to use.
Due to historical reasons I …
[Read more]If you’re a frequent reader, you might have noticed that I’m on a roll contributing MySQL patches by now… there are many more to come. This is part of the reason that I founded Proven Scaling — to be able to spend my time solving interesting problems and making MySQL better. So what about triggers, stored procedures, and call stacks?
I’ve written a patch that implements three new functions in MySQL 5.01:
- CALLER(level) — Returns the SQL statement in the call stack at level, where 0 is the level containing the call to CALLER() itself (which is nearly useless), and 1 and above are any stored procedure or trigger calls that got us here.
- CALLER_DEPTH() — Returns the current depth of the call stack, not counting 0. …
I've made more improvements to the duplicate index checker. I addressed a MySQL bug Roland Bouman mentioned to me, added more tests to the suite, and made changes so it considers more types of indexes now (HASH, BTREE, SPATIAL). I made no changes to the foreign key checking.
At the recent EuroOSCON 2006 conference in Brussels, I was both a keynoter and a session speaker. I have meanwhile uploaded my presentation slides for my keynote, New Innovation Models, Policy-Making and Lobbying, and for my additional speech, EU Software Patents Reloaded, to this Web site (as PDF files).
Unfortunately, there was some confusion on the part of the organizers, due to which I only had my slides available for the keynote but not for the session on software patents. The organizers had to admit later that I had provided …
[Read more]
Some vulnerabilities have been reported in OpenSSL, which can be
exploited by malicious people to cause a DoS (Denial of Service)
and compromise a vulnerable system. To fix this problem we
released an upgrade package for the Linux version of XAMPP.
This upgrade is primary for those people who a using XAMPP in a
public or semi public environment, like a local network or the
Internet.
You can get the upgrade from the usual place (there you also find an explanation
how to install the upgrade). More information about the
vulnerability: here
Taking into account 4.1 tree is still popular and is used on many
production servers we
decided to make backport of patch to slow-log queries. The patch allows to
specify time of slow queries in microseconds and is very helpful
in a fight with problematic queries. 4.1 Patch is available here (The original
patch was developed by Georg Richter georg at php net)