Oracle GoldenGate 12c Implementer's Guide
上QQ阅读APP看书,第一时间看更新

Chapter 3. Design Considerations

The most important step in any IT project is the design. This must be the first step, as changes to the system at a later stage will incur additional costs. Factors that affect the design are typically user requirements, functionality, data volumes, performance expectations, security, and cost. Often, the simplest designs are the most elegant and easiest to maintain and upgrade.

At a high level, the design must include the following generic components:

  • Hardware
  • Software
  • Operating system
  • Database
  • Network
  • Storage
  • Security

All these points must be factored into the overall system architecture. So, let's take a look at some of the options and key design issues. The following areas will help answer some of the questions that influence the decision making process:

  • Replication method: What do we want to achieve? What data do we need to replicate?
  • Networking: How do we make our solution resilient to network outages?
  • Performance and scalability: How do we make our solution support the future's non-functional requirements? Shall we scale up or scale out?
  • Backup and recovery: How do we backup data efficiently and restore service quickly with no data loss?
  • Hardware: Should we deploy standalone database servers or clusters?
  • Security: What level of security is required? Should we encrypt the replicated data?
  • Support: How do we ensure our solution is easy to maintain and upgrade?

Ultimately, our design must fulfill functional and non-functional requirements that allow the system to support user and data volume increase without the need to procure additional hardware.