Subject Re: [firebird-support] Firebird for big projects
Author unordained
> Hello, we are evaluating the option to use Firebird 2.1.X instead of
> Interbase 2009 for 7 projects that we are going to start.

Are you asking if Firebird would handle this as well as Interbase already
would, or if the entire family of products would handle this at all?

> Tha database has around 1000 tables, 3000 triggers and 2000 stored
> proccedures. I need the database running 24x7, because tha targets are
> hospitals, and will containg critical data that need to be online and
> stable. Users around 300.

I've got a schema with comparable complexity (the result of auto-generating
tables, triggers, and procedures from workflow definitions), and I've been
fine. The only issue so far has been with database-analysis tools choking when
scanning the metadata.

Firebird's pretty darned stable. And if it's not, it comes back up really,
really fast. I'm pleased.

Users ... how are they connecting? That might be over the direct-connection
limit (250?), I don't remember. But if you're going through middleware with
connection pooling, then it's about the load, not the exact number of physical
connections.

> The database will have 30 tables with a lot of activity. One will
> start with 300 million of records, and the other ones around 20% of
> that one.

Lots of activity, or lots of data? What kind of activity? That's all going to
be about index usage, most likely, or maybe cacheing. Tough questions to answer
in general.

> Daily will be inserted 500.000 records and updated them several times.

One table, or spread out across the 1000 tables? Lots of concurrent long-
running transactions while this is happening, or very short transactions?
(Matters for garbage-collection.)

> The box will be a cluster with 2 quadcore, 64 bits, Windows 2008, 8Gb RAM.
>
> Will FB use all cores and all RAM?

Cores: using Classic, yes, it could use all the cores.

RAM: depends on your cache settings, but my experience says FB is unlikely to
eat up that much RAM at runtime. Diminishing returns on increasing the cache.
You probably want reliability, so I doubt you're going to turn that ram into a
ram-drive, but that could be a nice way to increase access times ...

-Philip