Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Previous 30 Newer Entries Showing entries 31 to 60 of 245 Next 30 Older Entries

Displaying posts with tag: Programming (reset)

Developer Week in Review: Lion drops pre-installed MySQL
+1 Vote Up -1Vote Down


A busy week at Casa Turner, as the infamous Home Renovations of Doom wrap up, I finish the final chapters of "Developing Enterprise iOS Applications" (buy a copy for all your friends, it's a real page turner!), pack for two weeks of vacation with the family in California (Palm Springs in August, 120 degrees, woohoo!), and celebrate both a birthday and an anniversary.



But never fear, WIR fans, I'll continue to supply the news, even as my MacBook melts in the sun and the buzzards start to circle overhead.

The law of unintended consequences

If you decide to install Lion Server, you may notice something





  [Read more...]
NoSQL is What?
+1 Vote Up -1Vote Down

I found myself reading NoSQL is a Premature Optimization a few minutes ago and threw up in my mouth a little. That article is so far off base that I’m not even sure where to start, so I guess I’ll go in order.

In fact, I would argue that starting with NoSQL because you think you might someday have enough traffic and scale to warrant it is a premature optimization, and as such, should be avoided by smaller and even medium sized organizations.  You will have plenty of time to switch to NoSQL as and if it becomes helpful.  Until that time, NoSQL is an expensive distraction you don’t need.

Uhm… WHAT?!

I’ve spent more than a few years using MySQL and have been using some NoSQL systems for the last year or so in a fairly busy environment. And

  [Read more...]
Tale of a bug
+5 Vote Up -0Vote Down

This is a tale of the bug lp:798213. The bug report has the initial report, and a summary of the real problem obtained after detailed analysis, but it does not describe the processes of getting from the former to the latter. I thought it would be interesting to document this, as the analysis of this bug was rather tricky and contains several good lessons.

Background

The bug first manifested itself as a sporadic failure in one of our random query generator tests for replication. We run this test after all MariaDB pushes in our Buildbot setup. However, this failure had only occured twice in several months, so it is clearly a very rare failure.

The first task was to try to repeat the problem and get some more data in the form of binlog files and so on. Philip kindly

  [Read more...]
Four short links: 7 June 2011
+0 Vote Up -2Vote Down

  • OMG Text -- a plugin for CSS framework Compass for directional text shadows. (via David Kaneda)
  • Build a Cheap Bitcoin Mine -- some day it will be revealed that the act of generating a bitcoin token is helping the Russian mafia to crack nuclear missile launch codes and Afghan druglords built the Bitcoin system to destabilize the US dollar.
  • Polycode -- a free, open-source, cross-platform framework for creative code. You can use it as a C++ API or as a standalone scripting language to get easy and simple access to accelerated 2D and 3D graphics, hardware shaders, sound and network programming, physics engines and
  •   [Read more...]
    Developer Week in Review: Apple devs cry "gimme shelter"
    +0 Vote Up -0Vote Down

    Another week of industry hijinks has passed, which means it must be time for another edition of the Developer Week in Review.

    Apple offers some cover

    After developer complaints that Apple was leaving them out to dry, in regards to the Lodsys patent threats being aimed their way, the House of Jobs stepped up to the plate and announced that they considered iOS developers to be covered by the existing licenses granted to Apple by Lodsys for in-game purchases.

    This is a bit of a good-news, bad-news story from an intellectual property perspective, as it doesn't offer any relief to non-Apple developers from the patents themselves. Apple paid off Lodsys,

      [Read more...]
    Quadrant Framework – rev7 update adds DyGraphs support
    +0 Vote Up -0Vote Down

    Quick update to the framework that was released yesterday; I’ve added automatic graph generation. I chose DyGraphs due to the quick ability to enable support – the HTML is very quick and simply loads the CSV data. It has the same zooming features of Highcharts without the JS overhead.

    Now when you run a load test you will get (in the output directory) a mixture of files: the main cumulative CSV and HTML file for the hostname that was tested, and then one CSV and HTML per report variable that was tested. This means you don’t have to drag the main CSV file into an alternate program or spend time parsing out certain variables one at a time to generate specific graphs.  I’ve also added support for limiting output of SNMP variables (LOAD,CPU,MEM). Head over here and download the update: 

      [Read more...]
    MySQL Load Testing Framework – initial release
    +0 Vote Up -0Vote Down

    It seems that everyone loves load testing these days. Problem is that everyone is using their own quick scripts, simple or complex, to drive their tests without the ability for other DBAs to duplicate those tests. Let’s say I write a great test and share my results and graphs on the blog – you want to run the same tests to see how your new DB servers compare in performance: this framework allows you to do that without duplicating any work or writing code. This is a basic release that will get the ball rolling. I’ve included some sample tests in the README file, so give them a try.

    This codebase offers a user friendly framework for creating and visualizing MySQL database load test jobs. It is based around Sysbench, which is generally considered the industry standard load test application. The framework allows you to do the following:

      standardize your tests
      [Read more...]
    MySQL Multiple-Column Indexes: Order Matters
    +0 Vote Up -0Vote Down

    This will just be a short reminder. If you're planning to create multiple-column indexes in MySQL, remember that the order of the columns matters. As the MySQL documentation points out, any "leftmost prefix of the index can be used." This means that the index can be used for any number of columns in a where clause as long as those columns are at the beginning of the index column list and in the same order.

    I was recently reminded of this issue while debugging a performance problem. Adding a multiple-column index resulted in query performance improvement of 400% to 2,000%. Naturally, this result is highly specific to the problem we were trying to solve.

    Developer Week in Review: Oracle sends Hudson on its way
    +0 Vote Up -0Vote Down

    Lesson for the week: If you really want to stir up an anthill, attack the conventional wisdom of code development best practices.

    In other news ...

    Another piece of Sun falls off the good ship Oracle

    At this point, I could almost follow the practice of Gregg Easterbrook 's Tuesday Morning Quarterback and put this text on Autotext, but in the past week, Oracle cast off another piece of their acquired Sun technology. In this case, it was the integrated build platform "Hudson." Either fed up with the infighting that had led to the spin-off "

      [Read more...]
    MySQL Community – what do you want in a load testing framework?
    +0 Vote Up -0Vote Down

    So I’ve been doing a fair number of automated load tests these past six months. Primarily with Sysbench, which is a fine, fine tool. First I started using some simple bash based loop controls to automate my overnight testing, but as usually happens with shell scripts they grew unwieldy and I rewrote them in python. Now I have some flexible and easily configurable code for sysbench based MySQL benchmarking to offer the community. I’ve always been a fan of giving back to such a helpful group of people – you’ll never hear me complain about “my time isn’t free”. So, let me know what you want in an ideal testing environment (from a load testing framework automation standpoint) and I’ll integrate it into my existing framework and then release it via the BSD license. The main goal here is to have a standardized modular framework, based on sysbench,

      [Read more...]
    Developer Week in Review
    +0 Vote Up -0Vote Down

    Welcome to this week's edition of Developer Week in Review. Sorry we're running a little late. We assure you it has nothing to do with the release of "Portal 2."

    The wide world of litigation

    Another busy week for the court system, courtesy of the software industry. Software patents are back at the Supreme Court, this time courtesy of Microsoft and i4i. Meanwhile, Apple is suing Samsung over look and feel issues related to the Galaxy Tab, while at the same time ordering $7.8

      [Read more...]
    Uniform APIs for the data web
    +0 Vote Up -0Vote Down

    The elmcity service connects to a half-dozen other services, including Eventful, Upcoming, EventBrite, Facebook, Delicious, and Yahoo. It's nice that each of these services provides an API that enables elmcity to read their data. It would be even nicer, though, if elmcity didn't have to query, navigate, and interpret the results of each of these APIs in different ways.

    For example, the elmcity service asks the same question of Eventful, Upcoming, and EventBrite: "What are the titles, dates, times, locations, and URLs of recent events within radius R of location L?" It has to ask that question three different ways, and then interpret the answers three different ways. Can we imagine a more frictionless approach?

    I can. Here's how the question might be asked in a general way using the

      [Read more...]
    Developer Week in Review
    +0 Vote Up -0Vote Down

    Spring came in like a lion here in the Northeast, with an April Fools' Day mini-blizzard, even though Lion itself isn't due to be released until summer at the earliest. While I waited for more hospitable weather to emerge, I've been huddled indoors working on a Kickstarter project with my son, and I will now shamelessly plug it: It's a high-powered replacement for the Wii sensor bar, designed to let you sit comfortably at the other end of a room while you use your Wii. You can read more about it here if you're interested.

    Meanwhile, there were the usual interesting developments in the developer world.

    Google: Now promoting gray as a  [Read more...]

    Brian Aker explains Memcached
    +2 Vote Up -0Vote Down

    Memcached is one of the technologies that holds the modern Internet together, but do you know what it actually does? Brian Aker has certainly earned the title of Memcached guru, and below he offers a peek under the hood. He'll also provide a deeper dive into Memcached in a tutorial at the upcoming 2011 MySQL Conference.

    What problem is Memcached meant to solve?

      [Read more...]
    Developer Week in Review
    +0 Vote Up -1Vote Down

    This is your Developer Week in Review, I'm Casey Kasem. Our first letter comes from a software developer in New England who writes, "Dear Casey. My wife just got accepted into the Experimental Psych doctoral program at UNH, and I'd like you to play something appropriate for the occasion." Well, going out especially for you, here's "I'll be Proofreading Your Papers for the Next Five Years, 'Cause I'll Never Split (Our Infinitive)" (Seriously, congratulations Bonnie!)

    And you thought that Justin Bieber tickets were hard to score ...

    What's the matter, pal? You say you had your heart set on going to Google I/O, but the tickets sold out in

      [Read more...]
    Benchmarking thread scheduling in group commit, part 2
    +3 Vote Up -0Vote Down

    I got access to our 12-core Intel server, so I was able to do some better benchmarks to test the different group commit thread scheduling methods:

    This graph shows queries-per-second as a function of number of parallel connections, for three test runs:

  • Baseline MariaDB, without group commit.
  • MariaDB with group commit, using the simple thread scheduling, where the serial part of the group commit algorithm is done by each thread signalling the next one.
  • MariaDB with group commit and optimised thread scheduling, where the first thread does the serial group commit processing for all transactions at once, in a single thread. (see the previous post linked above for a more detailed explanation of the two thread scheduling
  •   [Read more...]
    Developer Week in Review
    +0 Vote Up -3Vote Down

    Netflix went down over three hours ago, and everyone is on edge here. My son just started reciting the script to "Monty Python and the Holy Grail" in an attempt to keep our courage up. This may be the last thing I ever write, so — Oh, never mind, it's back up again ... Crisis averted, and on to this week's developer news.

    We have an App Store Appstore for that!

    Amazon this week unleashed their own Appstore for Android devices. Apple took umbrage at the use of the (evidently trademarked) term "App Store"

      [Read more...]
    Benchmarking thread scheduling in group commit
    +3 Vote Up -0Vote Down

    The best part of the recent MariaDB meeting in Lisbon for me was that I got some good feedback on my group commit work. This has been waiting in the review queue for quite some time now.

    One comment I got revolve around an optimisation in the implementation related to how threads are scheduled.

    A crucial step in the group commit algorithm is when the transactions being committed have been written into the binary log, and we want to commit them in the storage engine(s) in the same order as they were committed in the binlog. This

      [Read more...]
    Parallelizing MySQL replication slave - a dream come true?
    +3 Vote Up -1Vote Down

    There has been an increase in the discussion about MySQL replication and how to make it happen faster. I don't think Marco Tusa's blog is on Planet MySQL, so let's highlight it first: A dream on MySQL parallel replication. This is a good account of what it looks like out in the field of MySQL databases today - you are increasingly aware of replication, fearing it will be a bottleneck you cannot fix.

    read more

    Tech Messages | 2011-03-07
    +0 Vote Up -0Vote Down

    A special extended edition of Tech Messages for 2011-02-10 through 2011-03-07:

      [Read more...]
    Back to work: 1st week as Senior Performance Architect at Nokia
    +3 Vote Up -2Vote Down

    As some Facebook friends already guessed from my status updates this week, my 9 month paternity leave is now over and I've survived my first week back in work life, waking up at seven in the morning! This is just a personal-life blog post to let everyone know what I'm up to, (For those asking: Ebba is doing fine, she recently started to stand up and even takes steps if I hold her hands.)

    During the past months I had many interesting conversations and ideas of what to do next, but in the end Nokia was the company standing out with a very interesting offer. So as of last Tuesday I work at Nokia as Senior Performance Architect in the Mobile Solutions division, better known as the Nokia Ovi web services.

    read more

    Overview and archeological exploration of the MepSQL Bakery
    +1 Vote Up -2Vote Down

    This is the final part in a series of posts about the MepSQL build system known as MepSQL Bakery. MepSQL is a (yet another) fork of the MySQL database server, with the server based on the MySQLatFacebook code and the build system based on the MariaDB build system.

    In this final post I wish to draw a high level picture of the complete process of building TAR, DEB and (eventually) RPM packages from the source code. There's not much more technical details to add to the previous posts, instead I'm going to make some, shall we say "archeological", observations which imho are interesting given how the build system has evolved when being passed from one project to another. Perhaps

      [Read more...]
    Developer Week in Review
    +0 Vote Up -0Vote Down

    Coming to you from 24 hours in the future, it's this week's Developer Week in Review.

    All your news cycles are belong to us

    We're using the O'Reilly Tempro-Spatial Distorter to send you back news of Today's's iPad 2 launch before it's even happened. Who could have predicted that the iPad 2 would have both a 3D Retina display and Smell-o-vision? But the real shocker had to be the announcement that the iTunes store was finally going to have the long-missing catalog of Up With People available for sale.

    Ok, so we don't have a time machine, and deadlines dictate that this will be going to edit before the Big Announcement today. I'm sure one or two other news outlets will be covering the event, so you can probably find out what happened sometime later this week. For those keeping score, this is something like the

      [Read more...]
    Dealing with the Cambrian Explosion 2/2: Parameterizing the package name in DEB files
    +1 Vote Up -1Vote Down

    Yesterday I wrote down the approach used in the MepSQL build system to parameterize the TAR package name produced. Today I will follow up with how the same was done for building DEBs. The motivation is to create a system that can be used flexibly to create packages of any MySQL fork, with any brand name: mepsql-server-*.deb, percona-server-server-*.deb, mariadb-server-*.deb or even just mysql-server-*.deb (which I might do some day).

    While yesterday's tricks with the TAR files were rather straightforward, with the process of building DEBs this turns out to be much more challenging. But not to worry, like

      [Read more...]
    Dealing with the Cambrian Explosion 1/2: How to parameterize the package name in source and binary TAR files
    +1 Vote Up -1Vote Down

    As I mentioned before, it seems that thanks to Git and Bzr introducing distributed version control workflows, the open source community is now living in a phase where forking is easy and happens frequently - referred to by Brian Aker as the Cambrian Explosion of open source. We certainly see that happening in the MySQL Community.

    Assuming you have the competence and know your way around a codebase, forking a proper open source project isn't that hard. You create your own project on GitHub or Launchpad and copy the source code.

      [Read more...]
    Looking at OpenSuse Build Service and Launchpad PPA (aka: How to build packages for MepSQL?)
    +1 Vote Up -1Vote Down

    This is the first part of many posts in a series of blog posts where I want to document how the MepSQL packages were built. By doing that, I will also end up covering the MariaDB build system (which this is based on), some of BuildBot, Amazon EC2 cloud and packaging DEBs and RPMs just in general, so it could be interesting from many perspectives. In this first part I'll simply scribble some notes about reviewing the OpenSuse Build System, Launchpad PPA service vs using your own servers and automating the builds with BuildBot.

    Originally I just wanted to work on some new ideas on the automated build and QA system used by MariaDB. But since leaving Monty Program I didn't have access to any of those servers anymore, so as a first step I had

      [Read more...]
    Slides for: Fusion-io and MySQL 5.5 at Craigslist
    +0 Vote Up -0Vote Down

    The slides from the talk I gave at Percona Live San Francisco yesterday are now available on slideshare (hopefully the embed works here too):

    View more presentations from Jeremy Zawodny.

    Overall, I enjoyed the conference–not just meeting up folks I don’t see often enough, but also getting a renewed sense of how active the MySQL ecosystem really is.


    Four short links: 11 February 2012
    +0 Vote Up -0Vote Down

  • Phantom of the Flopera (YouTube) -- Bach's Tocata and Fugue in D Minor (BWV 565) as performed by floppy drives. Creative intimacy with one's tools is a sign of mastery. (via Andy Baio)
  • Save Entire BBC Archive (Ben Goldacre) -- I pointed earlier to the questionable BBC closure of scores of websites in the name of cost-cutting. It's a torrent of an archive of spidered BBC websites. (via Andy Baio)
  • Android Hidden NFC Capabilities Unlocked -- Gibraltar Software Factory, based in Argentina, went through the source
  •   [Read more...]
    Announcing MepSQL, continuing the "Cambrian Explosion" of MySQL forks
    +3 Vote Up -12Vote Down

    Some time ago Stephen O'Grady and Brian Aker had an interesting Blogo-dialogue about what they call the "Cambrian Explosion" of open source development. The Cambrian Explosion means that we increasingly see forks of projects being developed in different directions, where traditionally we are used to open source development happening in relatively hierarchical and easy to follow upstream and downstream relationships. This is exactly what happens in the MySQL community currently, where in total there is more progress than ever before, but that progress is divided among several competing forks, none of which is

      [Read more...]
    Fun with Bash: aliases make your live easier… share your favorites
    +2 Vote Up -0Vote Down

    I’ve always been a big fan of having a customized .bashrc file. The one I distribute to all of my servers has aliases for quick commands to save me time on the command line, functions that get work done when aliases are too simplistic, reporting for the server for each cli login, and of course a formatted and colored prompt (for terms that support colors). I also change certain aspects and commands based on the operating system since I’m not always on a redhat box or linux at all. Here’s my bashrc file – maybe you have some fun additions that you’d like to share. What saves you time on the command line?

    Previous 30 Newer Entries Showing entries 31 to 60 of 245 Next 30 Older Entries

    Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

    Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.