In-memory database 1
2
Write a review to receive any FREE ebook from our Catalogue - $99 Value! If you recently bought this book we would love to hear from you! Benefit from receiving a free ebook from our catalogue at http:// www.emereo.org/ if you write a review on Amazon (or the online store where you purchased this book) about your last purchase! How does it work? To post a review on Amazon, just log in to your account and click on the Create your own review button (under Customer Reviews) of the relevant product page. You can find examples of product reviews in Amazon. If you purchased from another online store, simply follow their procedures. What happens when I submit my review? Once you have submitted your review, send us an email at review@emereo.org with the link to your review, and the ebook you would like as our thank you from http://www.emereo.org/. Pick any book you like from the catalogue, up to $99 RRP. You will receive an email with your ebook as download link. It is that simple! Copyright Notice of Rights All rights reserved. No part of this book may be reproduced or transmitted in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. No Claim to Orig. U.S. Govt. Works. Notice of Liability The information in this book is distributed on an As Is basis without warranty. While every precaution has been taken in the preparation of the book, neither the author nor the publisher shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the instructions contained in this book or by the products described in it. Trademarks Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations appear as requested by the owner of the trademark. All other product names and services identified throughout this book are used in editorial fashion only and for the benefit of such companies with no intention of infringement of the trademark. No such use, or the use of any trade name, is intended to convey endorsement or other affiliation with this book. 3
Complete Guide to In-memory database. Get the information you need--fast! This comprehensive guide offers a thorough view of key knowledge and detailed insight. It s all you need. There is absolutely nothing that isn t thoroughly covered in the book. It is straightforward, and does an excellent job of explaining all about In-memory database in key topics and material. There is no reason to invest in any other materials to learn about In-memory database. You ll understand it all. 4
5
Contents In-memory database 10 Altibase 14 Corporate Structure 15 Revenue and Market Share 15 Clients 15 Products and Services 16 ALTIBASE HDB 16 ALTIBASE HDB is a so-called hybrid DBMS that combines an in-memory database with a conventional disk-resident database. 16 ALTIBASE DSM 16 ALTIBASE DSM is window-based data caching software for use in real-time Complex event processing applications. This product was formerly known as ADS ( Altibase Data Stream ). 16 Database management system 16 Datablitz 33 ENEA AB 35 EXASOL 37 EXtremeDB 38 History 39 Product features 39 Core extremedb engine 39 extremedb supports the following features across its product family. 39 In-process architecture 39 extremedb runs in-process with an application, rather than as a database server that is separate from client processes. 39 Application programming interfaces 39 A type-safe, native, navigational C/C++ API 39 Database indexes 40 B-tree 40 Concurrency mechanisms 40 extremedb supports multiple concurrent users, offering ACIDcompliant transactions (as defined by Jim Gray) using either of two transaction managers: a multiple-reader, single writer 6
(MURSIW) locking mechanism, or multiversion concurrency control (MVCC) transaction manager (optimistic non-locking model). 40 Supported data types 40 extremedb can work with virtually all C language data types including complex types including structures, arrays, vectors and BLOBs. Unicode is supported. 40 Security 40 Page-level cyclic redundancy checking (CRC) 40 Optional features 40 Distributed database management abilities 40 The extremedb high availability edition supports both synchronous (2-safe) and asynchronous (1-safe) database replication, with automatic failover. extremedb Cluster edition provides for shared-nothing database clustering. 40 Hybrid storage 40 extremedb Fusion edition provides the option of persistent storage (disk or flash) for specific tables, via a database schema notation. 40 Transaction logging 40 extremedb Transaction Logging edition keeps a record of changes made to the database and uses this log to provide recovery in the event of device or system failure. This edition includes extremedb Data Relay technology that replicates selected changes to external systems such as enterprise applications and database systems. 40 SQL ODBC/JDBC 41 The extremesql edition provides SQL ODBC support in extremedb and a version 4, level 4 JDBC driver. 41 Kernel mode deployment 41 The extremedb Kernel Mode edition deploys the database system within an operating system kernel, to provide database functions to kernel-based applications logic. 41 Benchmarks 41 Applications and customers 41 Embedded database 42 H2 (DBMS) 51 InfoZoom 52 MicroStrategy 54 7
Oracle Corporation 68 Perihelion Software 89 Polyhedra DBMS 89 Redis 93 Supported languages 94 Data model 94 Persistence 94 Replication 94 Performance 95 SAP HANA 95 soliddb 106 Technology 106 Customers 106 History 107 Notes 107 TimesTen 107 VoltDB 109 WebDNA 110 8
9
In-memory database In-memory database An in-memory database (IMDB; also main memory database system or MMDB) is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems which employ a disk storage mechanism. Main memory databases are faster than disk-optimized databases since the internal optimization algorithms are simpler and execute fewer CPU instructions. Accessing data in memory reduces the I/O reading activity when querying the data which provides faster and more predictable performance than disk. In applications where response time is critical, such as telecommunications network equipment and mobile ads networks, main memory databases are often used. ACID support In their simplest form, main memory databases store data on volatile memory devices. These devices lose all stored information when the device loses power or is reset. In this case, MMDBs can be said to lack support for the durability portion of the ACID (atomicity, consistency, isolation, durability) properties. Volatile memory-based MMDBs can, and often do, support the other three ACID properties of atomicity, consistency and isolation. Many MMDBs add durability via the following mechanisms: Snapshot files, or, checkpoint images, which record the state of the database at a given moment in time. These are typically generated periodically, or, at least when the MMDB does a controlled shut-down. While they give a measure of persistence to the data (in that not everything is lost in the case of a system crash) they only offer partial durability (as recent changes will be lost). For full durability, they will need to be supplemented by one of the following: Transaction logging, which records changes to the database in a journal file and facilitates automatic recovery of an in-memory database. Non-volatile random access memory (NVRAM), usually in the form 10
of static RAM backed up with battery power (battery RAM), or an electrically erasable programmable ROM (EEPROM). With this storage, the MMDB system can recover the data store from its last consistent state upon reboot. High availability implementations that rely on database replication, with automatic failover to an identical standby database in the event of primary database failure. To protect against loss of data in the case of a complete system crash, replication of a MMDB is normally used in conjunction with one or more of the mechanisms listed above. Some MMDBs allow the database schema to specify different durability requirements for selected areas of the database - thus, faster-changing data that can easily be regenerated or that has no meaning after a system shut-down would not need to be journaled for durability (though it would have to be replicated for high availability), whereas configuration information would be flagged as needing preservation. Hybrids with on-disk databases The first database engine to support both in-memory and on-disk tables in a single database was released in 2003. The advantage to this approach is flexibility: the developer can strike a balance between performance (which is enhanced by sorting, storing and retrieving specified data entirely in memory, rather than going to disk); cost, because a less costly hard disk can be substituted for more memory; persistence; and form factor, because RAM chips cannot approach the density of a small hard drive. Manufacturing efficiency is another reason a combined inmemory/on-disk database system may be chosen. Some device product lines, especially in consumer electronics, include some units with permanent storage, and others that rely on memory for storage (set-top boxes, for example). If such devices require a database system, a manufacturer can adopt a hybrid database system at lower and upper cost, and with less code customization, than using separate in-memory and on-disk databases, respectively, for its disk-less and disk-based products. Products Development of a relational in-memory database system was started at Perihelion Software in 1991, and had its first commercial release in early 1993 under the name Polyhedra. The product was 11
later spun out as a separate company, which was acquired by Enea AB in 2001. Polyhedra was developed from the start as a commercial offering for use in SCADA and embedded systems. Companies needing a a fast data storage mechanism for their own products have often developed their own, in-house solution which they later marketed commercially. For example, research in main-memory database systems started around 1993 at Bell Labs. It was prototyped as the Dali Main-Memory Storage Manager. This research lead to the commercial main-memory database, Datablitz. In recent years, main memory databases have attracted the interest of larger database vendors. TimesTen, a start-up company founded by Marie-Anne Neimat in 1996 as a spin-off from Hewlett-Packard, was acquired by Oracle Corporation in 2005. Oracle now markets this product as both a standalone database and an in-memory database cache to the Oracle database. In 1999, Altibase Corporation developed an In-Memory DBMS offering. In 2012, Altibase released version 6 of its hybrid database flagship product, ALTIBASE HDB. Also in 1999, Microsoft COM+ IMDB solution provided an application with fast access to data through OLE DB, without incurring the overhead associated with storing and accessing data to and from physical disks that worked within Windows NT 3. 5 and then upcoming Windows 2000. IBM acquired soliddb in 2008, and Microsoft is widely rumored to be launching an in-memory solution in 2009. VoltDB, founded by DBMS pioneer Michael Stonebraker, announced the general availability of its namesake in-memory database in May 2010, and offers versions of the product under open source (GPLv3) and commercial licenses. SAP AG announced general availability of their own in-memory product, SAP HANA, in June 2011. WebDNA 7, released as freeware, is a robust hybrid in-memory database system and scripting language designed for the World Wide Web. 12