tag:blogger.com,1999:blog-277512052024-03-05T19:58:32.596-08:00Antony's MySQL bitsMy MySQL musings, sometimes code snippets and commentry.Unknownnoreply@blogger.comBlogger93125tag:blogger.com,1999:blog-27751205.post-11622189637463818812015-01-21T10:14:00.000-08:002015-01-21T10:14:07.708-08:00LinkedIn's MySQL Use CaseAs many know, I have been working within the Espresso team at LinkedIn since 2012. Espresso is a schema-ed document store built upon MySQL.
Introducing Espresso - LinkedIn's hot new distributed document store
We eventually hope to open-source a version of Espresso which doesn't use LinkedIn's internal proprietary APIs.xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com0tag:blogger.com,1999:blog-27751205.post-1298226063004170592013-09-24T13:34:00.001-07:002013-09-24T13:34:53.915-07:00Oracle's MySQL Connect 2013 conference summaryAlthough, hosting the event on a weekend, which is an inconvenience to those who have family, and ignoring the fact that it's Oracle's third MySQL Connect event, I would have to say that this year's Oracle MySQL Connect conference was the best one yet.
This past year, I have been mostly heads-down working at +LinkedIn so I haven't been paying close attention to what Oracle has been xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com0tag:blogger.com,1999:blog-27751205.post-30431105578479135552013-09-24T09:15:00.003-07:002013-09-24T09:15:52.221-07:00"Making bank" at MySQL (AB/INC)Just because this topic came up more than once at MySQL Connect...
Apparently, some alumni have been awarded bonuses for certain pieces of work during their time at MySQL and I guess that there was an expectation from some that the same applied to the work I did. Now, I don't want anyone to get the impression that I am experiencing "sour grapes" over the past - I actually enjoyed much of my timexhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com0tag:blogger.com,1999:blog-27751205.post-27918749754988944522013-09-23T12:00:00.002-07:002013-09-23T12:00:14.136-07:00Scrubbed historyI distinctly remember creating and committing this code... and it has largely not changed.
Yet, it seems that my name was scrubbed from its history.
$ bzr blame -q include/mysql/plugin_audit.h | grep antony | wc -l
0
Sad-face.
=-(
xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com0tag:blogger.com,1999:blog-27751205.post-62512671277334071672013-09-22T18:21:00.002-07:002013-09-22T23:35:56.410-07:00OQGraph and TokuDBToday, while at Oracle's MySQL Connect conference in San Francisco, I had the opportunity to talk to Gerardo Narvaja and that inspired me to try using OQGraphv3 and TokuDB.
Of course, the first challenge is to compile it on my MacBook which has MacOS Lion 10.7.
I installed the Apple's latest XCode Command Line tools and eventually compiled a MariaDB which had both TokuDB and OQGraph available xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000137.373502 -123.06486250000002 38.176356999999996 -121.77396850000001tag:blogger.com,1999:blog-27751205.post-40148116701303878992013-09-16T07:52:00.002-07:002013-09-16T07:52:47.976-07:00QA and bug fixing for OQGraphJust mentioning it here because hard work deserves to be recognised and mentioned: Andrew McDonnell is doing an awesomely good job of testing, understanding and fixing bugs in OQGraph... which is no mean feat because the core of the code is based on the Boost Graph Library which isn't a trivial C++ library.xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com0tag:blogger.com,1999:blog-27751205.post-39944029965391285272013-07-05T23:44:00.000-07:002013-07-05T23:44:10.973-07:00I want to contribute,Over at David Stoke's Open Source DBA blog, the following was posted:
http://opensourcedba.wordpress.com/2013/07/05/mysql-is-looking-for-external-contributions
My reply: Allow me to contribute code with a BSD (3-clause) license without having to sign anything new and then we can talk.
Don’t tell me that it can’t be done: Oracle already has some code of mine in another product which was xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com2tag:blogger.com,1999:blog-27751205.post-55215183693172019672013-04-25T20:15:00.000-07:002013-04-25T20:15:56.289-07:00Using Perl Stored Procedures for MariaDB, slides uploaded.Just recently did the presentation and Q&A for the Using Perl Stored Procedures presentation at Percona Live 2013.
The presentation has been uploaded:
Using Perl Stored Procedures for MariaDB from Antony T Curtis
(repeat posting because planet.mysql.com didn't notice it the first time around)xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com0Hyatt Regency Santa Clara, 5101 Great America Parkway, Santa Clara, CA 95054, USA37.405161 -121.9765916999999711.8831265 -163.28518569999997 62.927195499999996 -80.667997699999972tag:blogger.com,1999:blog-27751205.post-18548780587563537452013-04-25T16:36:00.000-07:002013-04-25T19:50:17.128-07:00Using Perl Stored Procedures for MariaDBJust recently did the presentation and Q&A for the Using Perl Stored Procedures presentation at Percona Live 2013.
The presentation has been uploaded:
Using Perl Stored Procedures for MariaDB from Antony T Curtis
xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com2Hyatt Regency Santa Clara, 5101 Great America Parkway, Santa Clara, CA 95054, USA37.405161 -121.9765916999999711.8831265 -163.28518569999997 62.927195499999996 -80.667997699999972tag:blogger.com,1999:blog-27751205.post-37816042086697851572013-02-25T00:40:00.001-08:002013-03-18T16:55:02.274-07:00OQGraph presentation at SCaLE 11xI did a presentation on OQGraph for the +Southern California Linux Expo on Sunday and some of the audience seemed really interested. Demonstrated finding the shortest path in a graph of millions of edges, with a deliberately crippled config running in a VirtualBox environment.
(edit, updated URLs on slides)
xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com0Hilton Los Angeles Airport, Los Angeles, CA 90045, USA33.9461861 -118.3818039999999933.9445396 -118.38432549999999 33.9478326 -118.37928249999999tag:blogger.com,1999:blog-27751205.post-70122717169816900592012-05-04T15:58:00.003-07:002012-05-04T15:59:34.102-07:00MariaDB in GitAs an experiment, I have converted the MariaDB Bazaar repository into Git.
https://github.com/atcurtis/mariadb
Should be interesting...xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com0tag:blogger.com,1999:blog-27751205.post-42841532789374702762012-04-25T23:58:00.000-07:002012-04-25T23:59:52.797-07:00Old repositories
Just as one does, I was finding stuff to delete and I stumbled across this old directory which had dozens of BitKeeper work directories. Of course, I don't have a valid license for BitKeeper anymore and these directories haven't been touched in years!
I guess I shall sit on them for a while.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-27751205.post-74974349253540858212012-04-23T17:15:00.000-07:002012-04-23T17:15:58.627-07:00It's alive!LinkedIn has what they call "inDays" where employees may so something interesting which may not be directly related to their day job. I spent my inDay by porting my old WL820 project (External Language Stored Procedures) to MariaDB 5.3.
The code, as usual, is available on LaunchPad ... To get the branch, simply do:
bzr branch lp:~atcurtis/maria/5.3-wl820
The test cases pass... I haven't tested xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com1tag:blogger.com,1999:blog-27751205.post-7846088866759728442011-04-19T11:12:00.000-07:002011-04-19T11:36:56.444-07:00Traversing larger graphs with OQGRAPH 3. Time for Bacon?Using the IMDB data, I have loaded the actor and actress database into a few simple InnoDB tables and have performed the following test:
MariaDB [imdb]> show status like "Innodb_rows_read";
+------------------+---------+
| Variable_name | Value |
+------------------+---------+
| Innodb_rows_read | 1237459 |
+------------------+---------+
1 row in set (0.00 sec)
MariaDB [imdb]> selectxhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com2tag:blogger.com,1999:blog-27751205.post-71763206351183746522011-04-14T12:27:00.000-07:002011-04-14T12:27:31.485-07:00OQGRAPH at MySQL UC 2011I had a good and lively audience at my presentation today. I was happy to give them a sneek preview of the Mk.III implementation of OQGRAPH.
Oh yeah! I guess I'm announcing the availability of the source code of the MkIII implementation.
Links are in my slides... http://goo.gl/UrybZ
Btw, building the storage engine requires Boost libraries and libJudy installed. It's currently in a MariaDB xhttp://www.blogger.com/profile/09169717992432456581noreply@blogger.com1tag:blogger.com,1999:blog-27751205.post-52700550553377387122010-08-02T06:48:00.000-07:002010-08-02T06:48:37.008-07:00Tip that will save hours of sleep...This tip is several months late but here goes anyway.
In my opinion, when you have an environment where you're using multiple MySQL storage engines (using the right tool for the job and all that jazz), there is nothing more annoying than to have tables created or altered into a storage engine that you did not request. The default behaviour of MySQL is to use the default engine if the requested Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-27751205.post-9139217635377553162010-06-06T16:46:00.000-07:002010-06-06T16:55:02.535-07:00Oracle's MySQL Report Card,Yeah, I know it is early days right now but I do think that Oracle's acquisition of Sun Microsystems has not harmed MySQL.Oracle has not done anything to get in the way of MySQL and as far as I can tell, it's basically business as normal: People are still using MySQL.Admittedly, I have been busy at my job at Blizzard Entertainment but I really haven't seen anything which alarms me.Besides, the Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-27751205.post-12170495262833305962010-01-04T09:08:00.000-08:002010-01-04T09:45:46.894-08:00"Save MySQL"; my 2 cents.There is no denying that MySQL has a huge amount of momentum behind it. 10+ years as the leading free SQL database kinda does that. It has successfully changed the perception of databases - where people used to visualise big-iron mainframes in specially cooled rooms to where anyone can install it for free within 15 minutes.That is not what this blog post is about. The topic of today is the "Save Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-27751205.post-75216415734255395222009-12-15T06:28:00.000-08:002009-12-15T06:35:45.826-08:00Version Number 5 point WTF?What is going on with the version numbers coming out of Sun/MySQL?Once upon a time, we had 5.2.Then, to incorporate Falcon, it became 6.0.Somewhere along the line, there was a 5.3.Then a 5.4 appeared which seemed to be 5.1 with performance fixes for InnoDB.Now there is a 5.5, which claims to be a 5.4 with a few stuff added.Stop confusing your community.And whatever happened to community Unknownnoreply@blogger.com4tag:blogger.com,1999:blog-27751205.post-66254972096162360572009-12-02T08:40:00.001-08:002009-12-02T08:55:55.387-08:002010 will be a good year,I suppose I should make it official: 2010 should see me being much more active in the Community.Why? Simply because I am now working for Blizzard Entertainment where I hope to help them make better, more efficient, use of MySQL/MariaDB. I expect to be working on some of MySQL's internals and storage engines in order to achieve what is wanted and helping them enhance their existing use of Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-27751205.post-63249638638011271182009-11-20T09:51:00.000-08:002009-11-20T09:54:31.067-08:00Crouching dolphin, hidden bugs.I hate it when the changelog of any MySQL release references bugs which when clicked, simply says "You do not have access to bug".Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-27751205.post-64730495729589562312009-10-03T07:45:00.000-07:002009-10-03T08:05:42.730-07:00A year in review; new direction.It has been more than a year since my self-imposed hiatus from serious MySQL development started and I think it is about time that I get back into the saddle. I have a handful of working prototypes but I should get the code out there, back into the community.I learned a bunch of stuff during the past year at Google but in the end, working on JavaScript, HTML/CSS and Google proprietary languages Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-27751205.post-59494604309768005802009-09-17T23:03:00.000-07:002009-09-17T23:08:13.752-07:00Eraser ...I let a couple of these pass by but just thought I'd mention it (just in case any other ex-MySQLer is experiencing anything similar...Why does the MySQL bugs system remove former employees from the historical record?Date: Thu, 17 Sep 2009 20:26:35 +0200From: Bug Database Subject: #29838 [Csd]: myisam corruption using concurrent select ... and updateIn-reply-to: X-Originating-IP: [140.98.193.23]ToUnknownnoreply@blogger.com4tag:blogger.com,1999:blog-27751205.post-74043241003217085312009-07-25T18:35:00.000-07:002009-07-25T19:26:37.206-07:00Celebration of forks?This blog post was inspired by Masood Mortazavi's comment: "OSCon to be somewhat disappointing this year -- many low quality sessions and a celebration of forks"I did not attend OSCON, even though I live in California. I did not even bother to submit a presentation proposal, even though people who attended my talks at the MySQL Conference and Expo earlier this year and the year before, all Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-27751205.post-86023975061582040232009-07-09T09:33:00.000-07:002009-07-09T09:41:00.898-07:00Binary LiteralsI was randomly browsing for some stuff and I stumbled across this post on binary literals. It proposed the following as an option for C++ which the article admits as being inefficient:unsigned long const mask = std::bitset<6>(std::string("111100")).to_ulong();I was thinking that C++ templates must be able to offer something more efficient...template <int N>struct Binary{ enum { value = Unknownnoreply@blogger.com4