0

I have to decide on a NoSQL database for a web app that should keep track of the user input and update the corresponding record as frequent as possible. To think about the frequency: let's say a blank record is generated on start and it should update on every key-up event coming from the user.

The methods I have seen for this kind of work are:

  • Write-Ahead-Logging/Journaling for the user data (not like the internal data consistency methods like Journaling of MongoDB or Write-ahead logging of CouchDb): I don't know if it is even implemented for the user data or the current methods can be utilized for this purpose.
  • Versioning for MongoDB or a less implicit cell versioning way of doing it in Cassandra

I tended to use Cassandra at the beginning, but I want to know the best fit methods* to achieve that kind of a scenario.

Jonathan Hall
  • 75,165
  • 16
  • 143
  • 189
vahdet
  • 6,357
  • 9
  • 51
  • 106
  • Voted to close, because asking for recommendations is off-topic. However, I will say that frequent in-place writes is an anti-pattern in Cassandra. – Aaron Jan 18 '18 at 18:37
  • SO discourage opinion based questions. If you have any specific programming question, please update your post. – Saleem Jan 18 '18 at 18:39
  • Removed the database part now if it seems as an ask-for-recommendation, but thinking of database methods in general, asking for the best fit for the update rate is not opinion-based. – vahdet Jan 18 '18 at 18:48

1 Answers1

1

In Cassandra frequent updates on a cell can (but must not) lead to problems with compactions (to be more specific, when updated data is flushed from memtables to sstables because of too many concurrent updates.

If you do not need this data persisted an in memory solution (or in addition to a database) could help, I used Hazelcast for this.

Mandraenke
  • 3,086
  • 1
  • 13
  • 26