In this article a second brain dump with observations from the Oracle OpenWorld and JavaOne conferences. These are fairly raw notes – primarily for my own consumption. They may be useful to you as well.
Dual Format In-Memory Database
In Memory Column store, allowing Row-scanning at 1 Billion (10E09) rows per second per core, Joining 100x faster
Secret Sauce (distinguishing features compared to the competition):
– dual format used to hold data in memory : columnar for fast read and row format for fast update
– all log-files are the same, all administration tools for back up and recovery etc will still work
(it seems transparent to all but a few components whether the data retrieved or updated lives in data file or in memory; the mechanism that has to retrieve the data from where it lives to the SGA and vice versa needs to know – but no one else; similar I suppose to the mechanism in Exadata that discerns between Flash Memory and Disk)
– applications will run transparently against an in memory database; all SQL that the application executes will run and only at the lower levels in the database will it matter whether the data is on disk or in memory
Its a major architectural change without functional impact, a bit like the introduction of clustering: you do not change your application because it will run on RAC.
Note:
– in memory database is unrelated to either TimesTen (does not scale out) or Coherence (not relational)
– you do not have to pin/unpin tables (or partitions) in memory – database is smart enough to handle that for you
Oracle states (opposing pure in memory database vendors) that disk is not bad! in case of a powerloss for example, revamping an in memory database can take a long time (if at all possible) if you can only access data that is in memory. And when no indexes are used.
OLTP is speeded up because there is far less need for indexes to be maintained to support reporting and other analytical activity. With queries running superfast in memory, who needs all those indexes. Much of the overhead of transactions is caused by updating the indexes, so by eliminating those, transactions speed up (up to twice as fast is reported by Oracle for fairly heavily indexed tables)
The In-Memory Database seems to be made available as an extra option. It probably installs as part of the normal EE installation. To turn it on, all you need to do is assign memory for in memory storage then designate a table as an in-memory candidate in an Alter Table statement. As was stated before, applications run transparently against a database that is partially in memory. This option is slated for an upcoming patch release of the database. No dates were given, but I would guess at Q2 in CY14 (but I am not taking any bets).
Mobility
Oracle has made mobility even more prominent in the directions forward. Not just the tools to create applications that run either natively or as HTML 5 in on device browsers but also the back end infrastructure required to run scalable mobile applications. Part of the latter is the Oracle Mobile Cloud Service (akin to AMIS Mobile Enabling Middleware, a twinkle in our eye some two years ago). This service provides a proxy – which can be cloud based or on premise – that all mobile devices connect to. (my presentation from March 2013 for a group of officers from the Indian army on SOA and Mobile described more or less what Oracle is now planning on offering – http://www.slideshare.net/lucasjellema/mobile-databaseandsoa-slideshareupload).
This proxy provides various services – caching, enrichment, authentication/authorization, format and protocol adaption – that are typically required to support enterprise grade mobile apps and that are largely stateless (except the caching of course). This proxy mediates between all the mobile devives out there in the world and the internal enterprise systems. Mobile devices do not directly access the enterprise systems.
An important part in the support for mobile applications in Oracle’s view is REST & JSON support.
The Mobile Cloud Service – as well as all other cloud services from Oracle – expose RESTful APIs that can be consumed by mobile devices. Oracle’s SOA Suite is currently being enhanced with support for RESTful Web Services that speak JSON and the Oracle Database is being extended to support JSON in a way that is similar to the support for XML(Type). ADF as off 12.1.2 (July 2013) can consume RESTful/JSON based services (either through a JAX-RS POJO based solution or through the Native REST Data Control). The next release of ADF (12.1.3, sometime first half 2014), is expected to also allow easy publication of RESTful/JSON services from the ADF BC framework. Products such as WebCenter Content have had support for RESTful APIs for some time and other products follow that lead. Shortly for example, most administration actions we can perform on WebLogic through WLST will also be available through RESTful APIs.
Cloud
Oracle’s cloud ambitions are as high as ever before.
All software from Oracle should run both on premise as well as in the cloud. Moving components from on-premise to cloud or vice versa should be painless: the infrastructure in the cloud and the platform in the cloud should be the same (so far as possible) as on premise.
The big cloud announcements (http://medianetwork.oracle.com/video/player/2690987615001) – from Oracle, delivered by Thomas Kurian in Larry’s stead (who was out sailing)
Full suite of Platform Services – Database, Database backup and recovery, Java, Developer, Mobile, Documents, BI and the Cloud Marketplace where partners and developers can publish and monetize their own applications and extensions to the Oracle applications.
Three key aspects: Integrated with applications, Same software as on Premise, Oracle manages the software for you
1. Database Instance as a Service (Oracle Database Cloud Service) – not just access to a database schema via REST APIs, from the Java Cloud Service or through APEX but access over any protocol including SQL*Net en JDBC to your own database instance (11g or 12c). Customers will have root access to the Virtual Machine’s Operating System. SQL*Net access for example for loading/exporting large data volumes. The database instance runs inside a Nimbula ‘environment’ that you cannot break out of.
Three flavors with different levels of managed-ness by Oracle and of availability (the highest level includes a two node RAC cluster).
basic: give me image, I managed it on my own
managed: patching, back up and recovery is taken care of
premium: 2 node RAC i/o single node
2. WebLogic Instance as a Service- similar to the Oracle Database Cloud Service – same WLS that you use on premise. Oracle manages it, or you make use of your root access. It is the full fledged Java EE container with ADF runtime – not the somewhat restricted edition offered in the Java Cloud. Comes with Elastic Compute and Elastic Storage
3. Elastic Compute and Elastic Storage as a Service – IaaS level offerings (similar to what Amazon offers) that complement the SaaS and PaaS offerings from Oracle, to make sure that customers of the SaaS and PaaS offerings can stay within the Oracle Cloud if they want to simply store files or deploy a custom or 3rd party application; Oracle does not necessarily wants to compete with other cloud vendors at the IaaS level but it does want to make sure its customers can do all they want in terms of Cloud in the Oracle Cloud
– Oracle will start offering a Storage service (nov/.dec) and a Compute service (January?)
{pricing will be very similar to AWS and Google)
Identity as a Service is on the horizon
(authentication, access management, users/roles/permissions)
to eventually allow you to replace on premise IdM
other IaaS services: Messaging, Naming, Elastic Load balancing, Elastic IP addresses
looking for offering from Oracle of Managed IaaS (for example http://www.oracle.com/us/products/engineered-systems/iaas/engineered-systems-iaas-ds-1897230.pdf and http://www.oracle.com/us/products/engineered-systems/iaas/overview/index.html)
also see this analyst’s write up: http://www.crmsearch.com/oracle-strategy.php
SOA Suite 12c
Quite a bit was unveiled from the upcoming 12c release of the SOA Suite, slated for CY14 – probably the first half of next year. Both in public sessions (including a technical keynote) as well as on the demo grounds, many things have been told and even demonstrated:
Integrated IDE (JDeveloper) for Service Bus and SCA Composites – light weight install (< 3 Gb), quick up and running and very short development/run cycles
New Managed File Transfer implementing Claim Check pattern for large and really large files
Cloud Adapters (11g) incl Custom Adapter SDK
REST/JSON support
Debugging for SB and SCA Composite
Integrated WLS Server with SOA Suite install for quick installation and rapid local develop/deploy/run cycles
Use of templates for SB (Pipelines), SCA Composite and BPEL processes
Pipelines separated from Proxy and available for reuse (pipelines can call each other)
Coherence Adapter