Tuesday, January 22, 2013

One way to Scale UP Firebird :put you Database on memory virtual disk or ramfs


There is a new ec2 type of instance with huge memory option : 244G
http://aws.typepad.com/aws/2013/01/ec2-for-in-memory-computing-the-high-memory-cluster-eight-extra-large.html

How this can help you with scaling Firebird ?

There are the cache and memory settings For Firebird but is better to put the main full database on the fastest storage and that is RAM for the moment


On linux i can mount a partition in memory (Install ubuntu/debian)

sudo mkdir /mnt/ram
sudo mount -t ramfs -o size=200G ramfs /mnt/ram
mount to show you the partitions mounted

and then move your database into the ram partition

cp -rp /var/lib/firebird/2.5/data/slowdb.fdb /mnt/ram/fast.db


What about D from the ACID ?

In Firebird we have a nifty feature called Shadow that creates a life snapshots of the active database (Think of it as Replication in real time) so you can activate it and keep a safe database on the SSD/HDD

http://ibexpert.net/ibe/index.php?n=Doc.DatabaseShadow




That large instance could help you with the Firebird cache settings also the extra SSD could do wonders
Inspired by the stack overflow big fat server architecture for the SQL

http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html



No comments: