Starting research of a distributed DB

Our current billing system is becoming insufficient for handling real-time billing and real-time business operations  simultaneously. Hence, I am starting to look for better solutions. Right now system is running on Oracle (on a fast machine), but because tables have grown too big search times are taking longer and longer.

There are several paths to take:
– backup monthly or quarterly data, thus making tables smaller (but because system uses past data from time to time, especially when client asks for an old data, this does not seem a viable approach…)
– buy a stronger machine (not a long-term solution, and I don’t think top-management will approve anyways…)
– make a clustered distributed database (this seems like a good idea, but the system will need to be slightly redesigned, not sure to what extent though, in addition making Oracle clusters is a little of a hassle)
– make a real-time one-way replication of a database and assign purely SELECT queries to it (also sounds good,  but need to analyze proportion of select statements during overloads, less hassle but is it really gonna be useful)
– install another Open Source distributed database  and move non-integral high-load tables there (no experience with Open Source databases, will it be possible to extract and separate necessary tables, this is a very good in the long run tough)
 

In addition to those things, there is a need to virtualize servers (basically move them to virtual machines), because occasionally failing hardware (especially that unknown-brand made-in-China server) is driving me mad.

Leave a comment