Subject RE: [firebird-support] Firebird3 and Multi Processors
Author Nigel Weeks
> Is Firebird 3 out?
> Is this the only version that supports multi-processor
> systems properly?
> ie. uses all processors evenly.
>
Hit the wrong key, sorry everyone!

Browse the archives, this question get's asked a few times a week, and
there'll be more info there.

Here it is in a nutshell:

Classic:
Uses one process per connection, uses all available processors,
scales tremendously, can use ram, as each process manages it's own cache,
brilliant for OLAP, and long running queries/updates are very unlikely to
block other transactions.

SuperServer:
Uses threads per connection, server has one global cache that
threads can access to result in quicker queries. Brilliant for OLTP, where
transactions and queries are built to be fast and light. Pauses CAN (not
always) occur if a query/update is mis-engineered and takes a long time,
blocking other transactions until the query/update has finished. Can only
use one processor, and if not locked to one physical processor, can be
shuffled between chips by the operating system, bringing Firebird to it's
knees.

SuperServer(v3(after merge with Vulcan)):
Will completely remove the current limitations of SuperServer,
resulting in a threaded database that can spread over all processors, no
blocking on long queries/updates, etc. Quite a lot of work involved here.

In short, if you've got multiple chips, use Classic. Easy.

Nige.