Friday, January 29, 2021

4 ways retailers can harness disruption with Oracle Autonomous Database

Rapid and profound disruption is impacting the retail industry. The uncertainty, speed, and frequency of unpredictable events, such as the COVID-19 outbreak, are prompting retailers to re-assess their operating environment, suffer higher costs due to enhanced safety precautions for both staff and customers, increase home delivery services, and improve agility in response to market requirements.

While retailers may have adopted digital platforms to enable e-commerce, the rationale and imperative for a true, omnichannel-enabled customer experience has never been more apparent. New technologies, agile competitors, as well as new, demanding shopper expectations are transforming the market. Now more than ever, retailers need a better understanding of consumer needs and a willingness to recognize, embrace, and become a catalyst for change.

So how can you not only survive disruption but harness it for growth? We’ll illustrate through customer stories 4 ways retailers are leveraging Oracle Autonomous Database to do so.

1. Monitor results in real-time to outpace the competition

Dou Yue’s 30 restaurants across China are committed to serving traditional Chinese cuisine on premises and for takeout. Faced with intense competition, especially from caterers and internet-based food service providers, improving their ability to analyze data to support marketing, sales, finance, purchasing, and customer service was key. However, Dou Yue’s multiple, isolated legacy data platforms prevented the company from gaining the comprehensive, real-time insights it needed.

By deploying Oracle Autonomous Data Warehouse and Oracle Analytics Cloud on Oracle Cloud Infrastructure, Dou Yue integrated the data from multiple business systems onto a single, cloud-based platform. The financial team can now pull revenue, inventory, and other data, by restaurant, for company executives to act on. For example, when a restaurant posts a revenue decline, Dou Yue execs can analyze the environmental conditions (traffic, weather), sales model (dine-in or takeout), as well as menu and pricing in the region where the restaurant is located to determine the root causes and adjust strategy.  By analyzing historical trends, repeat-consumption, and other data, Dou Yue is now able to understand which dishes customers like and adjust them, or create new ones, in a timely manner. They can additionally determine which commercial buildings tend to order the most take-out to inform targeted marketing campaigns and where to locate future restaurants.

Autonomous Data Warehouse is the only complete solution that uses a converged database providing built-in support for multimodel data and multiple workloads such as analytical SQL, machine learning, graph, and spatial. It requires no integration with other services, making it easy to load any data, run complex queries across multiple data types, build sophisticated analytical models, visualize information, deliver dashboards, and develop data-driven applications.

Oracle Autonomous Database, Oracle Database Exam Prep, Oracle Database Preparation

Dou Yue is certainly not an isolated case. For instance, Hong-Kong based Maxim’s  is a leading food and beverage company operating 1,700 outlets throughout Asia, including quick service restaurants, bakery shops and more. It is also the licensee of renowned brands including Starbucks Coffee, Genki Sushi and The Cheesecake Factory.

They rely on Oracle Autonomous Data Warehouse and Oracle Analytics Cloud to collect and analyze 600,000 transactions per day, combined with ERP, external demographic, and social media data. Using this solution, they have gained real-time insights into customers’ buying behavior and purchasing habits to alter menus and dishes as preferences change. The results have improved marketing promotions, operational efficiency, and site selection for further growth expansion.

Autonomous Data Warehouse eliminates virtually all the complexities of operating a data warehouse - automating provisioning, configuring, securing, tuning, scaling, patching, backing up and more - enabling Maxim’s to accelerate time to insights while reducing costs and improving security.

“Our catering group manages over 70 brands with support from Oracle Autonomous Data Warehouse for efficient analysis of sales data and customer preferences, which ultimately improves our overall competitiveness. Its self-driving, self-patching capabilities provided costs savings and improved data security.” says Maxim’s Caterers Ltd’s Chief Financial Officer Keith Siu.

2. Boost expansion beyond the core business into adjacent areas


The Abu Dhabi National Oil Company for Distribution (ADNOC Distribution) is the leading fuel distributor in the United Arab Emirates. In addition to selling fuel, in each of its 360 service stations there are ‘Oasis’ retail stores, vehicle inspection stations and car washes. Leveraging the 3.5 million monthly point-of-sale transactions they process would enable them to understand how to better serve customers and maximize revenues.

Oracle Autonomous Data Warehouse enables ADNOC Distribution to harness data in real-time. It brings a detailed view of customer behaviors and preferences by analysis of products by range, category, and store, together with purchasing and promotional-responsiveness data appearing on customer loyalty cards.

As a result, the company can drive greater precision in its marketing initiatives, innovate with new products, and build customer loyalty further; always with the right product in the right place at the right time. It can also plan in-store offers in conjunction with local partners, such as fast food and coffee outlets, with a clearer view of likely outcomes and offtake; this forecasting ROI beforehand and measuring achievements against promotional objectives after any activity.

Relying on Autonomous Data Warehouse furthermore enabled ADNOC to reduce costs by 50% vs their on-premises solution, and to decrease DBA workload by 60% with automated index creation against 650 million transactions, achieving up to 100 times better query performance.

Oracle Autonomous Database, Oracle Database Exam Prep, Oracle Database Preparation

Similarly, PTG Energy in Thailand operates 1,800 fuel service stations and over 200 convenient stores. Relying on Autonomous Data Warehouse helped them reduce the time to insights from hours or days to minutes, empowering retail business managers to improve results.

3. Improve inventory management


It takes a lot to get a perfectly ripe fruit into the hands of a customer. With its fast-growing business and perishable products, Shenzhen Pagoda relies on data to get its fruits to the right store at the right time, taking into account each store’s preferences and consumption patterns. Managing and analyzing all that data is a massive job, and the company needed a data warehouse solution backed by automation and intelligent data management that would help it make fast decisions. It also needed a solution that would greatly reduce costs and its IT team’s involvement. “To keep satisfaction high, we want to continuously supply differentiated and personalized fruit products for customers in different stores,” says Shenzhen Pagoda’s CMO Shen Xin.

Oracle Autonomous Database, Oracle Database Exam Prep, Oracle Database Preparation

Oracle Autonomous Data Warehouse uses machine-learning capabilities that enable Shenzhen Pagoda to load and integrate data from multiple sources from membership information, historical consumption patterns, marketing, inventory, and weather to build profiles of its stores and customers. Machine learning also helps them run reports from bigger datasets faster to determine the best strategies for supply chain and inventory management, with less database administration, for 20 distribution centers and 4,000 retail stores across China.

