One of the concepts of clustering, is that the secondary node may
need to stonith the primary node in a forced take over in
order to make it give up shared resources. This works great on
more expensive hardware that has a management interface like
IPMI, but my 'toys' budget is a little more
limited.
It's equally possible to just cut the node off at it's power
source. Does anyone know of a (cheap) power strip with a
serial[1]/usb[1]/network interface where I can send signals to
cut off individual ports power?
If I can't switch off individual power ports, I will need to buy
two and have the nodes each manage the opposite node's
power.
[1] If it's serial or USB I'll need to use a third node as a
proxy to the device, which is annoying, but quite possible.
Hmm, dunno if anyone else spotted this interesting tidbit... the
new MySQL Certification study guide, the one on MySQL Cluster, is
made available via Lulu: http://www.lulu.com/content/1297960
MySQL AB used to have a deal with Pearson, branded as MySQL
Press.
Lulu.com on the other hand is a self-publishing system.
I've seen other Lulu books, the printing and binding is quite
excellent. No worries there.
But what this means is that apparently the Pearson deal ended
somehow and MySQL AB hasn't got another publisher. I find that a
bit curious. The problem is of course that now you're not likely
to see this study guide appear in any shops. Online is fine, but
shop-based distribution doesn't hurt, particularly with the
"competition" databases having plenty of related books on the
shelf. Diddums for Amazon & co, it's now just not there. So
people …
Inside of libmemcachd (aka the library behind the memcache engine for MySQL) I have a big stack of
hash algorithms you can pick to use. libmemcached
splits hashing into two concepts.
Hash used for key distribution
Algorithm used for distribution
For the hashing there is a default method that I use. It is
pretty generic in nature. There are two other primary methods are
MD5 and Hsieh.
So what does the performance look like for each of these?
Default: Testing generate_data 14.183 Testing get_read 11.144 Testing mget_read 1.992 Testing mget_read_result …[Read more]
At MySQL I'm writing several different command-line applications from the MEMo Agent to the MySQL Proxy. They all have a common set of requirement:
- command-line options
- config-files (mapping cmd-line options to config-files)
- logfile handling (syslog, SIGHUP, ...)
- a mainloop (SIGINT, CtrlHandler, ...)
- daemonizing (daemonize, services, ...)
- plugin handling
In the proxy svn you see all this a the chassis of
the proxy.
At the side it has a MySQL-Server and a MySQL-Client (we usually call it the proxy). Currently this is implemented as libmysql-proxy which is then used by the proxy plugin to implement the proxy.
By splitting up the design into 3 different layers:
- chassis
- low-level protocol + protocol states
- proxy implementation as plugin
we can
- use the …
I love the way partitioning works in MySQL. I remember in the
past how many projects I implemented using application logic to
parallelize I/O. Partitioning makes this seamless now. But it's
not without its share of problems and workarounds. So I compiled
my own wishlist that hopefully might make it into a future
version of MySQL.
1. Partition level table locking. Partitions should be treated
like tables and locked individually rather than the who table and
all of its partitions.
2. Ability to add partitions from existing tables. This is very
ueful, especially when trying to perform bulk maintainance
operations.
3. Ability to convert a partition to a table.
4. Be able to mix and match storage engines for partitions and
subpartitions. How cool would it be to have an archive partition
for older data reside using ARCHIVE tables while the remaining
partitions are InnoDB or MyISAM.
5. More usuable datatypes for …
Just to say I’ve bought the book as soon as it was available on lulu.com.
I was waiting for it from april.
While researching partitioning performance (expect an article
about this topic soon) I come across the news that the Falcon
team has released a Falcon Feature Preview with the latest
implementation.
The test I was running was based on 9 server instances , using
different combinations of MyISAM, InnoDB, and Archive, with and
without partitions.
Since I was at it, I quickly added three instances of MySQL 6.0.4
with Falcon (MySQL Sandbox is really handy in these cases)
and added Falcon to the test bench.
As I expected, partitioned Falcon is not particularly impressive,
but there was a serendipitous result. In addition to large data
warehouse oriented queries, the test fires also 180 OLTP queries,
with warm indexes, i.e. after the indexes have been …
At MySQL I'm writing several different command-line applications from the MEMo Agent to the MySQL Proxy. They all have a common set of requirement:
- command-line options
- config-files (mapping cmd-line options to config-files)
- logfile handling (syslog, SIGHUP, ...)
- a mainloop (SIGINT, CtrlHandler, ...)
- daemonizing (daemonize, services, ...)
- plugin handling
In the proxy svn you see all this a the chassis of
the proxy.
At the side it has a MySQL-Server and a MySQL-Client (we usually call it the proxy). Currently this is implemented as libmysql-proxy which is then used by the proxy plugin to implement the proxy.
By splitting up the design into 3 different layers:
- chassis
- low-level protocol + protocol states
- proxy implementation as plugin
we can
- use the …
So I was thinking about some of my ideas that I had already
previously written in my blog and I was also doing research on
some things. Considering that I only recently started database
developing, there are some things that I have some slight
understanding in. There are also things that I dont have any clue
about. But I think that that plays to my advantage when coming up
with new idea, since I am not forced into any mindset. Recently a
lot of my thoughts and research clicked together and I had a
really good idea that I'd like to share with you. I think its
somewhat revolutionary and yet simple at the same time.
Simplified Business Rules Engine.
I'd like to start off by first getting your appetite's
wet. I am going to say that this idea includes the following buzz
phrases:
Business Rule Engine (duh), Expert System, Business Intelligence
and Collective Intelligence.
Ok, now that I …
Last few days one of our customers (one of the largest Ruby on Rails sites on the Net) was struggling to solve some really strange problem - once upon a time they were getting an error from ActiveRecord on their site:
|
1 |
(ActiveRecord::StatementInvalid) "Mysql::Error: Lock wait timeout exceeded; try restarting transaction: UPDATE some_table..... |
They have innodb_lock_wait_timeout set to 20 seconds. After a few hours of looking for strange transactions we were decided to create s script to dump SHOW INNODB STATUS and SHOW FULL PROCESSLIST commands output to a file every 10 seconds to catch one of those moments when this error occurred.
Today we’ve got next error and started digging in our logs…
After a couple of hours of looking in logs, parsing binary logs from MySQL …
[Read more]