"we have about 2 tables which store financial transaction data"
That sounds important. Businesses depend on financial transactions to keep in business, because money underpins everything. So this means:
- You need strong data typing (because doing arithmetic with strings is Teh Suck!)
- You need strong data schemas and relational integrity, because you need to be sure that the parties involved in those transactions are correctly identified and cannot be lost.
- With tables holding around (250000 * 250 * 10) records you probably need the ability to partition (not shard) your tables on a date column.
- You need good backup and recovery capabilities (because you don't want to lose any data), including frequent incremental backups and incremental restores (because with tables that big you don't want to backup let alone restore the whole thing).
This points to an Old Skool relational database rather than MongoDB or whatever. NoSQL databases have their use cases, but storing business-critical financial data isn't one of them.
What database should I use?
The best your company can afford. Assuming they want to stay in business for the long term. Remember, it's not the product you're paying for, it's the support.