By Tom Haunert
For enterprise application developers, some technologies may never be more than black boxes in a company’s enterprise IT. But technology that can improve application performance does a much better job when developers know more about it and, better yet, when the technology can improve application performance on its own.
Oracle Magazine sat down with Gerald Venzl, senior principal product manager at Oracle, to talk about application development with Oracle Database, challenges database developers are facing, and how Oracle Autonomous Database Cloud offers new solutions.
Oracle Magazine: What does it mean to be an Oracle Database application developer?
Venzl: When we talk about developers doing application development with Oracle Database, we mean any kind of developer out there who is leveraging the data within Oracle Database and the features of Oracle Database to make use of the data.
This can include the front-end or web developers who start out with a focus on the UI, only consuming data via a REST call that comes out of Oracle Database, all the way to the back-end developers for whom database interactions in their code are part of their day-to-day life.
A web developer, for example, may focus only on the front-end technologies at hand and treat the database as a black box. However, that developer can and often should also learn to see what the database technology can do for that particular project and future projects.
The database will do everything necessary to make sure that the application is getting the best performance.”
Oracle Database has many features that can help developers accomplish their goals more quickly and easily and cut down the time to market, without having to reinvent the wheel. This leads to less application code that needs to be written and maintained and usually to better application performance overall.
Oracle Magazine: What are the barriers to developers using Oracle Database to do more within application development?
Venzl: There are certainly some misconceptions and misperceptions about databases in general.
One of the most common misconceptions I have seen is that a database should just be used as a “bit bucket.” Some developers actively try to do as little as possible with the database technology, using it only as a better file system for storing and retrieving information. The issue with that approach is that you basically use the lowest common denominator for database technology. Later on you wonder why you use a database at all, and then you try to reengineer a database inside your application logic. In the end, this just becomes a waste of your time and costs lots of money. Databases are good at managing data, and that’s how they should be used—as data management systems.
Some developers don’t use any features or functionality inside a database because they want their apps to be database agnostic. But if you do this, you cannot bring any computation to the data. Instead, you must bring the data to the application for computation—regardless of the data volume. This might be OK when you are developing an application with only a few rows of test data in the database, but it’s not a scalable approach for production systems. Really, developers should put the computation and business logic where it makes the most sense for their application—the database, midtier, or front end.
Beyond misconceptions about the value of the database itself in application development, there is the issue I mentioned earlier about treating the database as a black box. Even if a developer is not treating the database as a bit bucket, a particular developer’s knowledge of the database’s application development power may be very limited. If you just treat a piece of technology—whether it’s a framework or a database or something else—as a black box, and you think everything you need will just magically happen, things might work out OK. But if you don’t use a technology to its full extent because you don’t know what its full extent is, you’re very likely going to miss out on a variety of different features and ways of making your life easier and ultimately miss out on the best application performance that you could have achieved.
Oracle Magazine: How does Oracle Autonomous Database Cloud change database development?
Venzl: Oracle Autonomous Database Cloud means, in a nutshell, that developers no longer need to worry about query performance, whether they need an index on a column, how much CPU the database has available, and so on.
Oracle Autonomous Database Cloud will be the new best friend of all the developers out there who want a data management solution that just works.”
In the 1990s, developers and DBAs had to know exactly how to write and structure a well-performing SQL statement. If they got the SQL statement wrong, it could have a heavy performance impact on their application. Over the years, Oracle Database provided more and more features allowing developers and DBAs to not have to worry about these things anymore. A cost-based query optimizer took away the need to know how to structure a query, which tables to join first, and so on. Then came the SQL Tuning Advisor feature, telling DBAs how to tune Oracle Database for the best SQL performance. Now, with Oracle Autonomous Database Cloud, the database doesn’t even tell developers and DBAs what to do anymore—it simply performs all of these steps itself.
With Oracle Autonomous Database Cloud, developers can now fully focus on the applications they’re writing and the value their applications should provide to their companies or users. They no longer have to spend time thinking about whether an index has been created on a particular column, whether the table has been partitioned, or whether the database back end will perform. The database will do everything necessary to make sure that the application is getting the best performance and quickest response time. If a SQL query needs tuning, the database will do it. If a column needs an index, the database will create it. If the data needs to be reorganized on disk or in memory, the database will do it. If you give it more CPU, it will scale up automatically, taking advantage of the added processing power. It’s all fully transparent to the application, and there’s no downtime required whatsoever.
Oracle Autonomous Database Cloud will be the new best friend of all the developers out there who want a data management solution that just works.
LEARN more about Oracle Autonomous Database Cloud.
Photography by Joshua Roberts/Studio at Getty Images for Oracle