Technology building blocks – ADB
Let’s see what makes an Oracle database autonomous. We will look at various building blocks for autonomous databases. You will notice that starting from Oracle Database version 9i, Oracle introduced several automation capabilities around memory management, workload monitoring, and self-tuning capabilities, which set the base for autonomous databases. With the acquisition of Sun Microsystems, Oracle drove a database infrastructure with engineered systems focused on more automation capabilities and bringing data processing to the storage layer, with innovations such as Smart Scan, query offloading, a storage index, columnar compression, and so on. These database platforms are preconfigured and highly optimized for running database workloads, pre-tested across thousands of deployments, thus forming the base for autonomous databases.
The ADB building blocks are as follows:
- Oracle Database Enterprise Edition (DBEE)
- Oracle Exadata Database Machine
- Oracle’s best practices
- Oracle’s knowledge base
We will talk about each block in detail in the next sections.
If you have prior knowledge of Oracle databases, you will already know that Oracle had two distinct editions of databases targeted for different market segmentation: a Standard edition and an Enterprise edition. As the Enterprise edition was built to suit the high-performance requirements of enterprise customers for transactional and analytical workloads, it has several features that make it enterprise-class. With traditional database deployments, the DBA needs to tweak several configuration parameters based on workload types, not just the database but also the Operating System (OS) and network configuration – everything that goes with any production-ready database deployment. ADB removes these complexities and comes preconfigured with optimal values based on deployment types.
Oracle DBEE sets the foundation for autonomous databases. The database options available with DBEE provide the required capabilities to run ADB. The following options give ADB autonomous capabilities:
- Real Application Clusters (RAC): Provides high availability functionality, including scale-out architecture, failover in case of instance failure, and online patching to avoid downtime
- Active Data Guard: Provides standby capabilities and is used for disaster recovery purposes
- Parallel SQL: A core feature for prioritizing SQL’s parallel degree based on system resources and policies
- Multitenant option: Provides the required functionality for Agile development
- Database In-Memory: Provides high performance for analytic queries
- Transparent Database Encryption (TDE): Part of the Oracle Advanced Security options – a default for data encryption
- Database Vault: Segregation of duties running within a database kernel – used for compliance requirements and blacklisting and whitelisting of users and programs
Quick note – database parameters
All database parameters are set to optimal values based on workload type. Users can only change a limited number of parameters. These parameters are shown in the following screenshot.
Figure 1.3 – List of allowed parameters for modification in ADB
Oracle Exadata Database Machine
If you are new to Exadata Database Machine, you can consider it a combination of software and hardware optimized to run Oracle Database. The current version of Exadata is X9-M and it will be keep being updated based on the latest version. Normally, Oracle follows a cycle of 12 to 18 months to release a new generation of Exadata machines. The very first version of Exadata was released back in 2008. With each Exadata refresh cycle, customers get the most recent CPU processors, memory, increased disk capacity, flash, and high-speed networking components, which provide increased performance, security, availability, and management capabilities. Exadata is known as a great consolidation platform because of the massive capacity and performance available with these machines.
Oracle introduced a storage layer within the database machine, with several innovations supporting scale-out architecture, and parallel query operation, which greatly optimized data processing at its storage layer. Exadata solved two major problems: avoiding network bottlenecks for data movement within the machine through SQL offloading and, at the same time, providing a larger network bandwidth (100 Gbit/s) Ethernet fabric for data access. Exadata also provided separate Ethernet ports for data center connectivity and management operations such as backups. Some of the key innovations within machines can be considered Smart Scan, query offloading to storage, storage indexes, flash caching, resource management, Hybrid Columnar Compression (HCC), and in-memory database capabilities with fault tolerance.
Quick note – ADB platform
ADB runs on RAC on Exadata. ADB decides where to place each database during provisioning. A fewer number of instances are preferred when possible. Even though it’s running on RAC, the database can only be open on one node.
OCI provides required technologies such as networking elements, VCNs, subnets, virtual firewalls (network security groups), security lists, communication gateways, identity and access control, automated provisioning, logging, audit, monitoring capabilities, and so on, which are needed to run Exadata Cloud Service natively. OCI provides end-to-end security with a focus on the unified, automated, prescriptive security experience that makes life easier for customers. Identity management is a key focus for OCI, which helps simplify a customer’s security landscape, starting with data and then moving through the infrastructure, network, monitoring, and edge services. At the data or database layer, OCI supports encryption at rest and in transit and supports hardware security modules.
Within infrastructure, for compute instances, OCI supports hardened OS images, autonomous Linux, hardware root-of-trust, and signed firmware. In the networking domain, OCI supports isolated network virtualization with off-box Network Interface Cards (NICs), private networking with FastConnect, and security zones, which can be used to apply context-specific security policies to compartments. For monitoring, OCI has integrated Cloud Security Posture Management with Cloud Guard. Cloud Guard is very dynamic and OCI releases new services every week for customer needs. Recently, Oracle announced Scanning Service, which scans compute hosts and container images for vulnerabilities. The Bastion service automates the configuration of secure Bastion servers. The Certificates service automates the provisioning and management of private and public certificates. Threat Intelligence Service centralizes threat intelligence and vulnerability feeds integrated across cloud services.
Oracle best practices
Every organization emphasizes adopting best practices, Oracle has published several “best practices,” which are based on expert recommendations for deploying a product, fine-tuning, configuration changes, and so on. In addition to this, Oracle’s Maximum Availability Architecture (MAA) focuses on best practices for the availability of applications based on the categorization of Service-Level Agreements (SLAs). Oracle has a set of best practices around security called defense-in-depth. Best practices allow the Oracle database to run with optimal efficiency. Oracle uses several of its core features to provide the required level of optimization; using technologies such as online reorganization allows online operation for table redefinition without compromising the availability of the system. Using Resource Manager, Flashback Technology, Application Continuity, and Transparent Application Continuity protects against several kinds of failures. RAC protects against node failures, and this also enables rolling patches, service draining, and zero-downtime planned maintenance. Application Continuity protects transactions from failures, allowing safe transaction replay using a JDBC replay driver and Transaction Guard. Using best practices ensures that Oracle technologies achieve the highest level of performance, availability, and security.
Oracle knowledge base
Oracle has a knowledge base of several years built from a diverse set of customer issues, whether service requests, product management contributions, development experiences, bugs reported by customers, or enhancement requests for features and services. The Oracle system for support tickets, known as MOS, is an interface for Oracle and customers that allows them to open up support tickets in case they need help. Customers can visit MOS to explore several knowledge base articles, how-tos, and so on. As part of problem diagnostics and resolution, customers often provide logs, screen shares, diagnostic collection, OS details, trace files, and so on. These files are a great source of information for Oracle for using these as input to build AI and ML for intelligent data analysis and problem-solving.
ML is an important function in the autonomous database, where the database uses ML algorithms and automates the most important aspects of the database, such as security, database backups, patching, performance tuning, index creations, and several routine tasks that are typically performed by a DBA. It has increased productivity, as no human intervention is needed, thus freeing up time for other inventions. OCI also provides an ML platform as a service that can be used by customers to implement their own solutions while using ADB as the database of choice. ML is also a set of tools available in Oracle Cloud that customers can use to implement their own solutions.
We have learned about the different building blocks for ADB, so now it is time to look at the classification of ADB based on workload characteristics. OCI has tailored these databases based on types such as DWH, OLTP, and JSON.