150 likes | 331 Views
In-memory Databases. 10 REASONS Why it makes a good option for your DB. Presenter #10: Robert Vitolo. In-memory databases summarized. Stores and manipulates table data within the main memory space Also known as: MMDB (Main Memory Database) IMDB (In-Memory Database)
E N D
In-memory Databases 10 REASONS Why it makes a good option for your DB Presenter #10: Robert Vitolo
In-memory databases summarized • 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
10 reasons 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
Real time data processing • 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
Embedded devices • “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
Efficient use of resources • 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
Testing in enterprise applications • 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.
Reduced development / manufacturing costs • 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
Alternative to data warehousing • 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.
Support for large databases through compression • 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
Flexibility through hybrid products • 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.
Support for acid standard • 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