I've been told that there's an oracle in-memory option for 12c and that it uses columnar compression to get some great query speeds. I'd like to leverage it for some business intelligence stuff. I've been searching google and the only thing I can find are announcements and news articles. Does anyone have any code snippets or any directions on where I should look to implement this or learn more about it?
Oracle 12c – In-Memory Option Overview
oracle
Related Solutions
Oracle OLAP option works really well. It is truly a hidden jewel in the database, which not many people realize should be part of every Oracle-database-based BI and DW solution. This is not a new server. It has been around since early 1970s, so it is even older than Oracle database. Oracle bought it in 1995 and "embedded" it inside the database starting with version 9.2 of database.
The latest version is 11.2.0.2 (which I will highly recommend). The older version had some issues.
Some useful links are here
Some additional comments about using Oracle OLAP option in a BI/DW environment.
(1). All data/calculations reside inside Oracle database.
(2). Any calculation (or calculated measures) no matter how complex can be created inside the cubes with simple analytical syntax which automatically works at all levels of all dimensions.
(3). Dimensional calculations (or calculated members) can be either done by OBIEE's Calculated-Item functionality or "pushed" inside the database where more complex dimensional calculations can be handled very easily.
(4). Any types of hierarchies (level-based or parent-child) can be handled.
(5). Data is retrieved through SQL queries using OLAP_TABLE function or CUBE_TABLE function.
(6). Provide faster query response times for any adhoc report.
(7). If you are using Oracle's OBIEE (11.1.1.5 or future releases) then the generated queries are simple SELECT...FROM..WHERE kind of queries. Even with other reporting tools, the queries are still simple queries as there is not much to do on "relational" side.
(8). Depending on requirements, the following functionality can be easily provided: drill-thru to detail (from aggregated cubes to relational transactions) OR combining relational and cube data in the same reports.
(9). Uses Oracle database resources, hence scalable for faster cube builds as well as handling hundreds or thousands of users.
(10). Very extensive logging features are provided out of the box (for Oracle DBAs) to monitor the queries as well as cube builds. This is in addition to regular features that DBA use (like ASH, AWR, OEM etc.).
(11). No additional hardware or DBA required (as opposed to other OLAP servers).
(12). One cube can replace dozens and dozens of MVs and summary tables. Inside the cube, the data exists at all levels of all dimensions.
From your question, it doesn't sound like you need true transactional semantics, and that asynchronous replication would be fine.
If that's the case, it's fairly trivial to build a replication system using triggers within Oracle to track data changes, and then replaying those changes into MySQL, using something like perl (or other scripting languages) as the glue code to talk between both systems using SQL.
This might sound like it would be a lot of overhead, but we've built numerous systems like this for our clients, and the overhead from Oracle's standpoint is pretty low; we've run it on some OLTP systems powering top 1000 websites that had hefty transactional workloads, and Oracle handled it like a champ.
Best Answer
It's still in beta. It won't be released till the 12.1.0.2 patchset. As such, unless you're in the beta program, not much information is available yet.
I think the NDA has been lifted, as I saw Tom Kyte speak about it at Collaborate 14 in Las Vegas a couple of weeks ago, but, you can't actually use it yet.
Hope that helps.