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¶
- Sales Force, (nd). 12 Benefits of Cloud Computing. SalesForce. https://www.salesforce.com/products/platform/best-practices/benefits-of-cloud-computing/