Regarding NodeJs and big data [closed] - mysql

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 2 years ago.
Improve this question
Currently, I'm developing one project and there are lots of MySQL query operations with billions of records and also mathematic operation included and it takes more time to perform the query.
so I need your help in choosing technology for big data and DB operation
Currently, I'm using nodejs and MySQL DB
Thanks for giving me the right way to develop this.

It depends on your data. If your data is homogeneous (most of the rows has the same number of columns) and you need to perform complex queries with tons of joins, using a relational database as MySQL is a good option. You can also try other relational databases like Oracle DB, MariaDB and others. It shouldn't be difficult to export your current database and try if the performance improves.
On the other way, if your data is heterogenous and you don't need to perform complex join queries, a NoSQL database can be your option. There are a lot of them but one of the most famous ones is MongoDB. Moreover, Mongo has very good integration with NodeJS. Your main problem would be to convert your actual relational database to a non-relational database.

Related

Is Mongo DB better than Mysql DB for notification storage and retrieval? [closed]

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 4 years ago.
Improve this question
I had a mobile app backend written by someone else in node(express). He is managing all data in mysql DB but storing notification for new cutomer signup etc in mongodb is there a performance gain or I should use one d.b throughout the project?
MySQL is highly organized for its flexibility, high performance, reliable data protection, and ease of managing data. Proper data indexing can resolve your issue with performance, facilitate interaction and ensure robustness.
But if your data is not structured and complex to handle, or if predefining your schema is not coming easy for you, you should better opt for MongoDB. What’s more, if you're required to handle a large volume of data and store it as documents, MongoDB will help you a lot!
The result: One isn’t necessarily better than the other. MongoDB and MySQL both serve in different niches.
Reference
MongoDB is good for handling large unstructured data. The best thing about MongoDB is that it is not bound to schema design.
To store notification you can use MongoDB though notifications can be in billions or trillions in number. So, MongoDB could be the choice to store and retrieve that data. Data retrieve is faster in MongoDB if we compare MySql.
Checkout the link MongoDB v/s MySql

Searching logical shards [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
Is the basic technique behind querying across logical shards just querying them all at the same time and consolidating the results?
There doesn't seem to be any built-in features of MySQL or Postgres that allows you to query across logical shards, so I assume you must query each shard or get some sort of software to sit in front of that database that indexes or queries for you.
MySQL is working on a new technology called MySQL Fabric to do this. It's still in early development (as of this writing). But they apparently intend it to be a built-in feature in MySQL 5.7.
You can also use Shard-Query today. This acts as a proxy to query across all your shards transparently. That is, you can write simple SQL queries as if you didn't have a sharded architecture. Shard-Query rewrites SQL and runs queries against each shard in parallel, then combines the results.
I don't know what, if any, solutions exist for PostgreSQL to automatically query across shards.

Which database should i prefer? [closed]

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 thinking of storing persons contact data centrally. So there will be so many persons and each will have their contact list. There will be more number of updates and selects on database as user will be searching their contacts or searching for a person not in his/her contact list. Person may be updating their contact details. But inserts in database will be limited because only one time enrollment will be there. I am confused in using databases MySQL or Neo4j. Because when I think of searching person from database neo4j seems better. But when I think of handling millions of records MySQL seems better. So can anyone suggest which database suits best? MySQL/Neo4j/ both MySQL and Neo4j or some other database?
Neo4j allows you to store the connections between the people via their contacts, so if you want to leverage the network effect in your application it makes sense to look into that.
It all depends on how you want people to search and interact with your app. If treat people as individual records with no connections then MySQL is good enough. Otherwise Neo4j would probably work better.
IF you have the time to a tiny PoC with some realistic data with both and then decide for yourself.
you can use MySQL latest version it is quite simple and relevant to your need , you need to just use locking system on your database or you can lock your table when inserting or updating.

What storage system to use for a real time messaging? [closed]

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 9 years ago.
Improve this question
I am developing a Real Time messaging application (such as WhatsApp and co) and I am facing a big question.
The application itself is not as complicated as what exists on the market. However, I am no sure what storage system I should use. I have several ideas but I don't know which one is better that the others:
A simple mysql database with relations between messages/conversations/conversations
A mongodb with replicate of each conversations for all users in the conversations
A redis store with replicate conversations for all users in the conversations.
I don't know which one is better for what I want to do. If you have some advise so I can choose the right solution. (or if there is a solution I haven't listed which is even better :) )
Note : My API is developped in Ruby On Rails (if this can help make a decision)
Data volume and number of read/writes should be the key factor leading you to the decision. If the data volume and number of read/write is not going to be huge you can do with mysql. I believe few TB of data with few hundreds of read/writes per minute is SQL database territory. Beyond that it is NoSQL world. However, you should be ready to deal with increased complexity of non-SQL data store design, query implementation, and achieving eventual consistency if you choose NoSQL solution. All the best!

Using NoSQL on a web application, and not using SQL [closed]

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
What are the pros and cons of using a NoSQL database (like MongoDb, etc) entirely for a web application which is intended to be a social networking site. I mean, for the User accounts and other credentials to be stored in a NoSQL database, instead of using SQL like MySQL with Hibernate and totally relying on NoSQL, is it a good approach? If not, what are the trends in designing MySQL entities or domain objects (usually User accounts, etc) "bind" to a NoSQL database (which are usually posts, messages, etc.)?
Here are the issues you should consider:
Latency
NoSQL solutions are designed to do well here. They generally write data to memory which is flushed to the disk in batches. If the server crashes before it is written, the data might be lost. MongoDB has Journaling, which will help recovery from crashes. So no issues here
Reliability
NoSQL solutions offer in-built solutions for replicating data. With MySQL, you'll have to do this yourself
For a social network scenario, document stores like MongoDB are a good idea for activity, comments related information. The user data can be stored in a MySQL database