Still in Japan. Today and tomorrow I am spending time with
Mixi.jp,
looking at their MySQL Setup. They are the Livejournal of Japan,
but
with more video and pictures!
I am going to the YAPC dinner in Tokyo tomorrow night.
Its raining, reminds me of home :)
I wrote an article late last week about benchmark results for the two table-synchronization algorithms I've been implementing for the MySQL Table Sync tool. I've spent some time developing a test suite for the tool, and learned some really interesting things about the general problem of synchronizing tables.
With last weeks release of Zimbra Desktop and our recent GA release of Zimbra for Ubuntu ( Download OSS or Network) it's now easier than ever to move your email client and server to Linux.
First you need to get your Zimbra Server up and running. Our community has been running Ubuntu for quite some time and now that it's GA our customers have the same choice. Zimbra's Network version now supports four Linux distributions (more if you count the 32bit and 64bit …
[Read more]It's often quite tempting to make sweeping statements about the superiority of one approach to a problem over another. While various approaches often have advantages, in the real world often there are many competing criteria which make a black and white assessment of choices seem rather simplistic. Politicians and marketing folks oversimplify complex problems every day, and it often makes a real discussion of the issue at hand harder - although it does engender a vitriolic us vs. them approach of yelling. Luckily for us, this never happens in the technical world.
Eric Bergen posted an interesting entry on his blog this morning about DRBD. He makes some very good points, but I believe leaves out some context or assumptions for some of his conclusions, primarily by assuming that there is a single HA setup with a single set of criteria for success …
[Read more]Ivan mentions the Q and As from a Q&A session in which MySQL Cluster is mentioned - I thought I’d add my perspective here as well:
Q from Matthew: When are we likely to see disk based
indexing for ndb?
Disk based indexing is planned in one of the future releases, but
we can’t say when we will implement it. During the webinar,
Anders pointed out that he does not see this as an important
thing. I tend to agree with Anders, at least considering the
current status of the storage engine. At the moment, ndb can
perform an unbeatable job (in terms of HA and performance) on
small transactions and simple queries and we should not consider
it as a full replacement for the whole database, in general. The
future versions of ndb will probably be more and more general
purpose and at some point a …
MySQL AB today announced that Dada, a leading international provider of Web and mobile community and entertainment services, has selected MySQL Enterprise Unlimited to power its subscriber database storing the information of over 7 million users.
So, in my dev environment I have 1 server to represent a
particular cluster. I need to change the code to represent that a
single table has been moved a new cluster. So, since I have one
server I create a new database and put the table there.
Steps
get a snapshot of a table. I could use innodb-backup, but the
table is not in it's own table space yet so I need to take a
snapshot of it via mysqldump
mysqldump -uroot DATABASE TABLE --single-transaction > file.sql
Now I add the contents of file.sql to the new database and rename
the old table to oldtable_bu
Okay now dev is working but production it's a bit different. I'm
building new clusters out of an old single cluster. My goal is to
switch writing to the old cluster that has the old database name
to the new cluster that has the new database name without
downtime.
…
Last August I was sitting in a talk at OSCON listening to a PostgreSQL talk about their
innards and got an idea.
I would put together an April Fool's joke about the existence of
a MySQL Postgres engine. I put a note in iCal to begin working on
it on March 1st.
March 1st came around and I got the reminder. I spoke at the time
with Patrick Galbraith about doing a quick federated
MySQL -- Postgres connector. It would be incredibly easy to do.
Patrick though was more interested in doing an ODBC style generic
engine and handle many engines at once (which he is getting
close to releasing).
Not wanting to barge in on Patrick's work, I decided to just mock
up a basic skeleton of an engine. All of about 10 …
The NDB/Connectors have added support for Ruby, as well as Asynchronous Transaction support for Java, Python and Perl.
The Ruby support, of course, means that new you can interact with your MySQL Cluster installation using the NDBAPI from all your Ruby code.
The async stuff is especially cool, because it means you can send transactions to the Cluster and get responses by way of callbacks defined in the connector language. So you can do something like this:
class testaclass(object): def __init__(self, recAttr): self.recAttr=recAttr def __call__(self, ret, myTrans): print "value = ", self.recAttr.get_value() #snip myTrans = myNdb.startTransaction() myOper = myTrans.getNdbOperation("mytablename") myOper.readTuple(ndbapi.NdbOperation.LM_Read) myOper.equal("ATTR1", 245755 ) myRecAttr= myOper.getValue("ATTR2") a = testaclass(myRecAttr) …[Read more]
The NDB/Connectors have added support for Ruby, as well as Asynchronous Transaction support for Java, Python and Perl.
The Ruby support, of course, means that new you can interact with your MySQL Cluster installation using the NDBAPI from all your Ruby code.
The async stuff is especially cool, because it means you can send transactions to the Cluster and get responses by way of callbacks defined in the connector language. So you can do something like this:
- class testaclass(object):
- def __init__(self, recAttr):
- self.recAttr=recAttr
- def __call__(self, ret, myTrans):
- print "value = ", self.recAttr.get_value()
- #snip
- myTrans …