DataBase Vs TCP

I have been asked to develop an asterisk-based CTI solution for an average call center. 300 concurrent users max.
I don’t know what the best approach is to develop something like this.
DataBase PROS

  • Fast development.
  • Easy to get reports.
    DataBase CONS
    -Not real-time results, you have to send queries to the DB every time and if you close to real time results you need to send many more queries per minute.
    -If the data base crashes so does the whole platform.
    -Best DataBases are expensive (Oracle, SQL-SERVER) although I could try with MSQL, MariaDB, Firebird, POSTGRE, etc.
  • Real Time results, for monitors and applications.
  • Could be more stable than databases.
  • I normally doesn’t take up much CPU or RAM as databases.
  • Easier to scale up the platform.
  • Slow and hard development.
  • Bug Risks (Memory Leaks, Endless loops than may make the PBX crash (if it is run on the same machine).

If believe I will do part TCP in Java (for the apps. that trully need real time) and part DB oriented. Any recommendations, books, blogs, tips, etc… would be appreciated.