At the 12th Firebird Developers Day, I talked about Using Firebird in high latency networks (aka. internet). Below are two slides from my presentation, where you can see the improvements in Firebird 3 wire protocol, compared to FB 2.5 and to MySQL.
Obs: Left axis values are expressed in seconds. Test server was hosted in Amazon (USA) and client accessing it was located in Brazil. Ping reported latency of 219ms. The smaller the bar, the better.
Above graph shows the result of fetching 10.000 records from a real table used to store customers data. Red bars represents records with all the fields filled (ie: there was no fields containing nulls) and blue bars represents fetching records where some of the fields were nulls. Tests where done with and without compression.
The same table used in previous graph was created in MySQL InnoDB (same data). Blue bars means that wire compression was disabled, and red has compression enabled. Left side graphs has all fields filled (ie. there wasn’t null fields) and in right side graphs, some records has some null fields.
As you see, FB 3 won 😉
I should mention that there was no blob fields in the table, and this makes a lot of difference. Fetching non-null blobs makes the fetch slower in Firebird (more roundtrips are needed).
PS: The improvements in the FB 3 wire protocol were sponsored by donations collected in the 9th edition of FDD conference, and were implemented by Dmitry Yemanov. Compression was implemented by Alex Peshkov.
During the registration process for the 12th edition of the Firebird Developers Day, people could donate money to the Firebird Foundation. In total, it was collected R$ 4.590,27 (~ USD 1.3k). The list of donors is available here.
Thanks to all who contributed! And remember that anyone can contribute, donating or becoming a member of the Firebird Foundation.
The virtual session that Dmitry Yemanov gave last year in the 11th Firebird Developers Day is now publicly available in YouTube.
The audio is in English, and there are subtitles in PT-BR available. In this video, Dmitry talks about the most recent developments done in FB 3, comment about the reasons for the delays of the releases, what we can expect for the future, etc.
Obs: Please note that the session was recorded in August/2014.
Watch it now in YouTube.
shell@hwH30-U10:/data/local/tmp/firebird/bin $ ./isql employee
SQL> show version;
ISQL Version: LI-T126.96.36.199567 Firebird 3.0 Beta 2
Firebird/Linux/ARM (access method), version “LI-T188.8.131.52567 Firebird
3.0 Beta 2”
on disk structure version 12.0