Shenzhen Pagoda can now predict sales levels for the next week with an 84 percent success rate, ensuring freshness and profits. The accurate prediction of sales enables each store to decide on inventory and promotions. This enhances the consumer experience while reducing inventory backlog, key to delivering fresh products that meet their standards.

Autonomous Database accelerates the creation of Machine Learning models by eliminating the need to move data to dedicated Machine Learning systems. Oracle Machine Learning provides a collaborative interface for data scientists and analysts, with access to 30+ in-database parallel, scalable Machine Learning algorithms.

ImpulseLogic is an ISV with the same objective of helping retailers to maximize revenues while minimizing waste. Their StoreLogIQ solution powered by Oracle Autonomous Transaction Processing enables their customers to ensure product availability on the sales floor, and not only on the loading bay of the store. Thus, retailers can eliminate inventory distortion and benefit from Machine Learning and pattern recognition while reducing costs.

4. Implement loyalty programs


Drop Tank uses Oracle Cloud Infrastructure and Oracle Autonomous Data Warehouse to build fuel rewards programs, linking US gas stations owned and operated by scores of independent regional businesses. Drop Tank’s loyalty programs go beyond the gas station, partnering with other major third-party loyalty programs, such as Southwest Rapid Rewards® and Wyndham Rewards®.

“We need to be ready to handle 1 million transactions a day, so the scalability and enterprise-grade technology available to us in Oracle Cloud is very important” says Drop Tank’s CEO David VanWiggeren.

Autonomous Data Warehouse uses continuous query optimization, table indexing, data summaries, and auto-tuning to ensure consistent high performance even as data volume and number of users grows. Autonomous scaling can temporarily increase compute and I/O by a factor of three to maintain performance. Unlike other cloud services which require downtime to scale, Autonomous Data Warehouse scales while the service continues to run.

Source: oracle.com

Wednesday, January 27, 2021

Difference between Oracle and PostgreSQL

Oracle, PostgreSQL, Oracle Database Exam Prep, Oracle Database Tutorial and Material, Database Preparation, PostgreSQL Preparation

1. Oracle :

Oracle is an American multinational computer technology corporation headquartered in California united states founded by Larry Ellison Bob Oates 1977. Oracle is a relational management system. It is the first database designed for grid computing that provides the most flexible and cost-effective way to manage information and application. It runs a major platform like WINDOW, UNIX, LINUX and MACOS. It will relational database in which data accessed by the user through the application or query language called SQL.

Here is Different Edition of oracle are:

◉ Enterprise Edition

◉ Standard Edition

◉ Express Edition

◉ Oracle Edition

2. PostgreSQL :

PostgreSQL is a relational database management system. It is an open-source database active development for over 20 years. It supports all the features of RDBMS that provide open connectivity and runs on major platforms like UNIX, MACOS, WINDOW, LINUX etc. It also supports video text audio images programming interface in various programming language C, C++, JAVA, PYTHON, PERL etc. It also knows as POSTGRES.

Difference between Oracle and PostgreSQL:

Basis of Oracle  PostgreSQL 
Definition Oracle is a relational management system.It is first database designed for grid computing. PostgreSQL is free open source relational-database management system emphasizing extensibility and SQL compliance. 
Development  Oracle developed by Larry Ellison and Bob in 16 june 1977. PostgreSQL developed by PostgreSQL global Development group in 8 july 1996.
Written in   Oracle written in c and C++ language.   PostgreSQL written in C language. 
Latest version   Oracle runs on 19c version which release on February 2019.   PostgreSQL runs on PostgreSQL 12.3 version which release on may 2020. 
License  Oracle required license.   PostgreSQL is open source. 
Support  Oracle support cost based.   PostgreSQL provide free support or option with paid support at low cost. 
Security  Oracle is more secure than PostgreSQL.   PostgreSQL provide good security but it is not secure as Oracle. 
Programming language   Oracle support various language like C, C++, JAVA, PERL, .NET, JAVA SCRIPT, PHP etc.   PostgreSQL support C, C++, JAVA, PERL, SCALA, PHP, C#, COBOL, JAVA SCRIPT etc. 
Features.   Availability. Fast-Start Failover to Standby Database.
Business Intelligence. SQL Support for Analytic Applications.
Clustering. Real Application Clusters (RAC) Performance.
Content Management.
Database Overall.
Database Security.
Grid Computing. 
Complex SQL queries.
SQL Sub-selects.
Foreign keys.
Trigger.
Views.
Transactions.
Multi version concurrency control (MVCC) 

Monday, January 25, 2021

Features of Oracle Server

Oracle Database Exam Prep, Oracle Database Preparation, Database Learning, Database Career

The Oracle Server is a relational database management system that provides an open, complete, and integrated approach to information management. An Oracle Server consists of an Oracle database and an Oracle instance. The following are the features of the Oracle:

1. Client/ Server Architecture- To take full advantage of the distributed systems, the oracle can allow processing to be split into client and server application programs. So, for the purpose of the distributed processing, it is based on client/server architecture.

2. Large database and Space Management- Oracle can support the largest of the databases. It allows the full control of space used so that hardware devices can be used efficiently.

3. High availability- It is never out of action or unavailable. Therefore, all the normal operations such as backups or partial failures do not interrupt the use of the database.

4. Many concurrent database users- Oracle server minimizes the disputes between the data and assures data concurrency.

5. Openness industry standards- Oracle follows the industry-accepted standards for the data access language, user interfaces, operating systems, and other network protocols. One of the advantages is that it is an “open” system that protects a customer’s investment.

6. Enforced database integrity- Oracle enforces data integrity which is the assurance of the consistency of the data. As a result, the costs of coding and managing checks in many database applications are removed.

7. Portability- Oracle software can be ported to work under a number of operating systems. Applications that are developed using Oracle can be ported to other operating systems without requiring any changes.

8. Compatibility- Oracle software is compatible with the standards of industries. Applications developed for oracle is compatible with many other systems without a need for much modification.

9. Controlled availability- Oracle also has a great feature of controllable availability and each and every level(even at sub-level). For Example, the administrator can also disable some specific applications to be packed or loaded without affecting other applications.

