Guaranteed single-millisecond reads and writes on a key-value store that‘s too expensive to fit in RAM.
That being said, nowadays it‘s hard to have a dataset with exactly these properties, and honestly they messed up all other use cases pretty hard.
Secondary indices are hard in practice, and so is any other structure, like sorted sets, or lists, or trees, or any kinds of analytics. They tried a lot of things (LDT) and abandoned them again.
Also, AS can be a diva at operations. The amount of brains and engineering within Aerospike is mindblowing, but it‘s like a F1 car: The fastest you can build, but everything is special and custom made and expensive to replace.
We‘re looking currently at Scylla, which is still decent at K/V (also thanks to recent hardware improvements), but wayyy more flexible from the data model side.
Jepsen takes great pains to make no assumptions about the time it takes for transactions to execute. We test systems with millisecond-level timeouts, or multi-minute timeouts, and both work fine.
It's an interesting database that has some strange quirks and is primarily good at a narrow use-case of fast key/value and low-latency on SSDs. It's grown since then but there are better options now like ScyllaDB, Redis Enterprise, Apache Ignite, MemSQL, etc. depending on scenario. I'm not sure there's a situation I would choose Aerospike for anymore.
I evaluated Memsql for a project which would have made good use of both the row storage and columnar storage engines. But with Clickhouse, there's now a columnar database that performs extremely well and is completely free and open source. So half the usecase for Memsql went away. For the row based engine, the competition is a bit tougher. If one doesn't need extreme performance, CockroachDB provides a super easy to cluster consistent SQL db. And for people with more performance need, there's Mysql Cluster (NDB) for example or several NoSQL solutions.
Memsql is aiming for the enterprise market with well paying customers. They are not targeting the HN startup scene that much.
Open source also means one can examine the bug tracker (in most cases, some don't provide an open bug tracker) for known bugs and dive into the implementation in order to understand the inner workings in more detail if needed. I've made good use of this ability numerous times in the past.
The gist is: if a database which is always a key part of a software architecture, is not open source, then it better provide extremely convincing arguments to choose it over other products. Being open source on the other hand doesn't mean choosing a partical software is a no-brainer. There are tons and tons of open source databases with questionable quality. Open Source as a criterion is just one amongst many. I would for example not hesitate to use some hosted proprietary DB on AWS if it fit the project because I know AWS is unlikely to go away. But some smaller/young companies? The risk that they'll disappear unfortunately is very real in this industry.
Unfortunately it's not open-source and doesn't have a production license for the community edition so it costs money. We never had a problem as we always paid for software (even as a startup) but it can be an issue considering their customers are usually bigger enterprises.