SQL and Relational Databases - Reading Assignment

  1. What are some of the advantages of NoSQL databases compared to SQL databases?

Non-Relational means table-less: NoSQL databases are non-relational, hence, very different from SQL databases. This means they are easier to manage and they provide a higher level of flexibility with newer data models.

Mostly Open Source and Low-Cost: The open source nature of NoSQL databases makes them an appealing solution for smaller organizations with limited budgets. They allow for rapid processing of real-time Big Data applications in ways that are affordable.

Easier scalability through support for Map Reduce NoSQL database experts often use elastic scalability as a major selling point of NoSQL. NoSQL databases are designed to function on full throttle even with low-cost hardware.

No need to develop a detailed database model: The non-relational nature of a NoSQL database allows database architects to quickly create a database without needing to develop a detailed (fine-grained) database model. This saves a lot of development time.

  1. Do you have to defined a strict structure for your data in NoSQL?

No.

  1. What can you say about the trade-off between scalability and functionality in NoSQL?

The trade off is worthwhile where large amounts of unstructured data need to be quickly stored and retrieved and where relationships between data are not important.

  1. If your data has important relationships that you need to keep track of, is it a good idea to use NoSQL?

No. In that instance a relational database would be appropriate and effective.

1 Like
  1. Scalabality, availability
  2. No
  3. If you need to manage large flows of data with no relations among them, then you can accpet noSQL’s less functionality.
  4. Nope, you’d need RDBMS
1 Like
  1. What are some of the advantages of NoSQL databases compared to SQL databases?

scalability, so useful for huge amounts of data; no predetermind size or structure

  1. Do you have to defined a strict structure for your data in NoSQL?
    no
  2. What can you say about the trade-off between scalability and functionality in NoSQL?

the structuring of the data and relations in sql make it slower an limited. in no sql mass amounts of data can just be poured in …and out.

  1. If your data has important relationships that you need to keep track of, is it a good idea to use NoSQL?
    no
1 Like
  1. What are some of the advantages of NoSQL databases compared to SQL databases?
    –>Is able to scale easier (horizontal vs vertfical)
    –> Faster performance than RDBMS and can also handle larger data
    –> Made to handle JSON format which is the dominant structure of how data is handled these days.

  2. Do you have to defined a strict structure for your data in NoSQL? --> No. You can update & alter the structure

  3. What can you say about the trade-off between scalability and functionality in NoSQL? --> Functionality is less because of the lack of structure. Eg: You cannot do joins in NoSQL

  4. If your data has important relationships that you need to keep track of, is it a good idea to use NoSQL? --> No. It is better to use RDBMS

1 Like
  1. It can process high amounts of data an can be updated on the fly - SQL needs to be structred.
  2. No
  3. It helps when you have larg amounts of data but it loses application - If you need to grow then it works.
  4. No, because NoSQL does not process relational data only larg amounts and low funcionality.
1 Like
  1. What are some of the advantages of NoSQL databases compared to SQL databases?
    High availability, easy to scale and much faster than SQL databases.

  2. Do you have to defined a strict structure for your data in NoSQL?
    No, you can just type in the code without any structure.

  3. What can you say about the trade-off between scalability and functionality in NoSQL?
    Less functionality and high performance

  • You can’t have constraints in NoSQL
  • Joins are not supported in NoSQL
  1. If your data has important relationships that you need to keep track of, is it a good idea to use NoSQL?
    No, it isn’t ideally to use NoSQL.
    NoSQL databases are for big data and non relational data.
1 Like
  1. Easily scalable & high availability (much faster) within many operations that include copious amounts of data.
  2. No; allowed to be semi-structured.
  3. Being high performance means no constraints, no joins supported in backend development.
  4. No!
1 Like
  1. Some advantages of using NoSQL over SQL is that you can insert and update any time and the ability to store large amounts of data.
  2. No.
  3. If you do not require structured data that is linked to other data, then it is far more cost and time efficient to use NoSQL as it has higher scalability capabilities and can be updated at any time.
  4. No, you would be better off using a relational database.
1 Like
  1. Can be modified on the fly, better for hudge amount of data, faster in most types of operations.
  2. No, it can be modified when needed.
  3. NoSQL DB is high preformece due to high scalability. It has less functionality becouse Constraints and Joins are not supported.
  4. No, NoSQL DB isnt good for relationships.
1 Like
  1. What are some of the advantages of NoSQL databases compared to SQL databases?
  • highly scalable
  • high availablity
    • use sharding for horizontal scaling
    • sharding- partitioning data and plaing on multiple machines in such a way that the order of the data is preserved
    • vertical scaling means adding more resources to the existing machines
    • horizontal scaling adds more machines to habdle the data- much easier to implement than vertical scaling
  • high availability- in case of failure, data replicates itself to the previous consistent state
  1. Do you have to defined a strict structure for your data in NoSQL?
    no
  2. What can you say about the trade-off between scalability and functionality in NoSQL?
    highly scalable, but less functionality at the database level. Functionality needs to be added at the application level
  3. If your data has important relationships that you need to keep track of, is it a good idea to use NoSQL?
    no
1 Like
  1. NoSQL databases are easily scalable, hold large amounts of data and can be restructured if the need arises.
  2. No, structure is flexible
  3. NoSQL offers a high degree of scalability, but lacks the functionality.
  4. No. If your data has important relationships, an SQL database is a better choice.
1 Like
  1. What are some of the advantages of NoSQL databases compared to SQL databases?
    Advantages of NoSQL are speed and scalability and the ability to change/redefine schema and data elements on the fly

  2. Do you have to defined a strict structure for your data in NoSQL?

Only SQL requires a strict data structure - NoSQL can be defined on the fly as it doesn’t enforce constraints, etc.

  1. What can you say about the trade-off between scalability and functionality in NoSQL?

