Talk:Oracle Database/Notes

Proposed lede
Oracle Database (or simply 'Oracle') is an enterprise-level database management system (DBMS) developed and marketed by Oracle Corporation. Version 2.3 in 1979 was the first commercially available relational database management system (RDBMS) incorporating the SQL Structured Query Language. The product has been continuously been developed to achieve high availability, accelerated performance, data security, access security, data consistency that are required for enterprises with very large databases (VLDB) and with multiple users accessing the database. Oracle has been developed to incorporate multi-model database and Cloud computing features. Oracle's latest generation product is known as the Oracle Autonomous Database, which was introduced at Oracle Open World in 2017, including Oracle Autonomous Data Warehouse (ADW), and Oracle Autonomous Transaction Processing (ATP) database.

The Oracle database is used for Online Transaction Processing (OLTP), analytics, data warehousing (DW) and mixed (OLTP & DW) database workloads. While Oracle was originally designed for OLTP workloads, Oracle Version 7.1 (released in 1994) added the ability to also process Data Warehouse workloads by paralleling SQL queries. Individual Oracle databases can be devoted to either OLTP or DW workloads, or workloads can be combined into a single database. In addition, OLTP applications that include reporting capabilities can use the same Parallel Query feature normally used for Data Warehouses to generate those reports faster.

Comments

 * Suggest we try editting the lede above to an improved version. If you are participating here be aware you maynot get attribution for your suggestions in the final article,Djm-leighpark (talk) 08:42, 31 January 2019 (UTC)
 * I am probably sounding too much like a marketing person with use of the word "popular" ( Ccraft us ); Does the market share reference even belong in the lead? ( Ccraft us )
 * I think it's best to stay out the market share thing ... it applies actually only at a specific date (and it may even be SQL Server now has a bigger impact now being available on linux?). I removed the marrked share line. Djm-leighpark (talk) 23:12, 31 January 2019 (UTC)


 * Cutting out the multi-model reference. The lede is generally not meant to have references but should be supported by the article body which should have the references.  To be totally strict the multi-model claim needs to be supported by an independent source.
 * I am thinking of a neat way of trying to say where people say 'Oracle' or 'Oracle DBMS' they are usually referring to this product, despite the fact Oracle also has stewardship of over 5 other databases! I've gone back to saying Simply Oracle.Djm-leighpark (talk) 00:02, 1 February 2019 (UTC)
 * I've tried a rewrite .. this cures some things and introduces others.Djm-leighpark (talk) 00:02, 1 February 2019 (UTC)
 * I'm starting to understand the process. I am still apprehensive about editing your text directly, even in this work page.  Maybe I will add some comments and let you incorporate those into the text as you see fit.  Ccraft us (talk) 14:51, 1 February 2019 (UTC)
 * Added 2nd paragraph in the lede outlining Oracle's support for OLTP workloads, DW workloads, and mixed OLTP/DW workloads. Ccraft us (talk) 20:40, 4 February 2019 (UTC)
 * As written the first strike out is too promotional.  The second paragraph strike out is also too detailed for the lede (even the remaining lede is too detailed).  Don't worry editing my text on the workpage.  Even the existing lede is too detailed.  This is all my opinion, others opinion may be different.Djm-leighpark (talk) 23:01, 4 February 2019 (UTC)
 * A thought in passing. I again will comment on my views about what should be it in the lede.  In my opinion It is needs to suitable for say a person in a call center or accounts who hears there system runs on an Oracle database and looks it up on Wikipedia.  That means minimum technicality.  It doesn't need to satisfy softies/technies as they are expected to read the index.  What may be useful is a paragraph differential how Oracle Databases uses the term database in the sense MySQL and SQL Server use 'Server'; whilst those products use database in a sense somewhat akin to an Oracle Database Schema; this being a useful point to have in the lede.Djm-leighpark (talk) 17:26, 7 February 2019 (UTC)

Major Capabilities of Oracle
Looking at the rest of the article, it really doesn't capture the major capabilities of Oracle and doesn't help explain why people use it. The lede should probably include some discussion of these topics or some subset of them. Some of this is included in the body of the article already, but possibly not enough. The article also isn't structured very well overall.