10. Concurrent processing- Oracle allows a number of concurrent users to execute a variety of applications concurrently. A number of applications can be run at the same time by using Oracle.

11. Replicating environments- Oracle software allows users to replicate groups of tables and their supporting objects to multiple sites.

12. High transaction processing performance- Oracle also maintains a high degree of overall system performance. The database users do not suffer from slow processing performance.

13. Manageable security- To protect against unauthorized database access and use, Oracle provides fail-safe security features to limit and monitor data access.

14. Distributed systems- Oracle is based on distributed systems that have the same degree of user transparency and data consistency as non-distributed systems with the advantages of local database management.

Saturday, January 23, 2021

Oracle Database 21c and APEX Application Development Service Launch [IDC]

Oracle Database 21c, Oracle Database Exam Prep, Oracle Database Guides, Database Career

Oracle made a pair of announcements that serve to solidify the company’s position as a leader in the area of cloud database management. The announcements were made by Executive Vice President Andy Mendelsohn, and include the release of Oracle Database 21c and of the new cloud-based APEX Application Development Service.

Oracle Database 21c

Oracle Database 21c features a number of key enhancements, including immutable blockchain tables (immutability is key to ensuring the validity of ledger data for purposes of security and regulatory compliance), native JSON support, AutoML, in-database JavaScript (optimized run-time JavaScript that runs inside the database server to eliminate network round-trips), persistent memory support, improved graph model support, automation of in-memory column store determination, and sharding automation. Let’s just look at a few of these improvements.

Native JSON support. Oracle Database now features internal optimizations, including storage optimizations, that enable it to manage JSON documents natively, just as pure-play document DBMSs do, but in a manner that exploits all the performance enhancing power of Oracle Database. This is significant because it used to be the case that one had to choose between more efficient JSON management in a pure-play DBMS, or the ability to integrate JSON data with other data, such as relational data, in Oracle. Now, that choice is no longer necessary, because Oracle Database features both JSON efficiency and integrated data management.

AutoML. Setting up machine learning models, executing them, enhancing them, and rerunning the ML operations is usually a task that requires special expertise. AutoML automates most of this effort, enabling non-experts to set up and run in-database machine learning. Also included are algorithms for anomaly detection, regression, and deep learning analysis, among others.

Persistent Memory Support. Oracle Exadata has offered database operational optimization using the Intel Optane Persistent Memory (PMEM) technology for over a year now on-prem, and most recently as part of the Exadata Cloud Service X8M offering. Now, persistent memory support is available to other compute platforms with the Intel PMEM technology, both in the cloud and on-premises.  This means reduced I/O latency which leads to faster transaction processing (using PMEM instead of flash storage for data and redo records), faster access to frequently used data, as well as quicker restart times. An additional benefit is cost savings from reduced dependency on DRAM.

Sharding Automation. Sharding databases has become a common means of managing geo-distributed data in a way that allows the shards (or database fragments) to operate independently, delivering better performance and more robustness than operationally interdependent database servers. But setting up database shards can be tricky; get it designed wrong and you can expose users to data inconsistency or performance problems. Native Database Sharding optimizes shard operations, and includes a Sharding Advisor Tool that takes the guesswork out of sharded database design. For its BlueKai Data Management Platform, for example, Oracle Database shards are deployed across multiple availability domains in Oracle Cloud Infrastructure (OCI), support 1 million transactions per second, 30 billion API calls per day, and a Redo generation rate of 180 terabytes per hour.

Oracle APEX Application Development Service

Oracle Database 21c, Oracle Database Exam Prep, Oracle Database Guides, Database Career
Oracle has long offered the ability for users to build applications for Oracle Database with little effort through a tool known as APEX (originally, Application Express). APEX has included a facility for storing metadata structures in the database that can be driven as an application following the form and function defined by the user. Because the application is executed by the database server, it enjoys excellent database performance.

Now, Oracle offers APEX as a cloud-native application development service running on Oracle Database in OCI. The integrated development environment includes a 1 terabyte database running on a single OCPU for $360 per month, and scalable to up to 128 OCPUs and 500 terabytes. Because it runs as a standard feature of Oracle Autonomous Database, there is no run-time charge for application execution. Most applications can be developed using the graphical development environment with no code at all, though more demanding applications may require a bit of code here and there. This offering is part of a movement in the database world known as low-code development. Notably, most low-code databases are fairly simple, and are generally used for simple operational tasks or reporting. By contrast, APEX is integrated into a powerful, full-function DBMS and used today by tens of millions of users worldwide, including the recently unveiled Oracle Public Health Management Applications designed to help U.S. public health agencies and healthcare providers collect and analyze data related to COVID-19.

Low code is meant to remove the burden from professional developers and DBAs of having to design and build a database and code an application for each and every user requirement that falls outside the realm of mission-critical applications and databases. Relatively non-technical users can do both with APEX, usually without requiring any expert assistance. This should not only relieve IT professionals from doing such work, but also empower users by enabling them to get the job done themselves. This should appeal to those seeking custom application extension, LoBs looking for local applications that fill specific needs, and data professionals that know how to slice and dice data—but not necessarily how to build databases and code applications.

Source: oracle.com

Friday, January 22, 2021

Oracle a Leader in The Forrester Wave™: Graph Data Platforms, Q4 2020

Oracle Database Tutorial and Material, Oracle Database Exam Prep, Oracle Database Preparation, Oracle Database Guide

Oracle is pleased to be recognized as a Leader in The Forrester Wave™: Graph Data Platforms, Q4 2020. Oracle scored 5 out of 5 for graph data platforms in ten criteria:

◉ Application development
◉ Analytics
◉ Data security
◉ High availability and disaster recovery
◉ Data loading/ingestion
◉ Workloads
◉ Strategy execution
◉ Vision
◉ Global presence
◉ Support

The report noted, “Oracle supports both RDF (Resource Description Framework) and property graph models,” and observed that, “Customers like Oracle’s capabilities for technical support, PGQL, ease to start with SQL-like syntax and performance for moderately sized deployments.”

Graphs in a converged database


Oracle has a unique approach to graph platforms by offering graphs and analytics in a converged database—a single platform for multiple data types and models as well as multiple workloads: operational, transactional, analytic and more—with Oracle Database on premises, in Oracle Cloud Infrastructure (OCI), on Exadata Cloud@Customer, and in Oracle Autonomous Database.

