Showing entries 1 to 10 of 13
3 Older Entries »
Displaying posts with tag: libAttachSQL (reset)
libAttchSQL Hits First GA!

We have come a long way since the first code was put down for libAttachSQL on the 4th July. It has been a fantastic project to work on so I am very pleased to announce our first GA release.

For those who haven't seen it so far libAttachSQL is a non-blocking, lightweight C API for MySQL servers. It is Apache 2.0 licensed so is compatible with most Open Source and commercial licensing. HP's Advanced Technology Group saw a need in this field not just for HP itself but for other companies and projects too.

As for the GA release itself, there are not many changes over the RC release beyond stability fixes. A full list can be seen in the version history documentation.

In addition to the GA release we have recently had a driver for …

[Read more]
libAttachSQL Single Thread vs. libmysqlclient Multi Thread

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 connections. This has been fixed in libAttachSQL's master ready for …

[Read more]
libAttachSQL 0.9.0 RC - Connection Groups

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 need to create the group and add connections to …

[Read more]
libAttachSQL Second Beta, After the Sledgehammer

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 biggest changelog so …

[Read more]
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:

  1. Brian (my boss at HP's Advanced Technology Group) said now would be a good time to benchmark libAttachSQL
  2. 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 …

[Read more]
libAttachSQL Benchmarks With Sysbench

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:

  1. Brian (my boss at HP’s Advanced Technology Group) said now would be a good time to benchmark libAttachSQL
  2. 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 …

[Read more]
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, libattachsql-1.0/attachsql.h. The others are used for other functions in the code. …

[Read more]
libAttachSQL Query Example

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, libattachsql-1.0/attachsql.h. The others are …

[Read more]
Speaking about libAttachSQL at Percona Live London

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 at  …

[Read more]
New version of libAttachSQL, C connector for MySQL released!

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.

Once again I thank everyone for the feedback I have received. …

[Read more]
Showing entries 1 to 10 of 13
3 Older Entries »