Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
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.
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.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed last month.
Improve this question
I am developing an app for keeping attendance records for the students and I am confused about using either SQFlite or Hive for the local database. What are the pros and cons of both? How does each perform in apps with smaller and more complex databases?
I am currently using Hive and it seems like a hassle regarding code readability.
if you want the saved data to be fetched instantly and you won't need complex queries or have relations among the saved entities then go ahead and use Hive since it loads its boxes (saved data) in the memory for instant fetching
otherwise use SQFlite as it's more readable, scalable, and customizable.
in your case and regarding the project you are working on, I believe you should go with SQFlite, maybe in the future you will add some other features not just attendance, and might need to make complex queries.
Both of them work great, but for both proper data modelling is essential.
However, I wonder whether your app can work without storing data externally. In that case, neither is a good option.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I have a lot of logged data stored into a database by a data logger. Basically i have a lot of rows with a timestamp and some values. I want to store this data into a db that has performance and can scale on a multi node structure to support fault tolerance behaviour (and balance requests). Typically i use MySQL but i find its scalability not simple for this type of application. This time, i want offer other db scenarios.
So: Mongo, Redis, Couchdb?
Thanks all.
This is a hard question to answer and not something we can really give answers to on SO.
Redis is quick for getting the data in, but you can not query on the values of the keys so searching would be harder.
MongoDB & CouchDB would both work well as they are document stores and can be used to store any format for the logs.
There are other options. I know Cassandra is used a lot for this task, but there is also ElasticSearch as in (ElasticSearch, Log Stash, Kibana) which is a great solution for central logging.
In the end it probably down to what you want to do with the data.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am considering using mongo db (it could be postgresql or any other ) as a data warehouse, my concern is that up to twenty or more users could be running queries at a time and this could have serious implications in terms of performance.
My question is what is the best approach to handle this in a cloud based and non cloud based environment? Do cloud based db's automatically handle this? If so would the data be consistent through all instances if a refresh on the data was made? In a non cloud based environment would the best approach be to load balance all instances? Again how would you ensure data integrity for all instances?
thanks in advance
I think auto sharding is what I am looking for
http://docs.mongodb.org/v2.6/MongoDB-sharding-guide.pdf
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am sorry if this is not a constructive enough question.. Coming from the SQL world I'm just trying to wrap my head around this. After reading a lot about MongoDB, I've become very enthusiastic about it and consider using it for an upcoming application (in combination with Meteor).
However, I came across this blog post, which describes the troubles Diaspora ran into when using it and states "you should never use MongoDB". The examples she's giving sound pretty convincing.
Are these true problems with MongoDB, or were they using it wrong? Is this article now outdated and are there better ways for doing what they're doing (duplicate data for instance, like users being linked to each other, to posts and to comments, is a very common use case)?
Yes, there is a plenty of cases when mongodb not feet good, some of them are
When data perfectly described with 'table' metaphor (better using
SQL)
When you need ACID and transactions out of the box
When your workflow extremely oriented to write operation
When you need to generate complex cross-data reports
Data model have strongly relational view (a lot of connected
instances)
There is a lot of others, but this is just something which comes to my head fast.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I have just started using neo4j to store data in a graph, i.e. friends of friends etc..
But now I need to store standard application configuration data. This isn't graph data really, its settings that the application will use to help it run.
Normally I would store this in a table in a RDMS or in a document in MongoDB.
Can I still store this data in neo4j ? or should I use another database to store it?
Is it beneficial to have 2 databases i.e. neo4j and mongodb ?? Pros and Cons?
Anybody done anything like this?
Thanks in advance
It's perfectly fine to store it in Neo4j, if it is not large binary data.
Then I'd store it in a blob storage and just store references to it.
If you have nested structures you can either decompose them into multiple nodes, use property prefixes or serialize them to a string (e.g. JSON).