With a converged database, analysts and developers can seamlessly perform graph analysis on data used in other systems, like data warehouses or transaction systems. They can also transparently use in-memory and partitioning features to enhance query performance and scalability. Or combine social network analysis with location analysis to understand how social network communities and influencers may be related to where people and places are in the real world, and use the results of graph analysis as “signal input” for AI and machine learning applications.

What do we believe makes Oracle a leader?


◉ Support for both popular graph models—RDF and property graph

◉ Seamless inclusion and analysis of all enterprise data

◉ The only graph offering in the cloud that is part of Oracle Autonomous Database

◉ Intuitive graph query language, graph visualization, notebook support, and developer APIs

◉ Nearly 60 high-performance graph algorithms available immediately

◉ Enterprise-scale throughput and performance

Oracle’s property graph features offer powerful analytics and fast, enterprise-grade performance to help discover insights so that organizations become more data-driven. Developers and analysts can perform common graph queries and analyses with nearly 60 high-performance graph algorithms, including pattern matching, detecting cycles, finding important nodes, community detection, and recommendations using Java, Python and PGQL, a native SQL-like query language.

Oracle Database Tutorial and Material, Oracle Database Exam Prep, Oracle Database Preparation, Oracle Database Guide
Property graphs can also be used to discover fraud, perform customer-360 analysis, understand dependencies in manufacturing and networks, and perform social network and relationship analysis.

RDF graph features provide a high performance, scalable, standards-compliant RDF database with native inferencing, just-in-time reasoning, ontology support, and the ability to scale to trillions of triples. With support for all datatypes and enterprise database capabilities, it is widely used for linked data, data integration, and knowledge graphs by statistics agencies, pharmaceutical companies, and publication offices.

Oracle also offers enterprise graph scalability and performance. The deployment at the National Statistics Center, Japan, shows how well graph queries scale through a massive enterprise graph representing all census and statistical data published by the Japanese government and accessed by government agencies, businesses, and the public. Their graph grew from 1.1 billion triples to 2.1 billion triples in a year and the average graph query performance was a consistent 1.27 seconds.

The Oracle Difference


Because Oracle provides a common, converged platform for all enterprise data, data can be modeled as graphs and graph analysis can be performed on the same powerful data management platform used to manage all your operations. As a result, graph applications can use the industry-leading ETL, data preparation, replication, and streaming and enterprise data management capabilities that have made Oracle the world’s converged database leader. Oracle has invested heavily to simplify and automate complex data management tasks to: 

◉ Transform data without impacting systems
◉ Cleanse and repair data to make it trustworthy
◉ Ingest data and events with zero-downtime for operational systems
◉ Replicate data or recover data after any replication failures
◉ Model graph and simplify graph analysis

As part of Oracle’s commitment to innovation, you can not only create and work with graphs, but also apply graph analysis to the systems, processes, and data you work with every day.


Download the report and read more, or get started with a step-by-step workshop.

Source: oracle.com

Tuesday, January 19, 2021

The Hidden Data Economy and Oracle’s Converged Database

Eight thousand currencies circulated in the United States in the 1840s. Small town banks, credit unions, and even railroad companies printed their own cash. When you travelled your money lost value or even got refused because people in Virginia might not trust your Baltimore and Ohio Railroad bucks. Bartenders and hotels referred to giant logbooks of monthly exchange rates so for individual purchases. The resulting transaction costs were a drag on the overall national economy.

Oracle’s Converged Database, Oracle Database Exam Prep, Oracle Database Guides, Oracle Database Preparation

As cumbersome as this sounds, it’s a lot like the data currently circulating through your company. Whether you know it or not, your firm is running an internal data economy hiding in plain sight. And it’s probably underperforming.

Data gets minted by thousands of apps, devices, and sensors across the enterprise—each in its particular format and structure. Think of this as the data supply side. Demand for that data comes from thousands of analytics, AI, and even other apps that want to use those observations but in different formats and structures, or in combination with other datasets.

But the solution the United States settled on, a single currency, won’t work for the data economy inside your company. Creating diverse data and using it in novel ways is inseparable from innovation in apps, analytics, and AI.

But the digital world offers a possible solution the physical world can’t—shapeshifting data. For example, you may want to write data as JSON objects and then query them with SQL as if the data had originated in relational tables. This is an increasingly common need as enterprises realize they want to run analytics on data created by Web and mobile apps.

Similarly, a bank writing transactions in a relational model may want to query that data as a network, or graph, of payments and transfers to better spot patterns that indicate money laundering.

This insight is one of the main motivations behind Oracle’s converged database. This multi-model, multi-tenant, multi-workload database brings together a unique combination of abilities to deliver shapeshifting data at scale. Oracle’s converged database (Oracle Database 19c and later) is:

◉ Multi-model. Native support for multiple types of data models and access methods includes cross-model methods like SQL and model-specific ones like RESTful APIs for JSON objects or PGQL (property graph query language) for property graphs.

◉ Multi-tenant. A database container architecture provides database consolidation, isolation, and agility.

◉ Multi-workload. A wide array of software optimizations work alone or in conjunction to deliver exceptional price-for-performance across all types of database jobs.

Oracle’s converged database helps companies increase the value of their hidden data economies in a number of ways. First, it lets companies have their data cake and eat it too by giving developers, data scientists, and analysts what they want—APIs with the access methods their current project requires—while CTOs and IT operations people get what they want—a fleet of engines configured to their particular job, but with the same architecture, tooling, security methods, patching schedules, and upgrade path.

Oracle’s Converged Database, Oracle Database Exam Prep, Oracle Database Guides, Oracle Database Preparation

Second, by reducing the time, cost, effort, and risk of repurposing a given dataset, Oracle’s converged database encourages firms to use their data in a wider variety of processes and decision points across the enterprise, thereby creating more value from that one data asset.

Third, Oracle’s converged database can be deployed in public cloud, local cloud, and on-premises, allowing firms to create a unified data tier across these diverse operating environments.

As companies become more focused on bringing their hidden data economies into the light and increasing their return on data capital, they will increasingly look for technologies that reduce the time, cost, effort, and risk of creating proprietary data assets and using them in new ways. Oracle’s converged database is one of the most important technologies in making this possible.

