Skip to content

JA8. Advanced Database Topics

Question 1

Consider instead a scenario where client and server machines have the same power. Would it make sense to build a client-server system in such a scenario? Why? Which scenario would be better suited to a data-server architecture?

In theory, servers are more powerful than clients; since each server is designed to serve a large number of clients. however, it is rare that a client -although it has more power than the server- will use all of its power just to interact with the server; the client is usually designed to serve a single user who might have different needs -tasks- that each of them is doing computing stuff locally or fetching different server.

If each client used all of its power to interact with a single server that has the same power; this will introduce a huge latency in the system, and concurrent requests will be queued, where such a queue may grow to a huge size, and the system will be unresponsive. In this scenario, there is no need to build a client-server system, and it is better to use a data-server architecture; where each client will be a separate server that will serve a single user; and all of them talk to the database server directly.

But if the client does not use all of its power to fetch a single server, then the client-server system is better suited to a data-server architecture; since the server will be able to serve multiple clients concurrently with low and unnoticed latency.

Question 2

Explain the advantages of cloud computing over the traditional IT model (Table 10.1) and reference 2 additional websites.

According to SalesForce, the benefits of cloud computing are (I will add my own explanation to each of them):

  • Cost Savings: The Cloud removes the cost of hardware, software, maintenance, and staff to handle the IT infrastructure; not to mention the cost of electricity and cooling.
  • Flexibility: The Cloud allows you to scale up or down as needed, and you only pay for what you use; however, with traditional IT infrastructure, every move must be carefully planned since it is a huge investment (hardware, software, maintenance, staff, electricity, cooling, etc.).
  • Security: This is complex since it has down and up sides; on one hand, the Cloud is not owned by you, which is a security threat to your data; on the other hand, the Cloud provider is responsible for the security of your data, and they have a lot of resources to do so; keeping updated with the latest security standards is just a huge pain that you don’t want to deal with.
  • Mobility: The Cloud allows you to connect to your data from anywhere, and gives you more freedom to be mobile; while the physical parts of the traditional IT infrastructure are fixed in a specific location and limit your mobility.
  • Insight.
  • Increased Collaboration.
  • Quality Control.
  • Disaster Recovery: Usually, Cloud providers have one specialty in data management, and they usually have a very good recovery plan that is much better than what you can do on your own.
  • Loss Prevention: Usually, Cloud providers create multiple replicas of the same data which prevents data loss in case of a disaster.
  • Automatic Software Updates: As was the case with security updates; having this task done by the Cloud provider is a huge win over the traditional IT infrastructure.
  • Competitive Edge: The Cloud allows clients to scale up tens or thousands of times according to the demand; which prevents customer loss due to hardware shipping being late..etc.
  • Sustainability.

References