I'm trying to find an alternative to SQL which is very horizontally scalable. However, many NoSQL databases have some features I need missing from SQL, or some other weird quirks.
I am developing an app with some data with lots of relationships (which requires joins and foreign keys), some entities which contain financial amounts (so requires atomicity of transactions). Some of the entities in the data model also have many (five or more) separate indexes which can all be used for filtering under different scenarios. This makes NoSQL databases difficult to use. However, I hope to store many GBs of data, and want to be able to scale up if necessary.
I'm wondering if there is a NoSQL database that can be used for very SQL-like purposes?