Source: oracle.com

Monday, January 18, 2021

Introducing Oracle Database 21c

The latest Innovation release of the world's most popular database, Oracle Database 21c, is now generally available "cloud first" in the Oracle Cloud Database Service Virtual Machine (for RAC and single instance) and Bare Metal Service (single instance). It's also available in the Autonomous Database Free Tier Service in Ashburn (IAD), Phoenix (PHX), Frankfurt (FRA) and London (LHR) regions. General availability of Oracle Database 21c for on-prem platforms (including Exadata, Linux and Windows) will follow along in 2021.

Enabling a Data-Driven Future

Oracle has consistently taken the approach that storing and managing data in a converged database is more efficient and productive than breaking up into multiple single-use engines - which inevitably results in data integrity, consistency and security issues. Simply put, a converged database is a multi-model, multi-tenant, multi-workload database. Oracle Database fully supports multiple data models and access methods, simplifies consolidation while ensuring isolation, and excels in typical database workload use cases - both operational and analytical. Click the image below for a video introduction to Oracle's converged database.

Oracle Database 21c, Oracle Database Tutorial and Material, Oracle Database Exam Prep, Oracle Database Certification, Database Guides

The 21c generation of Oracle's converged database therefore offers customers: best of breed support for all data types (e.g. relational, JSON, XML, spatial, graph, OLAP, etc.), and industry-leading performance, scalability, availability and security for all their operational, analytical and other mixed workloads. Oracle's converged strategy also ensures that developers benefit from all Oracle Database 21c key capabilities (e.g. ACID transactions, read consistency, parallel scans and DML, online backups, etc.) - freeing them to focus on developing applications without having to worry about data persistence.

New in Oracle Database 21c


This latest Innovation release introduces a number of new features and enhancements that further extend database use cases, improves developer, analyst and data scientist productivity, and increases query performance.  Listed below is a subset of what's new in Oracle Database 21c.

Blockchain Tables


Blockchain as a technology has promised much in terms of solving many of the problems associated with the verification of transactions. While considerable progress has been made in bringing this technology to the enterprise, a number of problems exist. Arguably, the largest being the complex nature of building applications that can support a distributed ledger. Oracle Database 21c addresses this problem with the introduction of Blockchain Tables. These tables operate like any normal heap table, but with a number of important differences. The most notable of these being that rows are cryptographically hashed as they are inserted into the table, ensuring that the row can no longer be changed at a later date.

Oracle Database 21c, Oracle Database Tutorial and Material, Oracle Database Exam Prep, Oracle Database Certification, Database Guides

This essentially creates an insert only table, and users are unable to update or delete Blockchain Table rows. In addition, users are also prevented from truncating data, dropping partitions or dropping Blockchain Tables within certain time limits. These important capabilities mean that other users can trust that the data held in a Blockchain Table is an accurate record of events. 

Native JSON Datatype


Oracle introduced support for JSON in Oracle Database 12c, storing JSON data as a VARCHAR2 or a LOB (CLOB or BLOB). This enabled developers to build applications with the flexibility of a schemaless design model, with all the power of Oracle Database. For example, users could query JSON documents using standard SQL, take advantage of advanced analytics, index individual attributes or whole documents, and process billions of JSON documents in parallel. Oracle also provided tools to discover what attributes make up the JSON documents, and thereby trivially create relational views on top of the collections. It was also possible for developers to treat their Oracle Database as if it were a NoSQL database by accessing it with the SODA (Simple Object Data API) APIs available for Java, Node.js, Python, C and REST.

In Oracle Database 21c, JSON support is further enhanced by offering a native data type, "JSON". This means that instead of having to parse JSON on read or update operations, the parse only happens on an insert and the JSON is then held in an internal binary format which makes access much faster. This can result in read and update operations being 4 or 5 times faster and updates to very large JSON documents being 20 to 30 times faster.

CREATE TABLE j_order
(
   id     INTEGER PRIMARY KEY,
   po_doc JSON
); 

The new data type wasn't the only change that got introduced for JSON in Oracle Database 21c, Oracle also added a new JSON function JSON_TRANSFORM which makes it much simpler to update and remove multiple attributes in a document in a single operation.

 
UPDATE j_order SET po_doc = JSON_TRANSFORM( po_doc,
                                            SET '$.address.city' = 'Santa Cruz',
                                            REMOVE'$.phones[*]?(@.type == "office")'
                                          )
WHERE id = 555; 

Oracle has also added compatibility for the new JSON datatype to integration drivers and utilities like Datapump and GoldenGate.

Executing JavaScript inside Oracle Database


JavaScript is a ubiquitous scripting language that, among its many uses, enables richer user interaction in web applications and mobile apps. It's one of the few languages that runs in a web browser, and can be used to develop both client-side and server-side code. There is a large collection of existing JavaScript libraries for implementing complex programs, and JavaScript works in conjunction with popular development technologies such as JSON and REST.

In Oracle Database 21c, developers can now execute JavaScript code snippets inside the database, where the data resides. This allows them to execute short computational tasks easily expressed in JavaScript, without having to move the data to a mid-tier or browser. The Multilingual Engine (MLE) in Oracle Database 21c, powered by GraalVM, automatically maps JavaScript data types to Oracle Database data types and vice versa so that developers don’t have to deal with data type conversion themselves. Additionally, the JavaScript code itself can execute PL/SQL and SQL through a built-in JavaScript module. All this also enables APEX developers to use JavaScript as a first-class language within their APEX apps, without having to sacrifice the power of PL/SQL and SQL. Here is some sample code that uses the DBMS_MLE PL/SQL package to execute JavaScript code:

set serveroutput on;

DECLARE
  ctx dbms_mle.context_handle_t;
  source CLOB;
  greeting VARCHAR2(100);
BEGIN
  ctx := dbms_mle.create_context(); -- Create execution context for MLE execution

  dbms_mle.export_to_mle(ctx, 'person', 'World'); -- Export value from PL/SQL

  source := q'~
    var bindings = require("mle-js-bindings");
    var person = bindings.importValue("person"); // Import value previously exported from PL/SQL
    var greeting = "Hello, " + person + "!";
    bindings.exportValue("greeting", greeting); // Export value to PL/SQL
  ~';

  dbms_mle.eval(ctx, 'JAVASCRIPT', source); -- Evaluate the source code snippet in the execution context

  dbms_mle.import_from_mle(ctx, 'greeting', greeting); -- Import value previously exported from MLE

  dbms_output.put_line('Greetings from MLE: ' || greeting);

  dbms_mle.drop_context(ctx); -- Drop the execution context once no longer required
