Cloud computing challenges
Despite the clear upsides to relying on cloud services, cloud computing carries its own challenges for IT professionals:
- Cloud security — often considered the greatest challenge facing cloud computing. When relying on the cloud, organizations risk data breaches, hacking of APIs and interfaces, compromised credentials and authentication issues. Furthermore, there is a lack of transparency regarding how and where sensitive information entrusted to the cloud provider is handled.
- Cost management — pay-as-you-go subscription plans for cloud use, along with fluctuating workloads, can make it tough to define and predict final costs.
- Lack of resources and expertise — with cloud-supporting technologies rapidly advancing, organizations are struggling to keep up with the growing demand for tools and employees with the proper skill sets and knowledge.
- IT governance — cloud computing can make IT governance difficult, as there is no control over provisioning, de-provisioning and management of infrastructure operations. This can make it challenging to properly manage risks, IT compliance and data quality.
- Compliance with industry laws — when transferring data from on-premises local storage into cloud storage, it can be difficult to manage compliance with industry regulations through a third party.
- Management of multiple clouds — multi-cloud deployments can disjoint efforts to address more general cloud computing challenges.
- Performance — largely beyond the control of the organization contracting cloud services with a provider. Outages can interfere with productivity and disrupt business processes if organizations are not prepared with contingency plans.
- Building a private cloud — this can be a daunting task for IT departments.
- Cloud migration — the process of moving applications and other data to a cloud infrastructure oftentimes causes complications. Migration projects frequently take longer than anticipated and go over budget.
- Vendor lock-in — oftentimes, switching between cloud providers can cause significant issues. This includes technical incompatibilities, legal limitations and incurring substantial costs.
Over the years, to satisfy the needs of data storage, processing and retrieval, database models of varying degrees of sophistication were devised.
Large enterprises needed to build many independent data files containing related and even overlapping data, often in quite different formats to fulfill different purposes.
Data-processing activities frequently required the linking of data from several files necessitating designing data structures and database management systems that supported the automatic linkage of files. Four database models and their corresponding management programs were developed to support the linkage of records of these types. The following database models and their management systems are in common use:
- Hierarchical databases.
- Network databases.
- Relational databases.
- Object-oriented databases
Hierarchical Database Management System:
A hierarchical database is a one in which the data elements have a one-to-many relationship (1:N). The schema for a hierarchy has a single root. This kind of database model uses a tree-like structure which links a number of dissimilar elements to one primary record � the “owner” or “parent”. Each record in a hierarchical database contains information about a group of parent child relationships. The data are stored as records, each of which is a collection of fields containing only one value. The records are connected to each other through links. The structure implies that a record can have a data element repeated. Hierarchical models make the most sense where the primary focus of information gathering is on a concrete hierarchy such as a list of business departments, assets or people that will all be associated with specific higher-level primary data elements. They are very simple and fast. In the hierarchical database model the user must have some prior information about the database. Hierarchical databases were popular in early database design, in the era of mainframe computers.
The idea behind hierarchical database models is useful for a certain type of data storage, but it is not extremely versatile. They are confined to some very specific uses. For example, where each individual person in a company may report to a given department, the department can be used as a parent record and the individual employees will represent secondary records, each of which links back to that one parent record in a hierarchical structure.
Disadvantage: This type of database structure permits each child a relationship with only one parent, and relationships or linkages between children are not permitted, even if they make sense from a logical standpoint. This limitation is circumvented by a repetition of data, which adds to the size of the database. Searching for specific data requires the DBMS to run through the entire data from top to bottom until the required information is found, making queries very slow. The lower the required data in the hierarchy, the longer it takes to retrieve it. Adding a new field or record requires the entire database to be redefineAdvantage: Hierarchical databases relate well to anything that works through a one-to-many relationship. They can be accessed and updated rapidly because in this model, the data structure is like that of a tree, and the relationships between records are defined in advance. These databases allow easy addition and deletion of records. These databases are good for hierarchies such as employees in an organization or an inventory of plant specimen in a museum. Data at the top of the hierarchy is accessed with great speed.