Below are what I believe to be the major reasons why people use Oracle:


 * Data Modeling Capabilities
 * Structured Query Language
 * Procedural Language
 * Transactions
 * Portability
 * Scalability
 * Performance
 * Availability
 * Reliability
 * Security

Data Modeling Capabilities started with the relational model, but have expanded over the years to include other data modeling techniques. Data modeling refers to the ability of the database to ensure data integrity. The ways in which you can model data have expanded since the 1970's, and Oracle has incorporated those capabilities into the product. One of the latest is the concept of a key/value data store, which is simply a 2 column table with a key and a value, where the value is a complex structure. Oracle supports XML and JSON in that structure, and Oracle ensures the integrity of the XML/JSON contained in the value column. The full range of modeling capabilities Oracle supports are: Relational, Graph, Object-Oriented, Document (also known as "key/value" using XML or JSON), Queue, Spatial, and Multi-Dimensional.

Structured Query Language (SQL) is the standard language for reading and writing data in databases. A sub-component of SQL is the Data Manipulation Language (DML) for writing data.

Procedural Language inside the database is necessary for programming tasks that simply cannot be written into a SQL/DML statement. Oracle's PL/SQL is used for writing what are known as stored procedures and triggers inside the Oracle database. It also provides an API layer for implementing more complex logic. Oracle has used PL/SQL to implement a number of database features such as the XLM/JSON handler for the Document (key/value) feature. Users also implement their own logic using PL/SQL. Developers of other databases (including PostgreSQL) have patterned their own procedural language off of Oracle's PL/SQL.

Transactions are a fundamental capability of any DBMS. However, there are "simple" and "advanced" versions of what this means. Some databases support "transactions", but only at a very rudimentary level. There are several features of Oracle that still set it apart in this area. Transactions in Oracle are ACID compliant, writers don't block readers (via what's called Multi-Version Read Consistency), and Oracle has non-escalating row-level locking.

Portability across platforms (different operating systems and hardware) is one of the capabilities that made Oracle unique in the early days and continues to be a big benefit even today. Oracle's ability to have a single code-base that runs on Unix, Linux, Windows and other platforms was critical during multiple evolutionary points in the industry. Portability is important currently due to the rise of Cloud computing.

Scalability means the ability to handle large volumes of data as well as large numbers of users (concurrent users). There are aspects of the Oracle technical architecture that have enabled it to scale much higher than other databases on the market. I could go through a list of these features, but it's probably more important to show some proof that Oracle scales higher than other databases. The important features start with things like the locking model that allows large numbers of users to interact with and modify a database simultaneously. What's known as the "process model" has always been a big contributor to scalability buy enabling the database to take advantage of multi-CPU and multi-core systems. Oracle is still the only database that offers active/active clustering, which allows a single database to span multiple computer servers. The ability to MANAGE large data volumes is also critical. For example, the ability to re-organize a b-tree index while users are actively using that index is critical. There are more of these features in Oracle and those features are more robust than found on other databases.

Performance is a critical factor for any DBMS. However, it has been difficult to develop and maintain objective measures of performance across multiple divergent databases. The technology is extremely complex and always changing. This point will probably be difficult to capture in a Wikipedia article. Performance is also a factor of application design and the hardware it runs on, making it especially difficult for a Wikipedia article.

Availability of any database is critical, and Oracle has a 20+ year history of developing technologies and approaches to delivering improved availability. Availability relies on the technology itself, but also on how the Oracle database is operated, and how it is incorporated into the overall architecture. Oracle's Maximum Availability Architecture is where Oracle brings together the technology aspects of the database with architectural and operational best practices to help customers achieve their availability goals.

Reliability is a major factor that resulted in user adoption of Oracle originally, and continues to be a reason why users stay with Oracle and continue to build new applications on Oracle. There are some features of the Oracle software that drive reliability, but it's also a factor of Oracle Corporation and how they operate by producing quality code and providing the appropriate support for the product. This is another topic that might be difficult to capture in a Wikipedia article.

Security is an absolutely critical capability of any database. Oracle started as a CIA project, and Oracle has long included features to address security such as encryption, data redaction, data masking, and something called Database Vault.

Now that I've written out these points, I'm thinking that "performance" and "reliability" are probably 2 topics that can't easily be included in the article. It's probably best to let Oracle make those points themselves.

Ccraft us (talk) 14:29, 1 February 2019 (UTC)