END;
/

SQL Macros


It is not unusual for a SQL statement to grow in complexity as the number of joins increase, or the operations performed on the retrieved data becomes more involved. It is also not uncommon for developers to try and solve this problem by using stored procedures and table functions to simplify these commonly used operations. This works extremely well to simplify code, but can potentially sacrifice performance as the SQL engine switches context with the PL/SQL Engine. In Oracle Database 21c, SQL Macros solve this problem by allowing SQL expressions and table functions to be replaced by calls to stored procedures which return a string literal to be inserted in the SQL we want to execute. It's an incredibly simple concept and one that C and Rust programmers will be familiar with. The following trivial example shows it in action.

First, let's create a table and insert a few rows.

CREATE TABLE line_items
(
   id        NUMBER,
   name      VARCHAR2(30),
   item_type VARCHAR2(30),
   price     FLOAT
);

INSERT INTO line_items VALUES (1, 'Red Red Wine', 'ALCOHOL', 15.6);
INSERT INTO line_items VALUES (2, 'Its Cold Out There Heater', 'RADIATOR', 200.49);
INSERT INTO line_items VALUES (3, 'How Sweet It Is Cake', 'FOOD', 4.56);
COMMIT;

The SQL below calculates the value added tax on rows in our LINE_ITEMS table

SELECT id,
  CASE
    WHEN item_type = 'ALCOHOL'     THEN ROUND(1.2 * price, 2)
    WHEN item_type = 'SOLAR PANEL' THEN ROUND(1.05 * price, 2)
    WHEN item_type = 'RADIATOR'    THEN ROUND(1.05 * price, 2)
    ELSE price
  END AS total_price_with_tax
FROM line_items; 

However, Oracle Database 21c can simplify by creating a function with the new SQL_MACRO keyword and returning a string.

CREATE OR REPLACE FUNCTION total_price_with_tax(the_price FLOAT, the_item_type VARCHAR2)
  RETURN VARCHAR2 SQL_MACRO(SCALAR) IS
BEGIN
  RETURN q'[CASE
    WHEN the_item_type = 'ALCOHOL'     THEN ROUND(1.2 * the_price, 2)
    WHEN the_item_type = 'SOLAR PANEL' THEN ROUND(1.05 * the_price, 2)
    WHEN the_item_type = 'RADIATOR'    THEN ROUND(1.05 * the_price, 2)
    ELSE the_price END]';
END;
/

Developers then simply reference the SQL Macro inside a select statement. The SQL that's executed is exactly the same as the original SQL Statement without the overhead of a context switch each time the row is fetched to execute this function.

SQL> SELECT id, total_price_with_tax(price, item_type) AS total_price_with_tax
        FROM line_items;

ID TOTAL_PRICE_WITH_TAX
---------- --------------------
1   18.72
2 210.51
3    4.56

It's also worth noting that developers can use the same approach when creating Parameterized Views and Polymorphic Tables.

In-Memory Enhancements


Analyzing data using a columnar model can result in massive performance improvements as compared to using a row-based model. However, updating data is significantly faster when using data held in rows. Oracle Database In-Memory is unique in that it allows users to benefit from both approaches. With this capability users can run their applications unchanged and Oracle Database In-Memory will maintain a columnar store supporting blazingly fast real-time analytical queries.

Oracle Database 21c introduces three major improvements to enhance performance and ease of use when using Oracle Database In-Memory:

◉ Database In-Memory Vector Joins : Through the use of its newly enhanced Deep Vectorization SIMD Framework, Oracle Database In-Memory can accelerate operations like hash joins on columns held inside of the in-memory column store. In the case of a hash join, the join is broken down into smaller operations that can be passed to the vector processor. The key-value table used is SIMD optimized and used to match rows on the left and right-hand sides of the join. This approach can result in join performance improvements of up to 10 times over traditional methods.

◉ Self-Managing In-Memory Column Store : When Oracle Database In-Memory was first released, users had to explicitly declare which columns were to be populated into the In-Memory Column Store. This gave users a high degree of control if memory was tight. Oracle Database 18c introduced functionality that would automatically place objects in the Column Store if they are actively used and removed objects that weren't. However, users still had to indicate the objects to be considered. In Oracle Database 21c setting INMEMORY_AUTOMATIC_LEVEL to HIGH, ensures that all objects are considered - thereby simplifying the job of managing the in-memory column store.

◉ In-Memory Hybrid Columnar Scans : It is often not possible to have every column of every table populated in the Column Store because memory is limited. In many instances, this isn't an issue but every once in a while users may encounter a query which needs data(columns) from the Column Store and data that's only available in the row store. In previous releases of Oracle Database In-Memory, such querys would simply run against the row store. In Oracle Database 21c users can now use both! The optimizer can now elect to scan the In-Memory Column Store and fetch projected column values from the row store if needed. This can result in a significant improvements in performance.

Oracle Database 21c, Oracle Database Tutorial and Material, Oracle Database Exam Prep, Oracle Database Certification, Database Guides
Hybrid Columnar Scan

Other Notable Enhancements


Please refer to the Oracle Database 21c New Features Guide for complete (long) list, but here are a few more notable enhancements that will be of interest to DBAs, developers, analysts and data scientists:

◉ Expression based init.ora parameters : It's now possible to base database parameters (init.ora) on calculations made on the configuration of the system, i.e. set the database parameter CPU_COUNT on half the number of CPUs available to the operating system.

◉ Automatic Zone Maps : Oracle Database 21c on Exadata can now automatically create Zone Maps based on the predicates used in queries. Previously, this was a manual operation requiring users to understand how the data would be accessed. Automatic zone maps can dramatically reduce the number of blocks that need to be scanned.

