Viscosity's Blog

Introducing the New AI-Powered Oracle Performance Q&A Bot: A Game-Changer by Craig Shallahamer

Written by Viscosity North America | Jun 27, 2023 1:00:00 PM
It's HERE! The OraPub Oracle Performance And Internals Q&A Bot has been available for a few weeks now.

In an interview with its developer, Craig Shallahamer, Oracle ACE Director, Founder of OraPub, and Applied AI Scientist at Viscosity, shares 5 reasons why you should leverage this new AI-powered solution! 


  1. Why is this new bot better than ChatGPT?

    Well, we're just getting started, and ChatGPT is awesome.

    What sets our bot apart is its ability to provide deep, relevant, and thought-provoking responses when you ask specific Oracle performance and internals questions. It goes beyond what you would typically expect from an AI in 2023. This is possible because it possesses a unique understanding of Oracle performance analysis, tuning and internals.

    But it's more than just that. This AI doesn't limit itself to common Oracle knowledge found in documentation or user group conferences. It delves into performance research, experimental results, approaches to solving Oracle performance problems, utilization of different strategies based on available data, and draws from related fields such as performance prediction and operations research. The AI is capable of making incredible connections and associations based on this vast knowledge. I can honestly say that this AI possesses knowledge that ChatGPT is unaware of.

  2. What are the key features and capabilities of this Q&A bot?

    First, it is very simple to use. You simply enter your situation, your question/request, and press the submit button! There is an option to select a different level of detail, and you can choose whether you want the output in paragraph or bullet point form.

    Second, I have found that when the bot knows what you are experiencing and also understands what you need, it responds remarkably well. For example, you can tell it that your situation is simply, "I want to learn," and your request is, "What is an Oracle cursor?" It can be that simple! Alternatively, you can ask very in-depth questions, such as stating your situation as, "The application is performing way below user expectations. 90% of the database time is consumed by CPU. The average CPU utilization is 87%. The average wait time for the event 'db file sequential reads' is 1.0 ms," and your question is, "Describe the SQL that could be associated with this situation."

    Third, the bot is knowledgeable about deep Oracle performance topics and methodologies, much more than the Oracle documentation or even Oracle user group presentations. I won't go into the details, but as you work with the bot, you will quickly discover that it possesses the knowledge of a seasoned Oracle performance-focused professional. In fact, the responses to the questions can sometimes seem very unusual and even incorrect. So, I encourage people to "lean into" the bot's response because it can make connections and associations that perhaps no one has even thought of before. It's like something from another world.

 

  1. How did you manage to create this solution? (what tools, techniques, etc did you use?)

    I've been involved in machine learning even before it was referred to as machine learning. In 1990, I created a tic-tac-toe learning bot that incorporated elements of what is now known today as reinforcement learning. Additionally, in 1997, I began exploring artificial neural networks. So, when advancements in device connectivity, computing capacity, software, and technology started taking significant leaps over the past decade, I eagerly embraced these developments. I often tell people that 2023 feels like 1989 to me. Why? Because that's when Oracle 6 was released, and the big deal back then was row-level locking.

    The bot is written in Python and utilizes various APIs. Some of these APIs are related to AI, while others are more specific to website platforms. I incorporated a bit of JavaScript to launch users from the OraPub website to the web-based application. Since I'm not a UI developer, I opted to use Streamlit to quickly create the web-based application interface.

 

  1. How do you use this Q&A bot to get the most out of it?

    I am still learning how to best use the bot, and as it improves, I'm sure I'll keep learning. In fact, if I stop learning, I'll move on to something else!

    I'm learning that to get the most out of any AI, you need to work with it. If you help the AI understand what you need, it will respond much better.

    As with any AI, you need to leverage it; don't fight against it. It's like jumping in the AI river and swimming downstream with it. I notice that some bot users ask blunt and nonspecific questions but expect details in a certain area. Even a person could not answer their request to meet these expectations. It's as if they want to say, "See! I told you this thing is stupid." It's similar to teaching; I want to make it as easy as possible for someone to learn what I have to teach them. It's kind of like when a student has an "aha" moment, and you know that you played a part in helping them learn something.

    The way I created the bot is how I approach every Oracle performance challenge. First, it's the situation, and second, it's the question or request. Let me explain.

    First, I observe what I am facing: what is the situation, challenge, or problem that I'm trying to solve. Usually, some aspects of the situation can be quantified. So, the first part is describing the situation as clearly as possible but with as few words as possible.

    Second, I need to ask a specific question or make a request. These two parts force the analyst to separate what they are facing from what they need. For example, first, my stomach is growling; that's my situation, a noisy stomach. Second, I need food. So my requests (there can be multiple) may be "Where do I go to get some food?" or "What kind of food would quickly stop a growling stomach?" I find that framing a performance problem like this allows me to make it easier for the bot to respond with something helpful.

 

  1. What sets this Q&A bot solution apart from other similar offerings from the competitors?

    From what I'm told, this is the first publicly available Oracle performance and internals-focused bot. If that's true, I'm stoked. It's a big deal for me, and something I am really proud of.

    What sets this bot apart from others is that it possesses highly specific domain knowledge, some of which no other AI has encountered. The interface is specifically designed for Oracle performance problems, it's publicly available, and it's continuously improving.

 

Anyone can try out the bot. Just go to www.orapub.com, login, and access the Perf Q&A Bot.