Planet MySQL Planet MySQL: Meta Deutsch Español Français Italiano 日本語 Русский Português 中文
Showing entries 1 to 10 of 12 2 Older Entries

Displaying posts with tag: libAttachSQL (reset)

libAttachSQL Single Thread vs. libmysqlclient Multi Thread
+0 Vote Up -0Vote Down

I have recently posted up benchmarks of libAttachSQL vs. libmysqlclient using sysbench. Whilst these are great and shows the results I hoped for, this isn't what we designed libAttachSQL for. It was designed for non-blocking many connections per thread.

With this in mind I spent today knocking up a quick benchmark tool which replicates the Sysbench "Select" test but using libAttachSQL's connection groups on a single thread. The code for this can be seen in the new AttachBench GitHub tree. Of course the secondary reason for this is to try and hammer the connection groups feature, which of course did find a bug when I scaled to around 32

  [Read more...]
libAttachSQL 0.9.0 RC - Connection Groups
+0 Vote Up -0Vote Down

It has been just over 4 months since I started working on libAttachSQL for HP's Advanced Technology Group. Today marks the first (and hopefully only) RC release of the library.

Connection Groups

The only real new feature that has been added to 0.9.0 is the concept of connection groups which is something I'm pretty excited about. Internally libAttachSQL uses event loops to supply the non-blocking API. Connection Groups join a bunch of connections together into a group that uses a single event loop. This makes things much more efficient internally and makes applications easier to code too.

Here is a simplified example of how to use it (for a more detailed example see our example in the documentation).

First we

  [Read more...]
libAttachSQL Second Beta, After the Sledgehammer
+0 Vote Up -0Vote Down

Last week I blogged about getting sysbench working with libAttachSQL. This was not only an exercise in performance but also the first real test for libAttachSQL.

Before I had done this testing the most the early Alpha and Beta releases of libAttachSQL had gone through is a few basic queries. So, the first thing I did when I got the sysbench driver working was slap it with 1,000,000 queries. It pretty much exploded instantly on that. Over the course of this release I have probably hit it with over 100,000,000 queries and things run a lot smoother.

This has led to today's release of libAttachSQL 0.5.0. As far as changes go this release has the

  [Read more...]
libAttachSQL Benchmarks With Sysbench
+0 Vote Up -0Vote Down

This week I have been spending a little bit of time creating a module for Sysbench so that it can use libAttachSQL as a database driver. The reason for doing this is twofold:

  • Brian (my boss at HP's Advanced Technology Group) said now would be a good time to benchmark libAttachSQL
  • I really needed more than a few basic queries to shake out bugs in the library, and a benchmark is a good way to shove a few million through it
  • On the bug front, it did find a total of 5 bugs, a couple of them serious. Which is great, the more testing and bug finding the better. These have all been fixed in GitHub and will be part of the upcoming 0.5.0 release.

    The Test Setup

    To

      [Read more...]
    libAttachSQL Benchmarks With Sysbench
    +0 Vote Up -0Vote Down
    libAttachSQL Benchmarks With Sysbench

    This week I have been spending a little bit of time creating a module for Sysbench so that it can use libAttachSQL as a database driver. The reason for doing this is twofold:

  • Brian (my boss at HP’s Advanced Technology Group) said now would be a good time to benchmark libAttachSQL
  • I really needed more than a few basic queries to shake out bugs in the library, and a benchmark is a good way to shove a few million through it
  • On the bug front, it did find a total of 5 bugs, a couple of them serious. Which is great, the more testing and bug finding the better. These have all been fixed in GitHub and will be part of the upcoming

      [Read more...]
    libAttachSQL Query Example
    +0 Vote Up -0Vote Down

    I was asked some questions on IRC last night about how the query example in libAttachSQL's code base works. For those who missed previous posts, libAttachSQL is a lightweight, non-blocking, Apache 2.0 licensed C connector for MySQL servers which I am developing for HP's Advanced Technology Group.

    In this blog post I'm going to break down a basic query example and explain what is happening at each step. It is possible that this syntax may change slightly by the time we hit GA but it will be similar to this.

    #include <libattachsql-1.0/attachsql.h>
    #include <stddef.h>
    #include <stdio.h>
    #include <string.h>
    

    Only one include is needed for the library itself, libattachsql-1.0/attachsql.h. The others are

      [Read more...]
    libAttachSQL Query Example
    +0 Vote Up -0Vote Down
    libAttachSQL Query Example

    I was asked some questions on IRC last night about how the query example in libAttachSQL’s code base works. For those who missed previous posts, libAttachSQL is a lightweight, non-blocking, Apache 2.0 licensed C connector for MySQL servers which I am developing for HP’s Advanced Technology Group.

    In this blog post I’m going to break down a basic query example and explain what is happening at each step. It is possible that this syntax may change slightly by the time we hit GA but it will be similar to this.

    #include <libattachsql-1.0/attachsql.h>
    #include <stddef.h>
    #include <stdio.h>
    #include <string.h>
    

    Only one include is needed for the library itself,

      [Read more...]
    Speaking about libAttachSQL at Percona Live London
    +0 Vote Up -0Vote Down
    As many of you know I'm actively developing libAttachSQL and am rapidly heading towards the first beta release.  For those who don't, libAttachSQL is a lightweight C connector for MySQL servers with a non-blocking API.  I am developing it as part of my day job for HP's Advanced Technology Group.  It was in-part born out of my frustration when dealing with MySQL and eventlet in Python back when I was working on various Openstack projects.  But there are many reasons why this is a good thing for C/C++ applications as well.

    What you may not know is I will be giving a talk about libAttachSQL, the technology behind it and the decisions we made to get here

      [Read more...]
    New version of libAttachSQL, C connector for MySQL released!
    +0 Vote Up -0Vote Down
    It has been just over 2 weeks since the last libAttachSQL version was released.  I had a great vacation in the middle which for once meant that I didn't do any work for the week I was away :)

    For those who don't know about it, libAttachSQL is a lightweight, non-blocking C connector for MySQL servers.  It is Apache 2.0 licensed so plays well with both Open Source and Commercially licensed applications.  I have been developing it for 2 months now as part of my work for HP's Advanced Technology Group.  It is hosted on GitHub and uses many freely available tools (such as Travis CI) to host and test various parts of the project.



      [Read more...]
    libAttachSQL 0.2.0 alpha released!
    +0 Vote Up -0Vote Down
    Hot on the heals of last week's release we have released version 0.2.0 alpha of libAttachSQL.  For those who have missed my previous blog posts, libAttachSQL is a lightweight C connector for MySQL servers I'm creating with HP's Advanced Technology Group.  It has an Apache 2 license so is good for linking with most Open Source licenses as well as commercial software projects.

    Changes in this release:

    • Added support for query result buffering
    • Passive connect on first query is now asynchronous
    • Improved memory handling
    • Many documentation changes, including API examples
    • Many other smaller fixes
    For more information see the libAttachSQL



      [Read more...]
    Showing entries 1 to 10 of 12 2 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.