◉ In-Database Machine Learning (ML) algorithms built into Oracle Database enables data scientists to leverage the power of Oracle Database to build predictive models (using over 30 ML algorithms) running directly on data held in database tables (as opposed to extracting data into a file system or specialist database for 'sandbox' analysis). Oracle's approach of moving ML algorithms to the underlying data minimizes data movement, achieves scalability, preserves data security, and accelerates time-to-model deployment for predictive-type analytics Oracle Database 21c adds support for the MSET-SPRT and XGBoost algorithms, and the Adam Optimization solver for the Neural Network Algorithm.

◉ AutoML : Oracle Database 21c makes it even simpler for data scientists and analysts to take advantage of in-database machine learning by providing a Python machine learning interfaces to the database. This new client tool compliments existing R and SQL interfaces already available. AutoML simplifies the development of predictive machine learning models by automating the model selection, feature selection and parameter tuning processes required for building accurate models

◉ Optimized Graph Models : Graphs can consist of millions or even billions of edges and vertices and so the storage optimizations we've made to the graph capabilities in Oracle Database 21c preview release can result in big space and performance improvements for your models.

◉ Sharding Enhancements : Oracle Sharding enables linear scalability, fault isolation and geo-distribution for hyperscale applications while retaining the flexibility of SQL. To make it easier to develop Java applications against Oracle Sharding we've introduced a new Java Data Source that makes it simple to obtain connections without having to define the shard key or manage the connection key explicitly. We have also made sharding more fault-tolerant by automatically looking for alternates if the shard you are working on fails during execution. 

◉ Persistent Memory (PMEM) Support : Oracle Database 21c includes support for PMEM file systems that can offer significant latency and bandwidth improvements over traditional file systems that use SSD or spinning disks. However, the applications using them need to understand how to safely write to them and the most efficient way to use them in conjunction with other OS resources. Oracle Database 21c's implementation provides atomic writes, safe guarding against partial writes during unexpected power outages. It also offers Fast I/O operations using memory copy. In addition, it efficiently uses database buffer cache by bypassing and reading directly from PMEM storage.

Source: oracle.com

Friday, January 15, 2021

Build Apps Fast in Oracle Cloud Infrastructure - Announcing New Oracle APEX Application Development for Low-Code Developers

Oracle Database Tutorial and Material, Database Exam Prep, Oracle Database Learning, Database Guides

Oracle Corporation unleashes a new Oracle Application Express (APEX) service for rapidly building and deploying modern data-driven applications in Oracle Cloud. This new service is an ideal on-ramp to Oracle APEX low-code application development in Oracle Cloud Infrastructure (OCI). It provides a simple, ready-to-use, and easily accessible platform that makes it incredibly fast to create powerful apps.

About Oracle APEX and Low-Code Development


Oracle APEX radically simplifies development and deployment of data-driven applications, enabling citizen and professional developers to create applications up to 38x faster than coding. It is used opportunistically by thousands of Oracle customers across the globe to build bespoke applications, enterprise reports, spreadsheet replacements, and more. It has approximately 500,000 developers, advocates, and partners worldwide, with live applications currently in use by millions of end-users daily. Oracle Corporation recently tapped Oracle APEX to rapidly create COVID-19 pandemic response applications for patients and healthcare professionals in the United States and to support national disease vaccination initiatives in three African countries.

Key characteristics of Oracle APEX include:

◉ Low-Code. Oracle APEX provides powerful low-code components that deliver modern user experiences, look beautiful on both mobile and desktop browsers, and can be added to applications via simple drag-and-drop. Example components include Interactive Grid, Faceted Search, Cards, and Charts. Developers define component behavior using declarative settings and populate the display data using standard queries. All application development can take place in a web browser - no additional tools required.

◉ Multi-Model. Applications created in Oracle APEX integrate diverse types of data including relational, JSON, and spatial data. In addition, applications can utilize data from diverse sources including SQL databases and REST interfaces. Developers optionally can extend their applications with APEX plug-ins, client-side JavaScript, and PL/SQL scripts.

◉ In-Database. Because the Oracle APEX engine runs within Oracle Database, in close proximity to application data, applications can be executed with maximum performance and scalability. This eliminates complexity from corresponding middle tiers, making them highly streamlined.

◉ Available Everywhere. With Oracle APEX, developers can build and deploy applications everywhere that Oracle Database runs including on-premises and in Oracle Cloud, Oracle Cloud@Customer, Oracle Dedicated Region Cloud@Customer, and third-party clouds. Moreover, Oracle APEX makes it easy to migrate applications between on-premises environments and hybrid cloud or pure cloud environments.

New Oracle APEX Application Development Service


In response to rising interest in low-code application development and requirements of the worldwide Oracle APEX developer community, Oracle is proud to announce the immediate availability of Oracle APEX Application Development. This new cloud service, also known as “APEX Service”, combines Oracle APEX low-code development with Oracle’s next-generation Oracle Cloud Infrastructure (OCI) and Oracle Autonomous Database - Shared Infrastructure (ADB) to provide breakthrough capabilities and benefits.

Firstly, a new developer-optimized user experience in OCI Console makes it easier than ever to get to Oracle APEX and manage multiple APEX instances within the same cloud tenancy. A new screen in the OCI Console shows Oracle APEX on any ADB-related service, enables you to quickly create APEX Service instances, and allows you to directly launch into APEX and start developing on a running instance with one click.

Oracle Database Tutorial and Material, Database Exam Prep, Oracle Database Learning, Database Guides

Drilling into an existing Oracle APEX instance displays a new APEX-specific page that shows helpful details including instance name, version information, and new APEX usage metrics and charts.

Oracle Database Tutorial and Material, Database Exam Prep, Oracle Database Learning, Database Guides

Secondly, new APEX Service supplies critical capabilities in a single all-inclusive package that is easy for low-code developers to uptake and use. The service not only provides Oracle APEX, but also an underlying ADB database and a pre-configured middle tier with Oracle REST Data Services (ORDS) and SQL Developer Web. Developers can utilize ORDS to create and manage custom REST endpoints on their application data. They can utilize SQL Developer Web to graphically model data and compose SQL queries. APEX Service and its included database are fully elastic, so developers can dynamically scale hardware resources to fit the changing needs of their APEX apps. You can scale up to 128 OCPUs and 500 Terabytes of storage, backed by the extreme performance of Oracle Exadata. Scaling can be done manually or automatically in response to changing user load. If an application evolves to require Oracle Net Services (SQL*Net) client connectivity, then a single click can upgrade APEX Service to a full ADB instance that supports SQL*Net. Also, data transfer into and out APEX Service (ingress + egress) is provided at no extra cost.

