Skip to content

Instantly share code, notes, and snippets.

@tobidosumu
Last active October 5, 2022 08:54
Show Gist options
  • Save tobidosumu/fa5ce60d70b08990c5775cd9edc7a177 to your computer and use it in GitHub Desktop.
Save tobidosumu/fa5ce60d70b08990c5775cd9edc7a177 to your computer and use it in GitHub Desktop.
Database Assignment 1
Question 1
List 10 SQL Database types excluding MySQL and Postgres/PostgreSQL.
Answer:
1. SAP IQ
2. Spark SQL
3. CockroachDB
4. Amazon Aurora
5. Elasticsearch
6. Lovefield
7. Firebird
8. SQLGate
9. MariaDB
10.SQLite
Below is a few additional SQL database types (just for future reference):
11. mSQL
12. IBM Informix
13. SingleStore
14. Google Cloud SQL
15. Google Cloud Spanner
16. Teradata Vantage
17. InterSystems IRIS
18. Apache Derby
19. Apache Calcite
20. Microsoft SQL Server (MS-SQL)
21. Oracle Database Express Edition (XE)
22. Oracle Database
23. Oracle TimesTen
24. Progress OpenEdge
25. Postico
26. EDB Postgres Advanced Server
27. Microsoft Azure SQL Database (SQL Azure)
28. Amazon Relational Database Service (RDS)
29. Aiven for PostgreSQL
30. MaxDB
31. Knack
32. Actian Zen
33. dotConnect
34. Percona Server
35. SAP SQL Anywhere
36. SAP HEC (HANA Enterprise Cloud)
37. SAP Adaptive Server Enterprise (ASE)
38. SAP HANA Cloud (SAP Cloud Platform)
39. Access
40. Ingres
41. Sybase
Question 2
List 6 NoSQL Database excluding MongoDB and CosmosDB.
Answer:
1. Redis
2. Firebase
3. Aerospike
4. Cassandra
5. Couchbase
6. Apache HBase
Below is a few additional NoSQL database types (just for future reference):
7. Amazon DynamoDB
8. Neo4j
9. ArangoDB
10. Azure Cosmos DB
11. OrientDB
12. ScyllaDB
13. Amazon ElastiCache
14. IBM Db2
15. InterSystems IRIS
16. Visual FoxPro
17. Oracle Database
18. InterSystems Caché
19. MongoDB Atlas
20. Google Cloud BigTable
Question 3
List 10 differences between SQL Database and NoSQL Database.
Answer:
DIFFERENCES BETWEEN SQL & NOSQL DATABASES
1. SQL Databases are relational.
NoSQL Databases are non-relational.
2. SQL Databases use structured query language and have a predefined schema.
NoSQL Databases have dynamic schemas for unstructured data.
3. SQL Databases are vertically scalable.
NoSQL Databases are horizontally scalable.
4. SQL Databases are table-based.
NoSQL Databases are document, key-value, graph, or wide-column stores.
5. SQL Better for multi-row transactions.
NoSQL Better for unstructured data like documents or JSON.
6. SQL Databases are best suited for complex queries.
NoSQL Databases are not so good for complex queries.
7. SQL Follows ACID property *
NoSQL Follows CAP #
8. SQL Databases are not suited for hierarchical data storage.
NoSQL Databases are best suited for hierarchical data storage.
9. SQL is A mix of open-source like Postgres & MySQL, and commercial like Oracle Database.
NoSQL is Open-source.
10. SQL becomes handy when data validity is super important.
NoSQL becomes handy when it is more important to have fast data than correct data.
11. SQL is the ideal option when the need is to support dynamic queries.
NoSQL is the ideal option when the need is to scale based on changing requirements.
12. SQL Requires specialized DB hardware (e.g. Oracle Exadata, etc.)
NoSQL Works fine with commodity hardware
Footnotes:
*ACID is an abbreviation for:
Atomicity means all transactions must succeed or fail completely. They cannot be partially-complete, even in the case of system failure.
Consistency means that at each step the database follows invariants: rules which validate and prevent corruption.
Isolation prevents concurrent transactions from affecting each other. Transactions must result in the same final state as if they were run sequentially, even if they were run in parallel.
Durability makes transactions final. Even system failure cannot roll-back the effects of a successful transaction.
#CAP is an abbreviation for:
Consistency: Every request receives the most recent result, or an error. (Note this is different than in ACID)
Availability: Every request has a non-error result, regardless of how recent that result is.
Partition tolerance: Any delays or losses between nodes will not interrupt the system’s operation.
Question 4
a. List 30 examples of ORMs (Object-Relational Mapping)
Answer:
1. ActiveRecord: Ruby
2. nHydrate: .NET
3. Dapper: .NET
4. Quick Objects: .NET
5. NHibernate: .NET
6. TopLink: Java
7. JAVA Persistence API: Java
8. JOOQ ORM: Java
9. Hibernate: Java
10. Apache Cayenne: Java
11. Apache OpenJPA: Java
12. DataNucleus: Java
13. Ebean: Java
14. EclipseLink: Java
15. Enterprise JavaBeans (EJB): Java
16. Kodo: Java
17. SQL Alchemy: Python
18. Django: Python
19. Storm: Python
20. Tryton: Python
21. Doctrine: PHP
22. Laravel: PHP
23. Redbean: PHP
24. CakePHP: PHP
25. CodeIgniter: PHP
26. Yii: PHP
27. FuelPHP: PHP
28. Laminas: PHP
29. Propel: PHP
30. QCubed: PHP
b. List 30 examples of ODMs (Object-Document Mapping)
1. Redis
2. Firebase
3. Aerospike
4. Cassandra
5. Couchbase
6. Apache HBase
7. Amazon DynamoDB
8. Neo4j
9. ArangoDB
10. Azure Cosmos DB
11. OrientDB
12. ScyllaDB
13. Amazon ElastiCache
14. IBM Db2
15. InterSystems IRIS
16. Visual FoxPro
17. Oracle Database
18. InterSystems Caché
19. MongoDB Atlas
20. Google Cloud BigTable
21. InfiniteGraph
22. Riak
23. Voldemort
24. AllegroGraph
25. Amazon Neptune
26. DEX/Sparksee
27. FlockDB
28. JanusGraph
29. MarkLogic
30. Profium Sense
@tobidosumu
Copy link
Author

NB: The additional lists are just for personal future reference as the need may be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment