Okay, so looking into a lot of benchmarks online about the performance of Aerospike are great. One thing I’m seeing is that all of the ones I’ve seen thus far are simple key/value benchmarks.
Are there any known write-ups/documentation on data modelling in correlation to querying methods to achieve the best results?
Using vagrant (compared to MongoDB vagrant), one thing I’ve noticed is that querying for all items in a set is a lot slower than returning a cursor to scan through a collection.
Is this expected? Should users of Aerospike try to avoid using sets to iterate through?
Examples: INSERT INTO users.profile (PK, firstName) VALUES (‘firstname.lastname@example.org’, ‘A’) INSERT INTO users.profile (PK, firstName) VALUES (‘email@example.com’, ‘B’) INSERT INTO users.profile (PK, firstName) VALUES (‘firstname.lastname@example.org’, ‘C’)
To get all of the users, I’d expect to just query users.profile, but this seems a lot slower than doing a collection query in mongo (so far on a single vagrant server).
Should I instead create “views” such as users.lists which contain “paginated” style results, grab them, then issue a batch GET on all the results returned?
I’m seeing over 500ms on “SELECT * FROM users.profile” as apposed to a near 0ms “WHERE PK = ‘…’”
I know that in RTB platforms, a lot of it is key/value, but I’m trying to go beyond key/value (think blog/CMS/a normal site :P)
Should I stick with MongoDB or others?