Thirdly, because APEX Service is built on top of ADB, it is fully managed (autonomous) by default. This means Oracle APEX; the database; and the service networking, physical storage, and security all are pre-configured, tuned, and ready to use. Both Oracle APEX and the database are automatically patched and upgraded for you - with advanced notifications. Oracle APEX typically is upgraded twice per year to add new low-code innovations and freshen its look-and-feel, while also preserving applications and carrying them forward for years to come. Developers can defer an Oracle APEX upgrade for up to 45 days if needed. Of course, certain settings in APEX Service optionally can be changed, but it is nice to know that developers have very few configuration and maintenance responsibilities out-of-the-box.

Finally, perhaps the biggest news related to new APEX Service is its highly affordable price. Now, you can get Oracle APEX running in OCI for less than US$360 per month*. This price makes Oracle APEX much more accessible to low-code developers of all kinds, whether they are employed by an enterprise, working independently, or volunteering their time. Furthermore, unlike low-code services from other vendors, there are no fees per-application, per-developer, or per-end-user. There are no limits on the number of applications that can be deployed, number of developers using the service, or end-users that can use apps. Developers are free to deploy several Oracle APEX applications supporting 1,000s of end-user accounts on a single APEX Service instance.

Source: oracle.com

Wednesday, January 13, 2021

Recoverability in DBMS

As discussed, a transaction may not execute completely due to hardware failure, system crash or software issues. In that case, we have to roll back the failed transaction. But some other transaction may also have used values produced by the failed transaction. So we have to roll back those transactions as well.

Recoverable Schedules:

Schedules in which transactions commit only after all transactions whose changes they read commit are called recoverable schedules. In other words, if some transaction Tj is reading value updated or written by some other transaction Ti, then the commit of Tj must occur after the commit of Ti.

Example 1:

S1: R1(x), W1(x), R2(x), R1(y), R2(y), 

         W2(x), W1(y), C1, C2; 

Given schedule follows order of Ti->Tj => C1->C2. Transaction T1 is executed before T2 hence there is no chances of conflict occur. R1(x) appears before W1(x) and transaction T1 is committed before T2 i.e. completion of first transaction performed first update on data item x, hence given schedule is recoverable.

Example 2: Consider the following schedule involving two transactions T1 and T2.

T1 T2 
R(A)   
W(A)    
  W(A) 
  R(A) 
commit  
  commit  

This is a recoverable schedule since T1 commits before T2, that makes the value read by T2 correct.

Irrecoverable Schedule:


The table below shows a schedule with two transactions, T1 reads and writes A and that value is read and written by T2. T2 commits. But later on, T1 fails. So we have to rollback T1. Since T2 has read the value written by T1, it should also be rollbacked. But we have already committed that. So this schedule is irrecoverable schedule. When Tj is reading the value updated by Ti and Tj is committed before committing of Ti, the schedule will be irrecoverable.

Oracle Database Exam Prep, Oracle Database Tutorial and Material, Database Certification, Database Career

Recoverable with Cascading Rollback:


The table below shows a schedule with two transactions, T1 reads and writes A and that value is read and written by T2. But later on, T1 fails. So we have to rollback T1. Since T2 has read the value written by T1, it should also be rollbacked. As it has not committed, we can rollback T2 as well. So it is recoverable with cascading rollback. Therefore, if Tj is reading value updated by Ti and commit of Tj is delayed till commit of Ti, the schedule is called recoverable with cascading rollback.

Oracle Database Exam Prep, Oracle Database Tutorial and Material, Database Certification, Database Career

Cascadeless Recoverable Rollback:


The table below shows a schedule with two transactions, T1 reads and writes A and commits and that value is read by T2. But if T1 fails before commit, no other transaction has read its value, so there is no need to rollback other transaction. So this is a Cascadeless recoverable schedule. So, if Tj reads value updated by Ti only after Ti is committed, the schedule will be cascadeless recoverable.

Oracle Database Exam Prep, Oracle Database Tutorial and Material, Database Certification, Database Career

Question: Which of the following scenarios may lead to an irrecoverable error in a database system?

1. A transaction writes a data item after it is read by an uncommitted transaction.
2. A transaction reads a data item after it is read by an uncommitted transaction.
3. A transaction reads a data item after it is written by a committed transaction.
4. A transaction reads a data item after it is written by an uncommitted transaction.

Answer: See the example discussed in Table 1, a transaction is reading a data item after it is written by an uncommitted transaction, the schedule will be irrecoverable.

Tuesday, January 12, 2021

Difference between Trigger and Procedure in DBMS

Oracle Database Tutorial and Material, Oracle Database Exam Prep, Oracle Database Prep, Database Certification, Database Career

1. Procedures :

A procedure is a combination of SQL statements written to perform a specified tasks. It helps in code re-usability and saves time and lines of code.

2. Triggers :

A trigger is a special kind of procedure which executes only when some triggering event such as INSERT, UPDATE, DELETE operations occurs in a table.

Oracle Database Tutorial and Material, Oracle Database Exam Prep, Oracle Database Prep, Database Certification, Database Career
Difference between Triggers and Procedures :

Triggers Procedures 
A Trigger is implicitly invoked whenever any event such as INSERT, DELETE, UPDATE occurs in a TABLE.  A Procedure is explicitly called by user/application using statements or commands such as exec, EXECUTE, or simply procedure_name
Only nesting of triggers can be achieved in a table. We cannot define/call a trigger inside another trigger.  We can define/call procedures inside another procedure. 
In a database, syntax to define a trigger: CREATE TRIGGER TRIGGER_NAME  In a database, syntax to define a procedure: CREATE PROCEDURE PROCEDURE_NAME 
Transaction statements such as COMMIT, ROLLBACK, SAVEPOINT are not allowed in triggers.  All transaction statements such as COMMIT, ROLLBACK are allowed in procedures. 
Triggers are used to maintain referencial integrity by keeping a record of activities performed on the table.  Procedures are used to perform tasks defined or specified by the users. 
We cannot return values in a trigger. Also, as an input, we cannot pass values as a parameter.  We can return 0 to n values. However, we can pass values as parameters.