10 REASONS Why it makes a good option for your DB IN-MEMORY DATABASES Presenter #10: Robert Vitolo
Stores and manipulates table data within the main memory space Also known as: MMDB (Main Memory Database) IMDB (In-Memory Database) IMDS (In-Memory Database System) Implemented using a large amount of memory and/or compression schemes Characterized by high performance through algorithmic simplicity and the lack of I/O operations IN-MEMORY DATABASES SUMMARIZED
Real-time data processing Usage in embedded devices More efficient use of computer resources Data-set testing in application development Reduced development / manufacturing cost for products Feasibility due to dropping cost of RAM Cost effective alternative to data warehousing High capacity support through compression Flexibility through hybrid products Support of the ACID standard 10 REASONS SUMMARIZED
When information is changing on a constant basis (in real- time) Examples: Stock market trading Sensor monitoring Online auctions Air traffic control Limitations of traditional DBs: lack timing constraints, consistently high performance Real-time database systems utilizing an MMDB model can ensure consistency in the data that is captured and queried REAL TIME DATA PROCESSING
“Smart” devices dedicated to handle specific tasks Examples: Set-top boxes Cell phones: “Smart Phones” Rely on main memory for local storage of retrieved data Typically low power devices designed with modest hardware specifications Absence of magnetic disks improves power performance and MMDBs still operate faster than flash memory EMBEDDED DEVICES
Traditional DB optimization has focused on enhancing speed through improving frequent file I/O operations MMDBs are built from the ground up from the viewpoint of maximizing memory performance, fewer CPU instructions Fewer I/O operations, no need for building large indexes, no cache management, less code complexity CPU spends the bulk of it’s time working directly with data, not managing, translating, and moving it between CPU and disks EFFICIENT USE OF RESOURCES
Manufacturers of enterprise database/server applications need to run test suites on their software using large datasets to identify bugs Utilizing an MMDB reduces build times and down time by processing the dataset more quickly. TESTING IN ENTERPRISE APPLICATIONS
Streamlined code allows for easier development and easier debugging and troubleshooting. Specialized devices like smart phones can be manufactured for less money, as they don’t require extra disks for redundancy and can use fewer hardware components REDUCED DEVELOPMENT / MANUFACTURING COSTS
FALLING COST OF RAM
HARD DRIVE PRICES UP 90 – 180%
Upfront costs of hardware, servers and space make building a data warehouse a non-starter for small to mid-sized businesses. An MMDB and in-memory analytical tools provides the ability to analyze large data sets, but is simple to setup, administer, and maintain. ALTERNATIVE TO DATA WAREHOUSING
Limitation of MMDB: Your database can only be as large as your main memory. Diverted through compression: Oracle’s Exalytics product allows up to 10TB of data in main memory per 1TB DRAM chip. In the future: deal with larger databases using DIMDB (Distributed In Memory Database) that harness the main memory systems of several computers connected by network or in the cloud Example: Network Cloud DB by Xeround SUPPORT FOR LARGE DATABASES THROUGH COMPRESSION
Some MMDBs can be run in a hybrid mode, allowing both in- memory data processing and on-disk tables. Examples: Solid DB by IBM Altibase H2 This allows an organization to try out an MMDB without abandoning their traditional DB structure if the hardware is already in place, or gradually transition to a fully MMDB solution as hardware needs to be replaced. FLEXIBILITY THROUGH HYBRID PRODUCTS
ACID: Atomicity, Consistency, Isolation, and Durability Biggest strength of an MMDB is also its biggest weakness: MMDB stores all data in volatile RAM Getting around it: NVRAM / Battery backup RAM Redundancy through backup to disk storage / Network SUPPORT FOR ACID STANDARD