How can we make the Oracle stack relevant in this era of massive workloads?
Adding an in-memory database to an Oracle stack manages heavy increases in mobile, streaming, and web data usage.
While Oracle has certainly mastered relational database technologies, in-memory databases require a completely different engineering mindset and are most robust if they are designed independently, specifically for a distributed environment and added to a relational database management system (RDBMS) stack as opposed to retrofitted. It can also be advantageous to avoid vendor lock-in by adding non-Oracle solutions your toolset.
Tarantool is an open-source and enterprise solution sponsored by one of the world’s largest internet companies. It’s a unique in-memory database that can improve and economize an existing Oracle implementation. Speed is comparable to cache databases like Redis or Memcached, but it maintains critical relational properties that others have eschewed — fully ACID transactions and complex queries.
Accelerating, Downsizing, and Decomposing an Oracle Stack
Tarantool can improve an Oracle stack by replicating and accelerating its data as well as facilitating its downsizing and restructuring.
Using a single core, Tarantool can process one million transactions per second. Conversely, a machine running an RDBMS requires multiple cores to duplicate this feat, generally at least twenty. This massive capability differential means that certain tasks can be offloaded from expensive Oracle enterprise servers to Tarantool machines.
Tarantool easily interfaces with Oracle products because of its ability to run SQL alongside its powerful Lua implementation. Once Tarantool takes over a workload, the Oracle machines that had been handling it can be removed from the stack. A large dating website, for example, shed seven RDBMS servers by adding Tarantool. This saves significant enterprise infrastructure costs.
Microservice transformation can help break apart monolithic structures. Tarantool’s design is a natural fit for microservices because it features its own application server and it can be run in multiple small instances, each potentially with its own data store. Tarantool can implement independent microservices without RDBMS backup — for example, an authentication and authorization service — but can also decompose an RDBMS’s structure by working with a subsection of its data.
How Tarantool Works With Oracle
Tarantool can interface with Oracle using a connector or a replication service. Among other functions, the connector allows actions to be performed on an Oracle server — for example, a Tarantool database can be dumped there.
Replication works asynchronously through log reading. It can be enabled either using GoldenGate or through Tarantool’s partner Continuent. Note that certain existing GoldenGate licenses are adequate for Tarantool.
Tarantool Compared to Oracle’s In-Memory Solutions: Database In-Memory and TimesTen
Tarantool is most accurately compared to TimesTen because Database In-Memory is not a full-fledged in-memory database, but rather a columnar storage of user-selected data in RAM, retrofitted to supplement a row-oriented, disk-based store. Similar to Tarantool, TimesTen can be run as a standalone database or in relation to an RDBMS. TimesTen, however, is primarily intended for OLTP-type operations and not OLAP. Additionally, it cannot be sharded, which inhibits its scalability. Conversely, Tarantool can handle both OLAP and OLTP, and it supports sharding.
Tarantool is capable of making multifaceted improvements to existing Oracle implementations, and one thing is certain: Tarantool was engineered for heavy workloads. In fact, it is currently used in half of the applications of its parent company, enabling services such as email, cloud, messaging, and social media for millions of users. This means that Tarantool has been continuously improved in a “real-world” laboratory since its 2008 initial release.
Do you have more questions about your project? Visit the Tarantool Challenge to connect with actual developers for answers.