Part III of a lightly-edited partial transcript of a panel discussion titled “Making SQL Great Again (SQL is Huuuuuge)” at YesSQL Summit 2016 organized by the Northern California Oracle Users Group (NoCOUG) at Oracle Corporation’s headquarters in Redwood City, California. NoCOUG is the longest-running and most-active Oracle users group in the world. An individual membership only costs $95 and entitles the member to free admission to the four consecutive quarterly NoCOUG conferences (one-day events) that follow the membership’s start date, the winter conference being the first day of YesSQL Summit. You can become a member at http://nocoug.org/join.html.

The panelists were Andrew (Andy) Mendelsohn (Executive Vice-President, Database Server Technologies, Oracle), Graham Wood (Architect, Oracle), Bryn Llewellyn (Distinguished Product Manager, Oracle), Hermann Baer (Senior Director, Product Manager, Oracle), Steven Feuerstein (Architect, Oracle). The moderator was Kyle Hailey, an Oracle ACE Director and member of the OakTable Network. The complete video of the panel discussion has been published by Oracle Corporation on the Oracle Channel on YouTube.

Part I Part II Part III Part IV Part V Part VI Part VII

[The NoSQL folks claim that NoSQL is “web scale”. Are relational database management systems “web scale”? How does PL/SQL fit into the performance picture? Is PL/SQL “web scale”?]

Graham Wood: What is “web scale”? Web scale is always “Oh wow; it’s really big data sets.” Right. so define “really big.” Six years ago now when we were still doing TPC-Cs; we did 30 million tpmCs and that’s 500,000 real ACID-compliant transactions per second, each one of those inserting five items, so that’s two-and-a-half million items being inserted every second. How much are you really doing through your website? Yeah, there are some webscale folks out there; there’s Amazon and there’s eBay; PayPal maybe; these guys do have millions of transactions per second; there’s an awful lot more people who are webscale wannabes. “Oh, well of course we have to use this technology because we have to be able to scale.” To how many orders of magnitude more than where you are now? And because of that you’re going to be hand-crafting things in systems that don’t have a lot of functionality; you have to write the functionality that you want to do; so things like joins for example. So, the whole webscale thing does seem to be very much a fashion. My favorite Larry quote is that he once said that the IT business is the only business that’s more fashion-conscious than lady’s shoes and I think that’s right. Web scale became a very fashionable thing to be; NoSQL is a very fashionable thing to be.  Folks are caught up in the hype and—Andy was saying—these  things go through a cycle—they’re much hyped and then they tail off. Relational databases have gone through thirty years of competitors coming and going.

Bryn Llewellyn: The other interesting thing about SQL that people rarely mention and no one has mentioned it yet is that you can’t write a program with it. It’s scope—of concept—doesn’t extend beyond the single statement ; there are not many things that you can achieve with a single SQL statement and—anyway—this piece of text that is so declarative and so wonderful , how do you make it go? Well there’s only one way to make it go; that’s to squirt it out of some or other ordinary IF-THEN-ELSE language; and now there’s just two ways of doing it; have that language running outside the database or have it running inside. And the purpose of PL/SQL is to be inside the database and to be the vehicle for doing INSERT/UPDATE/DELETE/COMMIT in a coherent fashion so that the many operations on the many tables that you want to do to achieve a certain business purpose either succeed or fail as a unit controlled in that fashion. … So that’s what PL/SQL is for. It’s just one of many things of getting the SQL done but it has properties that make doing it that way hugely advantageous and then the SQL that the outside world does to the database is limited to the CALL statement.

Kyle Hailey:  So, if I understand correctly, then using PL/SQL is the way to sort of supercharge your SQL to make it more efficient because you’re running it within the database?

Bryn Llewellyn: I wouldn’t put it that way. I would say that the purpose of any kind of persistence mechanism is to store the right stuff and to give you only back the right stuff. I didn’t invent that idea. I heard if from a conference platform, from Chris Date, but it’s certainly a crucial idea, isn’t it? So correctness is most important. Talking about performance is a luxury at least in our world—the kind of application that relational database is used for—money, people’s life or death; all that stuff . There’s no eventual consistency with my bank account. So, in that arena, correctness is most important, and security is also vital. As it happens, if you do the actual stuff that Graham considers a SQL—INSERT, UPDATE, DELETE, and SELECT—only within the database through a controlled API to achieve correctness and security, you happen also to get this bonus of optimal performance. That’s the way to look at it.  And as far as webscale is concerned, well, that’s the operation on the data in the tables and it’s agnostic at that stage as to how you get it done whether it’s parallelized or all that’s stuff; that’s not the domain of discourse of PL/SQL.

Panelists introduce themselves and tell their stories.

Why are we even having this discussion? Why is it necessary to defend SQL? Are NoSQL and Hadoop temporary phenomena that will eventually fade away just like object-oriented database management systems?

Why does Oracle Corporation sell a NoSQL DBMS?

If SQL is the best language for Big Data, what explains the rise of Hadoop?

What is the Oracle Developer Advocates team doing to defend RDBMS?

What is Oracle doing to fend of NoSQL and Hadoop?

Copyright © 2016 Iggy Fernandez