Skip to main content
48 votes

When would someone use MongoDB (or similar) over a Relational DBMS?

Sorry to add another answer but none of the answers here are very satisfactory. This answer is specific to MongoDB (as opposed to the vast array of other data storage options out there which are not ...
Pace's user avatar
  • 581
29 votes

best practices for NoSQL database design

TL;DR Normalization in RDBMS allows you to leverage the strengths of the relational paradigm. Denormalization in NoSQL allows you to leverage the strengths of the NoSQL paradigm. Long answer ...
Didier A.'s user avatar
  • 1,387
27 votes

When should we use MongoDB?

Basically: If you can represent your data in a form of a bunch of documents, MongoDB could be a good choice. If you would rather imagine your data as a bunch of interconnected tables, MongoDB may not ...
Arseni Mourzenko's user avatar
12 votes

When should we use MongoDB?

Each technology has its advantages. The advantages of relational databases is that the RDBMS does some things for you, like: Enforcing referential integrity ( not allowing the insertion of an ...
Tulains Córdova's user avatar
9 votes
Accepted

Using key-value NoSQL DBs relationally

If you use Cassandra and need to emulate a lot of JOIN's, then you are doing it wrong. The reason for such a data model is usually that you are following the habit you learned from relational ...
Philipp's user avatar
  • 23.4k
9 votes

Which database technology to choose for storing (post + replies) threads

Most proponents of NoSQL overstate the scaling/performance problem. This is admittedly an oversimplified point of view, but one of the big reasons that NoSQL is popular is because Google uses it. If ...
Robert Harvey's user avatar
8 votes
Accepted

Where to put business logic if using Firebase?

Q: But that also means I would have to put the business logic in the front-end, in the Angular2 web app, right? Yes. If it's not backed by a server, the business should be implemented somewhere. After ...
Laiv's user avatar
  • 14.7k
8 votes

My team is scared of relational database entities with foreign key relationships and I don't understand why

The key word in here to understand where your team is coming from is "microservices". It would be worth reading up on that concept first, particularly for the following information: How should data ...
Berin Loritsch's user avatar
8 votes
Accepted

Database agnostic DAO (NoSQL + SQL)

The best way to guarantee that you stay reasonably decoupled from the database, but at the same time remain free to use any feature of it, is to not create an abstraction layer for the database. (Well,...
Robert Bräutigam's user avatar
7 votes
Accepted

Designing database: split into different tables or group them together?

A good rule of thumb is to design the database schema without too much regard to optimizing performance (especially if you're new) and then change it, if necessary, for performance reasons. As ...
Egret's user avatar
  • 414
7 votes

Do NoSQL and non-relational refer to the exact same concept?

"NoSQL" doesn't consistently refer to any one concept, because it's a marketing term, not a technical one. See for instance my answer on the DBA site. I think you have to look at the ...
IMSoP's user avatar
  • 5,877
6 votes

What technical approach does NoSQL databases use for fast key-value access

The first big difference is that key-value stores require the user to have the entire key for lookup, and can only be looked up by the key. Contrast that with relational databases which can typically ...
Karl Bielefeldt's user avatar
6 votes

When should we use MongoDB?

For your particular case, MongoDB sounds like a good choice, but there are plenty of scenarios (probably most of them) where it wouldn't be the best choice. MongoDB is more suited in scenarios that ...
snickro's user avatar
  • 196
6 votes

In what way is an XML database different from (is not specialization of) a graph database?

The terms XML database and graph database describe the use cases of each kind of database. The XML database is intended to store and search XML documents. Graph databases is intended to represent a ...
Samuel's user avatar
  • 9,197
6 votes
Accepted

NoSQL or SQL for my situation?

We don't know what you're going to persist in the db (vs. deal with in memory), what write volume, what is in transactions, what read volume, what joins etc.. Further, we don't know about evolution ...
Erik Eidt's user avatar
  • 34.2k
6 votes
Accepted

Store and Tag Millions of Images

The question is one of scale, where it will be hosted, cost and management. If you know you are going to host in AWS, then you can take advantage of the distributed nature that makes the cloud more ...
Berin Loritsch's user avatar
6 votes

Implementing tags in object

Short answer It depends on what you intend to do with the tags from an application point of view. If it's just for searching in a single user language, and if the accuracy of the tag is not critical, ...
Christophe's user avatar
  • 78.4k
6 votes
Accepted

NoSQL vs SQL for creating an inventory database

Let me just start by quoting Amazon's DynamoDB FAQ Q: When should I use Amazon DynamoDB vs a relational database engine on Amazon RDS or Amazon EC2? Today’s web-based applications generate and ...
Derek Elkins left SE's user avatar
6 votes
Accepted

When would I pick NoSQL over SQL when dealing with partly schema-less data?

The most important thing to know about NoSQL databases is that there's no such thing as a NoSQL database: it's a term that refers to a number of distinct types of datastores that are not relational. ...
JimmyJames's user avatar
  • 27.6k
5 votes

How to make a basic database application, previously developed for 500 records, ready for 1 million records?

OK, so answering your question literally, You don't need to make any changes. The volume of data on the database isn't usually a scaling issue for webpages. Any given webpage will only be looking at ...
Ewan's user avatar
  • 77k
5 votes

API-oriented databases: is it maintained by the back or API team?

The API should completely hide the database. Regardless of SQL vs No-SQL approaches. That means that: The DB should be filled via calls to the API. Callers of the API don't have to know what the ...
Ewan's user avatar
  • 77k
5 votes
Accepted

Should I use NoSQL (MongoDB) or SQL (postgresql) database for my application?

There are plenty of questions to consider when choosing the DBMS technology at the beginning of a project. Here are the first two that come to my mind: How easy can the data be modelled ? How will ...
Christophe's user avatar
  • 78.4k
5 votes
Accepted

Is it recommended to use schemas on non-relational databases?

Schemaless is a misleading term: On one side, a SQL database always has a well-defined schema. This schema is fixed. If you want to put more information in a "record", you'd have to alter the ...
Christophe's user avatar
  • 78.4k
5 votes
Accepted

What's the use of a wide-column NoSQL db such as Cassandra over a K-V store or a document based db?

Cassandra right now, is not a wide column store - it was before CQL that brought the fixed schema, etc. You can still model necessary functionality using just a number of the columns in the table. ...
Alex Ott's user avatar
  • 231
5 votes

What's the use of a wide-column NoSQL db such as Cassandra over a K-V store or a document based db?

Cassandra is NOT column-oriented storage From Apache Cassandra project on GitHub, Cassandra is a partitioned row store. Rows are organized into tables with a required primary key. Partitioning means ...
lennon310's user avatar
  • 3,222
4 votes
Accepted

How To Design Time Slot Based App

This data can be expressed well in a relational database, so a document based database doesn't really offer an advantage Using the database's querying features to narrow down the booking to the doctor ...
CodesInChaos's user avatar
  • 5,737
4 votes

When should we use MongoDB?

MongoDB is useful in order to store the whole structured data needed to build a given instance of a web page. You can retrieve the data for a given page, pass it to your client application which can ...
Alexis Dufrenoy's user avatar
4 votes

MongoDB schema for tracking matches

When you design database schemas for MongoDB, the decision criteria number one is not "how is my data structured?" but rather "what queries do I want to perform on my data?". Your data schema should ...
Philipp's user avatar
  • 23.4k
4 votes

Which database technology to choose for storing (post + replies) threads

I'll give a bit of rationale for JacquesB's comment with which I completely agree. First, for most domains RDBMSs can very likely scale to the load, and by the time this stops being true (if it ever ...
Derek Elkins left SE's user avatar
4 votes

Can traditional SQL databases be fully replaced by NewSQL?

Its always good to try new things. But a 'normal' SQL databases, although they have a scalability issue, can handle huge loads. You really have to be talking about a large enterprise system or world ...
Ewan's user avatar
  • 77k

Only top scored, non community-wiki answers of a minimum length are eligible