... | ... | @@ -39,7 +39,7 @@ i. Marks to be awarded for: |
|
|
- Appropriate data types indicated (1-2)
|
|
|
ii. Marks for any of the following or similar salient point, to a maximum of 4 marks:
|
|
|
- MongoDB is a document-based data store OR
|
|
|
- MongoDB is a `Not Only SQL'/non-relational solution (1)
|
|
|
- MongoDB is a ``Not Only SQL''/non-relational solution (1)
|
|
|
- Document-based data stores lend themselve better to horizontal scaling as discrete documents are easily distributed across multiple servers. MySQL does not scale well without sharding logic being built into the application (2)
|
|
|
- MongoDB supports data replication, which can help the system maintain efficiency as the userbase grows and there are more simultaneous connections to the database (2)
|
|
|
- MongoDB is better adapted for dealing with big data and analytical types of database queries, which would be required when analysing large sets of learner data (2)
|
... | ... | @@ -47,7 +47,7 @@ ii. Marks for any of the following or similar salient point, to a maximum of 4 m |
|
|
iii. Marks may be awarded for any of the following or other salient point, to a maximum of 6:
|
|
|
- The app should be written with portability in mind (1)
|
|
|
- Logic should be separate from presentation (1)
|
|
|
- There would be `separation of concerns', meaning parts of the app that serve a related purpose are developed and maintained separately. This makes it possible to change/upgrade part of an app without the need to rewrite all other parts. (1-3)
|
|
|
- There would be ``separation of concerns'', meaning parts of the app that serve a related purpose are developed and maintained separately. This makes it possible to change/upgrade part of an app without the need to rewrite all other parts. (1-3)
|
|
|
- Adopting OOP paradigm and creating classes to encapsulate data and behaviour associated with objects of a given type would improve portability. (1-3)
|
|
|
- Python provides different APIs for interfacing with each type of database (Pymongo, MySQL Connector). (1)
|
|
|
- Adopting MVC architecture (Model-View-Controller) means objects in the application are categorised as model (meaning they process data), view (meaning objects a user interacts with), or controller (meaning objects which communicate new or changed data to model objects). If implemented correctly, theoretically, only the controller objects would need rewriting, assuming the data stayed the same. (1-4)
|
... | ... | |