Good day everyone.
Recently I was given a task to develop an application to automate some aspects of stocks trading. While working on initial architecture, the database dilemma emerged. What I need is a fast database engine which can process huge amounts of data coming in very fast. I’m fairly experienced in general programming, but I never faced a task of developing a high-load database architecture. I developed a simple MSSQL database schema with several many-to-many relationships during one of my projects, but that’s it.
What I’m looking for is some advice on choosing the most suitable database engine and some pointers to various manuals or books which describe high-load database development.
Specifics of the project are as follows:
- OS: Windows NT family (Server 2008 / 7)
- Primary platform: .NET with C#
- Database structure: one table to hold primary items and two or three tables with foreign keys to the first table to hold additional information.
- Database SELECT requirements: Need super-fast selection by foreign keys and by combination of foreign key and one of the columns (presumably DATETIME)
- Database INSERT requirements: The faster the better 🙂
If there’ll be significant performance gain, some parts can be written in C++ with managed interfaces to the rest of the system.
So once again: given all that stuff I just typed, please give me some advice on what the best database for my project is. Links or references to some manuals and books on the subject are also greatly appreciated.
EDIT: I’ll need to insert 3-5 rows in 2 tables approximately once in 30-50 milliseconds and I’ll need to do SELECTs with 0-2 WHERE clauses with similar rate.
The technology is irrelevant. This is about hardware.
So you need something like a supermicro 72 disc computer system filled with SSD’s and 256gb memory as cache. Simple as that. Addd processors as needed.
Problem is that it is EXPENSIVE, but at the end databases are about IO. Point.
Alternatively go with a click stream database (KD+) and intead of paying 30.000 USD for hardware they ask for 20.000 USD For the smallest software license to start.
I know this sounds hard, but adatabase speed – unless you do stupid things that kill performance – IS about hardware. PRettym uch the IOPS budget (independent IOPS per second). And not about software.