I have been asked twice this week what version of MySQL I would choose for a new project. As with most questions in life the answer is: It Depends? In general I would now recommend for a new project to select 5.
If a MySQL DBA from Pythian goes to Oracle Open World, it would be a shame not to send an Oracle bloke, so there I am — presenting a 90-minute session on the first day of the OOW 08 entitled Under the Hood of Oracle Clusterware.
I gave it during RAC Attack in Chicago and I’m pretty satisfied with how it went, so there should be no significant changes to the presentation. The session is in “User Group Forum,” thanks to RAC SIG and Dan Norris.
When the session was first …
[Read more]
I've stumbled around for awhile searching for a way to observe IO
at the table or file level on a MyISAM engine. Since I'm running
on Solaris 10 I decided to explore dtrace and in my travels I
found some handy scripts that made it easier.
I used iosnoop which can be found here : http://brendangregg.com/dtrace.html#DTraceToolkit
iosnoop can be pointed at a specific pid, in my case the pid of
the mysqld process:
iosnoop -v -p123456
Since the probe fires when IO happens, this will send out quite a
bit of output to STDOUT. So I wrote a perl script to call iosnoop
and summarize Read and write IO Counts and Bytes by the minute. I
still have more testing and refinements but it seems to work
correctly. I have probably over-scaled the bytes by converting to
Mbytes.
Here is a sample output:
…
I've stumbled around for awhile searching for a way to observe IO
at the table or file level on a MyISAM engine. Since I'm running
on Solaris 10 I decided to explore dtrace and in my travels I
found some handy scripts that made it easier.
I used iosnoop which can be found here : http://brendangregg.com/dtrace.html#DTraceToolkit
iosnoop can be pointed at a specific pid, in my case the pid of
the mysqld process:
iosnoop -v -p123456
Since the probe fires when IO happens, this will send out quite a
bit of output to STDOUT. So I wrote a perl script to call iosnoop
and summarize Read and write IO Counts and Bytes by the minute. I
still have more testing and refinements but it seems to work
correctly. I have probably over-scaled the bytes by converting to
Mbytes.
Here is a sample output:
…
I previously reported about my joy with MySQL-Proxy and a simple SQL-Injection detection based on a simple heuristic.
Today I present the more interesting approach that I promised to publish after my webinar yesterday. This approach is based on the idea that SQL queries issued by an application always have a certain structure. This structure can be learned and remembered by MySQL-Proxy. Any SQL query that has a different structure can then be considered an attack.
Training Mode
The first Lua script learn_sql_queries.lua uses MySQL-Proxy’s read_query hook to catch COM_INIT_DB and COM_QUERY packets. COM_INIT_DB packets are issued when the database is …
[Read more]I was surprised to read today that Sun just released SocialSite, an open-source social network server similar to Ringside Networks. Per Patrick Chanezon's blog: "Socialsite is an open source (CDDL/GPL) social network server based on Apache Shindig (Java) that implements the database and User Interface for a full ...
I have gotten a few questions around my 7/29 blog posting on agent vs client-side
products and wanted to make it clear that our decision to go with
a distributed agent architecture was a strategic decision that
has paved the way for us to deliver on our overall "pain point"
addressing roadmap. True, building a client-side app would have
meant a faster go-to-market delivery, but that path would have
imposed serious limitations on our ability to address and
alleviate common pain points around the use and scaling of apps
on MySQL.
So what does an agent really do for us from a strategic
standpoint? Without revealing too many details (well, these
things have already been openly discussed with customers and
presented in our MySQL UC 2008 Product roadmap session), our
agent-based architecture allows us to provide:
…
Continuing our earlier advice to take backups frequently,
and secure them offsite - thought we’d highlight a few recent
administrator related things added to ZCS that you might not have
noticed.
Network Edition Backup
Enhancements
Speaking of backups, there are some new ways to take them in ZCS 5.0.x. With ever larger quota usage, full backups can often take a while to run, and even incrementals which process the redologs may still be one heck of a job when you’re talking thousands or millions of accounts. Having trouble completing that entire full backup during off-hours? Enter the hybrid …
[Read more]Could the ruling open the door to open source companies joining the anti-piracy Business Software Alliance? READ MORE
I started playing around with protobuf when doing some stuff in Drizzle (more about that later), and since the examples where using IOStream, the table reader and writer that Brian wrote is using IOStreams. Now, IOStreams is pretty powerful, but it can be a pain to use, so of course I start tossing together some utilities to make it easier to work with.
Being a serious Perl addict since 20 years, I of course start
missing a lot of nice functions for manipulating strings, and the
most immediate one is join, so I wrote a C++ IOStream manipulator to
join the elements of an arbitrary sequence and output them to an
std::ostream.
In this case, since the I/O Manipulator takes arguments, it has to be written as a class. Recall that …
[Read more]