I’m now on Twitter!
Starting today I’ll be tweeting some micro-news from Sinática as well as the occasional rant that you don’t find here.
See you there!
Comments (0)
Starting today I’ll be tweeting some micro-news from Sinática as well as the occasional rant that you don’t find here.
See you there!
Comments (0)Today I took some time and had a look at Windows 7 Beta. I mainly wanted to try Sinática Monitor on it.
The results are encouraging.

First I installed Windows 7 on a virtual machine using Sun Virtual Box and then installed Sinática Monitor. Everything worked right out of the box. There are still some tests to do but it graduated with honors from the first run.
Contrary to most people I honestly have nothing to complain about Vista. But if you are only waiting Windows 7 to update that old XP, rest assured that Sinática Monitor will work fine.
Comments (0)Last Friday I release a new version of Sinática Monitor.
Release 1.1.01 is recommended to every user, especially those still using Beta versions.
The main change you will notice is the option to minimize to the notification area.
When minimized this way, Sinatica Monitor displays new alarms as message baloons.

This feature was one of the most requested during Beta and is very aligned to the Sinática Monitor proposal of monitoring your database while you work on something else and alerting you only when something extraordinary happens.
Although if you prefer the previous way of minimizing, you just have to disable this option in the new User Options screen.
You may read the release notes for the complete list of fixes and changes and if you have any questions or suggestions please contact me.
Download Sinática Monitor for Firebird release 1.1.01 now.
Comments (0)Welcome everyone!
Along with the new Sinática Monitor 1.1 comes the new Sinática Online Store.
And please don’t forget our ongoing promotions:
If you have any questions regarding Sinática or Sinática Monitor, email me.
Comments (0)Ever since the first Sinática Monitor prototype was ready back in May, I have imagined myself announcing this promotion.
I really believe that one of the ways to a stronger Firebird Foundation is by creating opportunities for members to receive benefits from their memberships. A stronger Foundation means a stronger Firebird, and that is to everyone’s benefit.
With that spirit in mind, and with much joy, today I announce that Sinática will give a 10% discount to all members of the Firebird Foundation.
If you wish to buy Sinática Monitor, email me your name and membership number (here). I will reply with the discount coupon you can use on the Sinática Online Store.
The conditions:
In addition, there is no problem if you are not currently a member. You can join now and receive the discount in just a few days.
If you have any questions, please email me and I will respond immediately.
Comments (0)Good news to users of Sinática Monitor Beta.
You may answer this survey about your experience with Sinática Monitor Beta and get a 20% discount in case you decide to buy the commercial version.
If you’re not using Sinática Monitor yet, download it now.
Here’s how the discount works:
The survey has 21 questions and takes about 3 minutes to be answered.
Comments (0)If you are curious to know the Product I was cooking for the last months, your wait is over.
It’s called Sinática Monitor for Firebird. And it was specially created to monitor your database and discover those hard-to-find problems.
And that’s just the beginning.
Visit out new site and see screenshots of Sinática Monitor in action.
Sinática Monitor is entirely free during the Beta period.
Download now and find out what it can do for your database.
And please don’t be shy! I want to hear from you. Send me your ideas and suggestions!
Comments (5)Programmers rejoice! For today is your day. The 256th day of the year.
I have no idea who came up with this day but I loved it. And here’s what I propose to spread the meme:
Let’s make this day and the greatness of our work known to all. Or better let’s make it a national holyday. Or better yet, let’s make it a world-wide holyday! After all we are prefectionists.
Comments (0)A post by Jeff Atwood got my attention last week. He reports how he had difficulties to find a problem in StackOverflow beta. They kept getting deadlock logs during the day and in the end the problem was related to MS SQL Server blocking readers:
You can attach the profiler to catch the deadlock event and see the actual commands that are deadlocking. I did that, and found there was always one particular SQL command involved:
UPDATE [Posts]
SET [AnswerCount] = @p1, [LastActivityDate] = @p2, [LastActivityUserId] = @p3
WHERE [Id] = @p0If it detects a deadlock, SQL Server forces one of the deadlocking commands to lose — specifically the one that uses the least resources. The statement on the losing side varied, but in our case the losing deadlock statement was always a really innocuous database read, like so:
SELECT *
FROM [Posts]
WHERE [ParentId] = @p0
To fix the problem they had to instruct MS SQL Server to use dirty reads on each those selects. What kept hammering my head all these days was not how can modern databases still block readers. But the lesson we can take from the episode. Independently of server and its architectural limitations, the important thing is to understand it and also to know your application’s environment very well.
In the case of StackOverflow Jeff found that a possible solution was dirty reads. If the transactions performed by the website took a long time, dirty reads would not be an option. But knowing his application very well he knew that was not the case. Choosing dirty reads would have no consequences. Independently of what ACID purists would say. And I confess I turned my nose when I first read "dirty read".
Thanks to its multi-generational architecture Firebird does not block readers. So it’s natural that this problem may seem strange to us. But each architecture has its pros and cons. This same multi-generational architecture, if not correctly used, can be a problem. It’s the case of long running transactions or "stuck transactions".
Such transactions cause record versions to accumulate in the database. (These versions can also be called generations. It’s multi-generational architecture, remember?) The more versions accumulate more work Firebird has to do to find the correct version of each record. If stuck for long enough Firebird server can get slow to the point of looking like it’s dead. How much time depends of the database load and the server’s hardware. Could be a month, could be an hour.
I’ve seen it happen many times. In some of those occasions I saw managers argue for hours that MS SQL Server or Oracle don’t have such problem. The fact is that they have other architectural details that you must take into account in your application. For example, some databases block readers. Simply switching databases, as some of those managers suggested, is not a solution.
Although having StackOverflow powered by Firebird would not be a bad idea. ;)
If there were statistics on corrupted Firebird databases, I believe more than 80% of them would have something in common: they were running with forced-writes off.
Since Firebird 2.1 forced-writes also work in linux. With that in mind I put together a comparison between the two modes.
What are forced-writes and when to use them?
I hope DBAs who like to live dangerously find this useful.
Comments (0)