When something is slow, why do we always point to the database? A
computer system is so much more than "the application" and "the
database". It's networks, routers, disks, memory, array
controllers, middle-tiers, JDBC Drivers, Operating Systems, and
client versions (which, usually comes round to "It's
Oracle/MySQL, fix it"). Come to think of it, it's pretty amazing
that we get decent performance at all.
Everybody is guilty of it from the novice to the experience
person who knows better. Heck, I am sometimes guilty of it
myself.
I'll get a call, "Application XYZ is slow, is the database
OK?"
"Let me check."
A couple minutes later I indicate everything is fine on my end. I
hear three days later that "XYZ was slow because of the
database". Argh. Next time that person needs help tuning a query
he'll get pointed to the documentation for EXPLAIN PLAN.
Why do we always point to …
[Update 2007/08/17: I just found out, that this entry got overwritten by another one. A corrupted MySQL key file might have caused this.]
As a developer, reading things on the web, you come by Joel Spolsky pretty quickly. Joel is a top-notch essayist with many a story to share from his days on the Microsoft Excel Team and his current company Fog Creek. Now, Joel cares for a good read. Being sick of bad writing he tried to make an example of good software writing. He compiled a list of essays from The Net he deemed worth publishing in a book. Joel introduces each essay with a few comments. The preface to the piece by Michael “Rands” Lopp says, in my words, when you're done with this, you'll be going …
[Read more]The latest download binaries for SolidDB 5.0.41 version is now available. There were no major issues in the compilation, but I had to explicitly remove some of the GIS code due to errors. Note that this compilation is mainly for testing the Solid engine so I have simplified the option to exclude innodb (and most engines) and geometry capabilities, otherwise it is pretty much all there .
A precompiled binary is available for SolidMySQL 5.0.41-0073 for Mac OS X (PPC)
Please email me at info@cybersite.com.au if you have any problems with the binaries running. If you have issues with the storage engine itself, please read the documentation and forums at the SolidDB website.
The latest download binaries for SolidDB 5.0.41 version is now available. There were no major issues in the compilation, but I had to explicitly remove some of the GIS code due to errors. Note that this compilation is mainly for testing the Solid engine so I have simplified the option to exclude innodb (and most engines) and geometry capabilities, otherwise it is pretty much all there .
A precompiled binary is available for SolidMySQL 5.0.41-0073 for Mac OS X (PPC)
Please email me at info@cybersite.com.au if you have any problems with the binaries running. If you have issues with the storage engine itself, please read the documentation and forums at the SolidDB website.
ndb_mgm> all report MemoryUsage
Node 1: Data usage is 11%(632 32K pages of total 5440)
Node 1: Index usage is 22%(578 8K pages of total 2592)
Node 2: Data usage is 61%(3331 32K pages of total 5440)
Node 2: Index usage is 40%(1039 8K pages of total 2592)
ndb_mgm>
Oh, and that’s coming from saved command history.
(as seen when upgrading my cluster here to mysql-5.1.19 ndb-6.2.3 - i.e. MySQL Cluster Carrier Grade Edition - i.e. the -telco tree)
BusinessWeek reports MySQL continuing with their IPO preparations. As a long-time user (about ten years now), and almost as long-time customer (in many companies, obviously currently and most significantly Sulake and Habbo), I wish you guys the best of luck on that road. Don't lose your sight of the ballgame while doing that -- we need you to continue to do better with the product itself while the distractions of investor communications will be great.
I'm sure we can all name a few nuisances in every software product we use, and I certainly have a few of those of the MySQL database, but what I really admire the guys for is their approach to innovating in the sales …
[Read more]
You may have noticed the excitement about MySQL
Proxy. But perhaps you failed to realize what you can do with
it.
Here's a simple tutorial that will guide you through your first
Proxy experience. You will be able to use macros with the
standard mysql client.
Assuming that you are working on the box where your MySQL server
is, do the following:
- Download and unpack MySQL Proxy
- download the query rewriting tutorial and save it as rewrite.lua
- start the proxy
/path/to/sbin/mysql-proxy --proxy-lua-script=rewrite.lua --proxy-profiling - from another terminal, fire the mysql client
mysql -u USERNAME -pPASSWORD -h …
The last two weeks I have been working on a .NET application
using MySQL (3.21) for data storage. The application is basically
a stand-alone PC application where MySql is used to store a lot
of data from test equipment.
This is a bit different from what I spend most of my time on. No
web site with lost of concurrent session, but instead a lot of
installations of the software on local PC's. The also means we
can not tune parameters on a live system, we have to set them
before delivering to customers. Basically this is the main
problem, since we don't know how the system will be run.
Well, if the scenario is different, the most important action was
the same. Changing the field order in one of the indexes to match
the queries better was our number one action, and the impact was
larger than all other actions together. If your indexes are not
righ, you should fix it before anything else.
An upgrade to MySql …
So the other day I stumbled over the slides of the InnoDB talk at this years MySQL users conf and I noticed "gap locking" somewhere in the middle. I have never heard of "gap locking" so I was quite intrigued by what that might be. From what I understand its InnoDB's solution to implementing REPEATABLE READ (though until MySQL 5.1 it seems this feature is also enabled for READ COMMITTED). I guess its a fairly unique approach and from my current understanding to be feasible it expects short running transactions, which luckily are quite common in web applications that most of us care about.
The problem InnoDB is trying to solve here are situations where overlapping transactions cause phantoms. Now the first surprise was when I read that gap locking is implemented by locking the relevant ranges on the index or more particular …
[Read more]Paul Doscher, CEO of JasperSoft, has proved me wrong. Two years ago when I joined as an advisor to JasperSoft, I worried that a company so new to open source (despite the Jasper community on which it was built) would struggle to truly get open source religion.
Paul, however, has adeptly made the shift from CEO to open source CEO, with JasperSoft doing exceptionally well in the market in consequence. In this eighteenth installment of our Open Source CEO Series, I talked with Paul about the transition.
Name, position, and company of executive
Paul Doscher, President and CEO, JasperSoft, an
open source Business Intelligence company.
Year company was founded and year you joined it
JasperSoft was originally founded as Panscopic Software in 2001.
I joined the company in February 2004 and led …