NoSQL does not enforce ATOMIC transactions which allow the key values/documents to be defined on the fly and it also uses sharding which allows the database to easily horizontally scale. SQL has a stronger set of functionality but has overhead (due to schema/ATOMIC transaction enforcement).

  1. If your data has important relationships that you need to keep track of, is it a good idea to use NoSQL?

No - If you need to maintain joins, constraints, etc., you should use SQL

1 Like
  1. NoSQL databases are more scalable and efficient then SQL databases.
  2. No
    3.The trade-off is worth it if you need to scale your database to handle all of the data and if your data changes over time.
  3. No.
1 Like
  1. Compared to SQL databases, NoSQL databases have high availability and high scalability.

  2. You do not have to define a strict structure for your data in NoSQL.

  3. NoSQL databases are structured or semi-structured in such a way that they have higher performance and lower functionality.

  4. If your data has important relationships that you need to keep track of, then yes, it is a good idea to use NoSQL. As noted in the previous lecture video, making changes to data in SQL requires full restructuring of the data, which is a waste of both time and effort.

Thanks!

2 Likes
  1. Advantages of NoSQL databases compared to SQL databases:
  • no need of prior definement of structure & schema of data
  • instant processing of data
  • are faster
    (while relational databases provide consistency & integrity of data by enforcing ACID.
    e.g. banking system, slower response),
  • most applications data is stored in JSON format:
    • performance of CRUD isn’t better in RDBMS
      (structured data provide more functionality, but less performance),
    • while NoSQL databases are compatile with most of today’s world apps
  1. No.

  2. NoSQL database are easy to scale and much faster in most operations that we perform on a database. Sometimes one is facing the dilemma if to choose a relational database over a NoSQL database. When we deal with huge amount of data NoSQL database is most appropriate (store & retrieve them, but the relations inbetween them is not important, they are not structured or changing).

So to summarise NoSQL databases:

  • need no prior definement of structure - semi structured data
  • store data in JSON & are compatible with most of the apps
  • high performance - are easy to scale - high scalability because of the use of sharding
    (partitioning of data & placing it on multiple machines in a daterministic way (preserving data order))
  • high scalability go hand in hand with high availability. e.g.MongoDB:
    • auto replication feature in
    • in case of any failure data replicates itself to the previous consistent state
  • less functionality:
    • can’t have constraints
    • joins are not supported
  1. No.
1 Like
  1. The primary advantages for NoSQL is scalability and performance. Unlink SQL, NoSQL can scale horizontally, meaning additional computers can be put in place to store the vast amount of data. As NoSQL is created in JSON format, it’s also easy to connect to most applications. As NoSQL performs in JSON, it means database structures can change easily.

  2. You aren’t required to have a strict structure for data in NoSQL. This is because Joins and constraints must be performed on the application level. These are unable to be performed on the database level. Database structures are also able to be changed at any time with NoSQL.

  3. SQL is fantastic for performing database-level constraints and joins. SQL is able to make relationships between tables and data, however this means that computing is much more intensive.
    NoSQL on the other hand, is extremely efficient and able to scale horizontally. The cost of this scalability, efficiency and functionality is the fact that joins and connstraints are unable to be performed by the database. This means that if these are required by the application, they must be performed at the application level. NoSQL is also less secure in that it is not atomic. If an error occurs mid-way through performing and action on a NoSQL database, the data for that entry may be corrupt. SQL on the other hand will either perform an action to completion, or not at all - protecting the data from unexpected events like power outages.

  4. NoSQL is great for maintaining large data sets or continuous data feeds, however it is not optimised for maintaining relationships. So if maintaining relationships is an important part of the application, NoSQL is not the ideal choice of database.

1 Like
  1. Some advantages of NoSQL compared to SQL databases are that they are easy to scale, much faster in most types of operations, and there’s no need to create tables or define schema before inserting the data.

  2. No, you don’t have to define a strict structure for your data in NoSQL.

  3. NoSQL provides high scalability through horizontal scaling, allowing it to handle huge amounts of data. However, NoSQL can’t have constraints and joints are not supported, which actually hinders scalability and causes less functionality.

  4. It is not a good idea to use NoSQL if your data has important relationships to keep track of.

2 Likes
  1. High scalability, faster and high availability
  2. No
  3. That it is a trade-off. If you need high scalability and the ability to make changes to the database as you go along you need to go with NoSQL on the other hand if relational date that is secured by ACID properties is what you need, you should have an SQL database.
  4. No
2 Likes
  1. NoSQL databases are easier to scale and much faster than relational database.
  2. No.
  3. Less functionality, with high performance. You can’t have constraints and joints are not supported in NoSQL.
  4. No, it is not a good idea.
1 Like
  1. What are some of the advantages of NoSQL databases compared to SQL databases?

-It’s more scalable, higher performance with big amounts of data
-Lower cost of implementation and maintenance
-No need to structure the data upfront
-Can handle better a rapidly growing database

  1. Do you have to defined a strict structure for your data in NoSQL?

No, there is no need to define a data structure upfront, nor stick to a strict structur

  1. What can you say about the trade-off between scalability and functionality in NoSQL?

NoSQL can handle big amounts of data and growing databases, but it can´t have constraints or make joins with other tables to establish relationships between different data sets; this is why its functionality is very limited.

  1. If your data has important relationships that you need to keep track of, is it a good idea to use NoSQL?

NoSQL is more efficient for key value pairs (e.g. a table containing name and gender). But as it doesn’t support joins, can’t handle relationships between different tables. So it won’t be a good idea to use NoSQL if we need relationships to establish between our datasets. A much better option would be SQL.

2 Likes