Search

Top 60 Oracle Blogs

Recent comments

SQL – is there a better way?

Next Tuesday at 11:20 am at Oracle headquarters there will be a panel discussion on SQL. You can participate whether you are there or not as we are collecting questions ahead of time and will video the panel to be posted later. The panel’s participants will be

You can add your questions to the list of questions here on the Google spreadsheet or in the comments on this post.

Is it worth discussing webscale? Webscale seems like a joke word mainly from that infamous NoSQL is webscale video though ironically I’ve seen it in new industry announcements even this week.

General areas of interest are what is the future of SQL? Will there always be SQL or will there be something to replace SQL? How can we improve SQL?  Where is the industry headed with SQL, No SQL and other ways of storing and retrieving data.

Currently the questions are:

  1. Why is SQL getting a bad rap?
    • Isn’t SQL slow? Why is it so slow?
    • Aren’t alternatives to SQL (XQuery, JSON find()) easier to use?
    • If SQL is so great, how do you explain the rise of NoSQL databases?
    • How much of the problem with Oracle SQL is it’s divergence of from  Codd’s relational algebra? (allowing duplicate rows, NULL, etc)
    • Chris Date, Pascal Fabien and others have expressed dismay at the differences in industry SQL vs relational algebra as set down by Codd. How much of a problem are these differences really?
  2. Is SQL hard to learn?
    • Is SQL a *real* programming language? Is it a functional language?
    • I’ve heard that I need to know relational algebra in order to be effective with SQL, is that true?
    • I’m an object-oriented developer, what’s an easy way for me to learn and use SQL? ***
    • How do I write loops in SQL?
    • Joins look painful — isn’t there an easier way?
    • I don’t want to filter entire tables; why doesn’t SQL let me look at the first few rows?
    • I’ve heard of JDBC, but it sounds really low level, like C; is there a easier way for me to interact with SQL?
    • How do I represent sparse data in SQL?
    • Is there a good IDE I can use for SQL? Anything other than SQL Developer?
  3. Why does Oracle have a NoSQL product?
    • Oracle seems to have flip flopped on NoSQL? Why? Is it because Oracle EE and SE have too much overhead for OLTP and ACID compliance?
      1. in May 2011 Oracle recommended not using NoSQL in a white paper titled “Debunking the NoSQL Hype,” the final advice being  “Go for the tried and true path. Don’t be risking your data on NoSQL databases.” *
      2. In Sept 2011 Oracle releases Oracle NoSQL database **
    • Is Oracle No SQL webscale What is webscale ?
    • NoSQL can do 5.6 million queries per second. Can Oracle do the same?
    • Why is Hadoop so popular even though Oracle SQL can run circles around HBase, Hive, Pig, Impala, etc
  4. What’s the difference between PL/SQL and SQL?
    • What does PL/SQL bring to the performance table? (question for Bryn and Steven)
  5. 12c Release 2 performance and reliability features e.g. Sharding
  6. Oracle Developer Advocate program (question for Steven)
  7. There was a time when Oracle only had “declarative referential integrity” which still live on as DISABLE RELY NOVALIDATE. When will Oracle implement SQL-92 ASSERT for arbitrary constraints. There is a rumor that Oracle is thinking about it.

 

* https://www.google.com/#q=%2B%22Debunking+the+NoSQL+Hype%22

**http://www.oracle.com/technetwork/products/nosqldb/learnmore/nosql-wp-1436762.pdf

Oracle suggested that the NoSQL approach was well-suited for certain use-cases:
“The Oracle NoSQL Database, with its ‘No Single Point of Failure’ architecture,
is the right solution when data access is “simple” in nature and application demands exceed the volume or latency capability of traditional data management solutions.  For example, click-stream data from high volume web sites, high-throughput event processing and social networking communications all represent application domains that produce extraordinary volumes of simple keyed data. Monitoring online retail behavior, accessing customer profiles, pulling up appropriate customer ads and storing and forwarding real-time communication are examples of domains requiring the ultimate in low-latency access. Highly distributed applications such as real-time sensor aggregation and scalable authentication also represent domains well-suited to Oracle NoSQL Database.”

*** “Using tables to store objects is like driving your car home and then disassembling it to put it in the garage. It can be assembled again in the morning, but one eventually asks whether this is the most efficient way to park a car.” (incorrectly attributed to Esther Dyson, the editor of Release 1.0).

Thoughts

The big questions for me are

  • Will there ever be an alternative to SQL?
  • Are there ways to improve SQL significantly?
  • Have we learned anything from No SQL? Has No SQL shown up any major flaws in SQL and relational?

The questions wanting to know if there are alternatives to doing joins struck me as strange when I first saw it. Now with some reflection it brings up the old argument of whether to normalize or de-normalize. In the de-normalized model we can often access all the data we want without a join but we loose the flexibility of the normalized model.