SlideShare une entreprise Scribd logo
1  sur  22
In Memory Database (IMDB)
(old is new again)

Kodamasimham Pridhvi
MT2012066
Agenda
› Introduction

› Architecture of IMDB
› Practical Application
› Myths about IMDB’s

› IMDB vs. DRDB
› Impact of IMDB
› Challenges in IMDB
› IMDB Open Sources
Introduction
› What is In-Memory Data Base(IMDB)?
An IMDB also called Main memory
Database(MMDB) is a database whose
primary data store is main memory.
History
› Is this a new idea? NO!!!

› Why now so important?
Due to 4 factors
Factors:
› LOWER ING COSTS & GROWING SIZE
(RAM):
– In early 2000, the cost of 64 MB RAM @ $71
– But now , 8GB DDR3 @ $69.99

› MULTICORE PROCESSORS
– parallel and faster computation

› 64 bit Computing
– multiple GB of main memory

› Faster responses to queries
Architecture
Application

SQL Engine

Query Optimizer

Memory Address
Index and Data
Manager

Data Store

Primary Storage of Data Base

Lock , Log

Logs/Redo/Ckpt
Secondary
Storage

In – Memory Database
Recovery Purpose
Practical Application
› Applications that demand very fast data
access, storage and manipulation
› In real-time embedded systems
› Music databases in MP3 players
› Programming data in set-top boxes
› e-commerce and social networking sites

› financial services and many more…
IMDB vs. DRDB(Disk Resident
DB)
Disk Resident Data Base

In-Memory Data Base

Carries File I/O burden

No file I/O burden

Extra memory For Cache

No extra memory

Algorithm optimized for disk

Algorithms optimized for memory

More CPU cycles

Less CPU cycles

Assumes Memory is abundant

Uses memory more efficiently
Myths about IMDB’s
› Given the same amount of RAM, disk DBs
can perform at the same speed as IMDBs
(by using caching technology).

› If a RAM disk is created and a traditional
disk DB is deployed on it, it delivers the
same performance as an in-memory
database.
Myths about IMDB’s
› In-memory database the same as an
embedded database.

› Since RAM size is limited, sizes of IMDBs
are also limited.
Impact of IMDB:
› Data Representation,
› Concurrency control,
› Data Access Methods,

› Query Processing,
› ACID Properties,
› Recovery.
Data Representation
› In Disk Resident DB, we use flat files and
sequential access.
› In IMDB, Relational tuples with direct
pointers.
– Space efficient.
– Shared between columns and relations
Data Representation Diagram
Relation Tuple

Domain Table

Marks

Value 1

Age

Value 2

Pointers
To memory
address

Value 3

RollNo
Age

RollNo

Age

Age

Relational Tuple
Concurrency Control(lock based)
› In DRDB , locking granules are low level.
– To reduce contention

› In IMDB, due to fast processing it create
coarser locks.
– locking granules like a relation or entire database.
– No need of hash table look up.
Data Access Methods
› In DRDB, B-tree index structure is used.
– ranges , exact match queries
– lies in hard disk

› In IMDB, T-tree index structure is explicitly
designed
– reduces the CPU processing
– Eliminates index value compression and
expansion
T-tree
› T-tree node consists
– ordered elements in the range min and max
values
– two pointers to the left and right nodes
Pointer to parent
Parent
Key 1
Minimum Element

Left ptr

……………..
Control

Key..

Key n
Maximum Element

Right ptr
Query Processing
› In DRDB, main focus is on processing costs,
and attempt to minimize disk access.
› In IMDB, main factors are
–
–
–
–

Cardinality of table
Presence of index
Any ORDER BY clause
Predicate evaluation

› Ex : TimesTen provides range, hash and
bitmap indexes and support two types of join
methods nested-loop and merge-join.
ACID Properties
› IMDBs can be said to lack support for the
durability portion of the ACID
› Many MMDBs have added durability via the
following mechanisms:
– Checkpoints
– Transaction logging
– NVRAM(Non-Volatile RAM)
Recovery
› Mechanisms for recovery are :
– Logging
– Checkpoints
– Reloading

› transactional durability is kept, by keeping
two separate but synchronized copies of
the database at all times as well as storing
log files on-disk.
Challenges in IMDB
› Durability
› Query optimization

› Size of Data Base
IMDB Open Sources:
› CSQL

› HyperSQL
› VoltDB
› Mcobject

› MonetDB
In-Memory DataBase

Contenu connexe

Tendances

in-memory database system and low latency
in-memory database system and low latencyin-memory database system and low latency
in-memory database system and low latency
hyeongchae lee
 
6 Data Modeling for NoSQL 2/2
6 Data Modeling for NoSQL 2/26 Data Modeling for NoSQL 2/2
6 Data Modeling for NoSQL 2/2
Fabio Fumarola
 

Tendances (20)

Integrity Constraints
Integrity ConstraintsIntegrity Constraints
Integrity Constraints
 
Oltp vs olap
Oltp vs olapOltp vs olap
Oltp vs olap
 
Data clustring
Data clustring Data clustring
Data clustring
 
The CAP Theorem
The CAP Theorem The CAP Theorem
The CAP Theorem
 
Multi media Data mining
Multi media Data miningMulti media Data mining
Multi media Data mining
 
NOSQL Databases types and Uses
NOSQL Databases types and UsesNOSQL Databases types and Uses
NOSQL Databases types and Uses
 
Inverted index
Inverted indexInverted index
Inverted index
 
Etl elt simplified
Etl elt simplifiedEtl elt simplified
Etl elt simplified
 
Data Warehousing
Data WarehousingData Warehousing
Data Warehousing
 
ADBMS Object and Object Relational Databases
ADBMS  Object  and Object Relational Databases ADBMS  Object  and Object Relational Databases
ADBMS Object and Object Relational Databases
 
Database Security
Database SecurityDatabase Security
Database Security
 
in-memory database system and low latency
in-memory database system and low latencyin-memory database system and low latency
in-memory database system and low latency
 
Nosql data models
Nosql data modelsNosql data models
Nosql data models
 
Database Security And Authentication
Database Security And AuthenticationDatabase Security And Authentication
Database Security And Authentication
 
Dbms 3: 3 Schema Architecture
Dbms 3: 3 Schema ArchitectureDbms 3: 3 Schema Architecture
Dbms 3: 3 Schema Architecture
 
Data warehouse
Data warehouse Data warehouse
Data warehouse
 
6 Data Modeling for NoSQL 2/2
6 Data Modeling for NoSQL 2/26 Data Modeling for NoSQL 2/2
6 Data Modeling for NoSQL 2/2
 
Big Data Visualization
Big Data VisualizationBig Data Visualization
Big Data Visualization
 
Big Data Evolution
Big Data EvolutionBig Data Evolution
Big Data Evolution
 
Hadoop Architecture
Hadoop ArchitectureHadoop Architecture
Hadoop Architecture
 

En vedette

Main MeMory Data Base
Main MeMory Data BaseMain MeMory Data Base
Main MeMory Data Base
Siva Rushi
 
Real World Use Cases and Success Stories for In-Memory Data Grids (TIBCO Acti...
Real World Use Cases and Success Stories for In-Memory Data Grids (TIBCO Acti...Real World Use Cases and Success Stories for In-Memory Data Grids (TIBCO Acti...
Real World Use Cases and Success Stories for In-Memory Data Grids (TIBCO Acti...
Kai Wähner
 
Microblogging
MicrobloggingMicroblogging
Microblogging
uday p
 

En vedette (20)

In-Memory Database Platform for Big Data
In-Memory Database Platform for Big DataIn-Memory Database Platform for Big Data
In-Memory Database Platform for Big Data
 
In memory big data management and processing a survey
In memory big data management and processing a surveyIn memory big data management and processing a survey
In memory big data management and processing a survey
 
In-Memory Computing: How, Why? and common Patterns
In-Memory Computing: How, Why? and common PatternsIn-Memory Computing: How, Why? and common Patterns
In-Memory Computing: How, Why? and common Patterns
 
Using In-Memory Encrypted Databases on the Cloud
Using In-Memory Encrypted Databases on the CloudUsing In-Memory Encrypted Databases on the Cloud
Using In-Memory Encrypted Databases on the Cloud
 
Main MeMory Data Base
Main MeMory Data BaseMain MeMory Data Base
Main MeMory Data Base
 
IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.
IN-MEMORY DATABASE SYSTEMS.SAP HANA DATABASE.
 
Sap technical deep dive in a column oriented in memory database
Sap technical deep dive in a column oriented in memory databaseSap technical deep dive in a column oriented in memory database
Sap technical deep dive in a column oriented in memory database
 
Real World Use Cases and Success Stories for In-Memory Data Grids (TIBCO Acti...
Real World Use Cases and Success Stories for In-Memory Data Grids (TIBCO Acti...Real World Use Cases and Success Stories for In-Memory Data Grids (TIBCO Acti...
Real World Use Cases and Success Stories for In-Memory Data Grids (TIBCO Acti...
 
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
 
Transaction management for a main memory database
Transaction management for a main memory databaseTransaction management for a main memory database
Transaction management for a main memory database
 
Which DBMS and Why?
Which DBMS and Why?Which DBMS and Why?
Which DBMS and Why?
 
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL ServerGeek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
Geek Sync I Need for Speed: In-Memory Databases in Oracle and SQL Server
 
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
 
Memcached Presentation
Memcached PresentationMemcached Presentation
Memcached Presentation
 
MonetDB/DataCell - Exploiting the Power of Relational Databases for Efficient...
MonetDB/DataCell - Exploiting the Power of Relational Databases for Efficient...MonetDB/DataCell - Exploiting the Power of Relational Databases for Efficient...
MonetDB/DataCell - Exploiting the Power of Relational Databases for Efficient...
 
Microblogging
MicrobloggingMicroblogging
Microblogging
 
Seminar datawarehouse @ Universitas Multimedia Nusantara
Seminar datawarehouse @ Universitas Multimedia NusantaraSeminar datawarehouse @ Universitas Multimedia Nusantara
Seminar datawarehouse @ Universitas Multimedia Nusantara
 
Slowly changing dimension
Slowly changing dimension Slowly changing dimension
Slowly changing dimension
 
Multi model-databases
Multi model-databasesMulti model-databases
Multi model-databases
 
Ibm aix
Ibm aixIbm aix
Ibm aix
 

Similaire à In-Memory DataBase

2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
asya999
 
Big Data presentation at GITPRO 2013
Big Data presentation at GITPRO 2013Big Data presentation at GITPRO 2013
Big Data presentation at GITPRO 2013
Sameer Wadkar
 
Zing Database – Distributed Key-Value Database
Zing Database – Distributed Key-Value DatabaseZing Database – Distributed Key-Value Database
Zing Database – Distributed Key-Value Database
zingopen
 
Zing Database
Zing Database Zing Database
Zing Database
Long Dao
 

Similaire à In-Memory DataBase (20)

A peek into the future
A peek into the futureA peek into the future
A peek into the future
 
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
2013 CPM Conference, Nov 6th, NoSQL Capacity Planning
 
How & When to Use NoSQL at Websummit Dublin
How & When to Use NoSQL at Websummit DublinHow & When to Use NoSQL at Websummit Dublin
How & When to Use NoSQL at Websummit Dublin
 
Big Data presentation at GITPRO 2013
Big Data presentation at GITPRO 2013Big Data presentation at GITPRO 2013
Big Data presentation at GITPRO 2013
 
North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911
 
Accelerating Data Science with Better Data Engineering on Databricks
Accelerating Data Science with Better Data Engineering on DatabricksAccelerating Data Science with Better Data Engineering on Databricks
Accelerating Data Science with Better Data Engineering on Databricks
 
Choosing the Right Database Service (김상필, 유타카 호시노) - AWS DB Day
Choosing the Right Database Service (김상필, 유타카 호시노) - AWS DB DayChoosing the Right Database Service (김상필, 유타카 호시노) - AWS DB Day
Choosing the Right Database Service (김상필, 유타카 호시노) - AWS DB Day
 
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech TalksSelecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
 
Understanding and building big data Architectures - NoSQL
Understanding and building big data Architectures - NoSQLUnderstanding and building big data Architectures - NoSQL
Understanding and building big data Architectures - NoSQL
 
MongoDB Aggregation Performance
MongoDB Aggregation PerformanceMongoDB Aggregation Performance
MongoDB Aggregation Performance
 
Getting Started with Managed Database Services on AWS - September 2016 Webina...
Getting Started with Managed Database Services on AWS - September 2016 Webina...Getting Started with Managed Database Services on AWS - September 2016 Webina...
Getting Started with Managed Database Services on AWS - September 2016 Webina...
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware Provisioning
 
Teri Grossheim - Amazon Presentation
Teri Grossheim - Amazon PresentationTeri Grossheim - Amazon Presentation
Teri Grossheim - Amazon Presentation
 
SharePoint 2010 database maintenance
SharePoint 2010 database maintenanceSharePoint 2010 database maintenance
SharePoint 2010 database maintenance
 
MongoDB for Time Series Data: Sharding
MongoDB for Time Series Data: ShardingMongoDB for Time Series Data: Sharding
MongoDB for Time Series Data: Sharding
 
Tempdb, More permanent than you think
Tempdb, More permanent than you thinkTempdb, More permanent than you think
Tempdb, More permanent than you think
 
Hardware Provisioning
Hardware Provisioning Hardware Provisioning
Hardware Provisioning
 
In Memory Data Grids, Demystified!
In Memory Data Grids, Demystified! In Memory Data Grids, Demystified!
In Memory Data Grids, Demystified!
 
Zing Database – Distributed Key-Value Database
Zing Database – Distributed Key-Value DatabaseZing Database – Distributed Key-Value Database
Zing Database – Distributed Key-Value Database
 
Zing Database
Zing Database Zing Database
Zing Database
 

Plus de Pridhvi Kodamasimham

DevanagiriOCR on CELL BROADBAND ENGINE
DevanagiriOCR on CELL BROADBAND ENGINEDevanagiriOCR on CELL BROADBAND ENGINE
DevanagiriOCR on CELL BROADBAND ENGINE
Pridhvi Kodamasimham
 

Plus de Pridhvi Kodamasimham (7)

Open Data Convergence
Open Data ConvergenceOpen Data Convergence
Open Data Convergence
 
Thirst
Thirst Thirst
Thirst
 
Experiments and Results on Click stream analysis using R
Experiments and Results on Click stream analysis using RExperiments and Results on Click stream analysis using R
Experiments and Results on Click stream analysis using R
 
DevanagiriOCR on CELL BROADBAND ENGINE
DevanagiriOCR on CELL BROADBAND ENGINEDevanagiriOCR on CELL BROADBAND ENGINE
DevanagiriOCR on CELL BROADBAND ENGINE
 
Click Stream Analysis
Click Stream AnalysisClick Stream Analysis
Click Stream Analysis
 
Data Convergence
Data ConvergenceData Convergence
Data Convergence
 
Reactive Data System
Reactive Data SystemReactive Data System
Reactive Data System
 

Dernier

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Dernier (20)

How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 

In-Memory DataBase

  • 1. In Memory Database (IMDB) (old is new again) Kodamasimham Pridhvi MT2012066
  • 2. Agenda › Introduction › Architecture of IMDB › Practical Application › Myths about IMDB’s › IMDB vs. DRDB › Impact of IMDB › Challenges in IMDB › IMDB Open Sources
  • 3. Introduction › What is In-Memory Data Base(IMDB)? An IMDB also called Main memory Database(MMDB) is a database whose primary data store is main memory.
  • 4. History › Is this a new idea? NO!!! › Why now so important? Due to 4 factors
  • 5. Factors: › LOWER ING COSTS & GROWING SIZE (RAM): – In early 2000, the cost of 64 MB RAM @ $71 – But now , 8GB DDR3 @ $69.99 › MULTICORE PROCESSORS – parallel and faster computation › 64 bit Computing – multiple GB of main memory › Faster responses to queries
  • 6. Architecture Application SQL Engine Query Optimizer Memory Address Index and Data Manager Data Store Primary Storage of Data Base Lock , Log Logs/Redo/Ckpt Secondary Storage In – Memory Database Recovery Purpose
  • 7. Practical Application › Applications that demand very fast data access, storage and manipulation › In real-time embedded systems › Music databases in MP3 players › Programming data in set-top boxes › e-commerce and social networking sites › financial services and many more…
  • 8. IMDB vs. DRDB(Disk Resident DB) Disk Resident Data Base In-Memory Data Base Carries File I/O burden No file I/O burden Extra memory For Cache No extra memory Algorithm optimized for disk Algorithms optimized for memory More CPU cycles Less CPU cycles Assumes Memory is abundant Uses memory more efficiently
  • 9. Myths about IMDB’s › Given the same amount of RAM, disk DBs can perform at the same speed as IMDBs (by using caching technology). › If a RAM disk is created and a traditional disk DB is deployed on it, it delivers the same performance as an in-memory database.
  • 10. Myths about IMDB’s › In-memory database the same as an embedded database. › Since RAM size is limited, sizes of IMDBs are also limited.
  • 11. Impact of IMDB: › Data Representation, › Concurrency control, › Data Access Methods, › Query Processing, › ACID Properties, › Recovery.
  • 12. Data Representation › In Disk Resident DB, we use flat files and sequential access. › In IMDB, Relational tuples with direct pointers. – Space efficient. – Shared between columns and relations
  • 13. Data Representation Diagram Relation Tuple Domain Table Marks Value 1 Age Value 2 Pointers To memory address Value 3 RollNo Age RollNo Age Age Relational Tuple
  • 14. Concurrency Control(lock based) › In DRDB , locking granules are low level. – To reduce contention › In IMDB, due to fast processing it create coarser locks. – locking granules like a relation or entire database. – No need of hash table look up.
  • 15. Data Access Methods › In DRDB, B-tree index structure is used. – ranges , exact match queries – lies in hard disk › In IMDB, T-tree index structure is explicitly designed – reduces the CPU processing – Eliminates index value compression and expansion
  • 16. T-tree › T-tree node consists – ordered elements in the range min and max values – two pointers to the left and right nodes Pointer to parent Parent Key 1 Minimum Element Left ptr …………….. Control Key.. Key n Maximum Element Right ptr
  • 17. Query Processing › In DRDB, main focus is on processing costs, and attempt to minimize disk access. › In IMDB, main factors are – – – – Cardinality of table Presence of index Any ORDER BY clause Predicate evaluation › Ex : TimesTen provides range, hash and bitmap indexes and support two types of join methods nested-loop and merge-join.
  • 18. ACID Properties › IMDBs can be said to lack support for the durability portion of the ACID › Many MMDBs have added durability via the following mechanisms: – Checkpoints – Transaction logging – NVRAM(Non-Volatile RAM)
  • 19. Recovery › Mechanisms for recovery are : – Logging – Checkpoints – Reloading › transactional durability is kept, by keeping two separate but synchronized copies of the database at all times as well as storing log files on-disk.
  • 20. Challenges in IMDB › Durability › Query optimization › Size of Data Base
  • 21. IMDB Open Sources: › CSQL › HyperSQL › VoltDB › Mcobject › MonetDB

Notes de l'éditeur

  1. Today’s agenda for my presentation will be as follows:1.Introduction – we will see what is IMDB, some brief history about it and why is it becoming popular now..2.Architectural details of IMDB – some technical details of the IMDB3.Applications – where this IMDB can be used.4. Some Myths about IMDB .5. Difference between IMDB and DRDB – point where IMDB is superior to DRDB6.Impact of IMDB7.Some of the challenges in IMDB8.IMDB open Sources9.Thank you
  2. Lets start with the basic question: What is In-Memory Data Base?From the name itself you can guess what does it means.. An IMDB also called Main memory Database(MMDB) is a database whose primary data store is main memory.That means in IMDB the primary copy lives permanently in memory..
  3. 1.The idea of using In Memory Database (IMDB) as physical memory is not new but is in existence quite since a decade. IMDB have evolved from a period when they were only used for caching or in high-speed data systems to a time now in twenty first century when they form a established part of the mainstream IT.2.Early in this century, although larger main memories were affordable but processors were not fast enough for main memory databases to be admired. However, today’s processors are faster, available in multicore and multiprocessor configurations having 64-bit memory addressability stocked with multiple gigabytes of main memory.
  4. Three developments in recent years have made in-memory analytics increasingly feasible:64bit computing, multi-core servers and lower RAM prices and growing RAM sizes. One of the key reasons for the interest in in-memory database is to get faster responses to queries which otherwise would be limited by the speed of the disk storage systems.
  5. Architecture:1.IMDB eliminates disk access by storing and manipulating entire database in main memory.2. The access time for main memory is orders of magnitude less than for disk storage3. Disks have a high, fixed cost per access that does not depend on the amount of data that is retrieved during the access. For this reason, disks are block-oriented storage devices. Main memory is not block oriented.4. The layout of data on a disk is much more critical than the layout of data in main memory, since sequential access to a disk is faster than random access. Sequential access is not as important in main memories.5. Buffer pool management totally disappears, number of machine instructions are reduced the structure and size of index pages is simplified, consequently the design becomes simple and more compact and most importantly requests are executed faster.6.You can see there is a secondary storage used for writing logs , checkpoints etc.
  6. Most real-time applications need very short and anticipated response time and Main Memory as we know has short response time.IMDSs running on real-time operating systems (RTOSs) provide the responsiveness needed in applications including IP network routing, telecom switching, and industrial control.Open Music Daemon music player uses IMDB In-memory databases’ typically small memory and CPU footprint make them ideal because most embedded systems are highly resource-constrained. E-commerce and social networking sites use in-memory databases to cache portions of their back-end on-disk database systems
  7. 1.If the cache of a DRDB is large enough,copies of the data will reside in memory at all times. Although such a system will perform well, it is not taking full advantage of the memory. For example, the index structures will be designed for disk access (e.g., B-trees), even though the data are in memory. Also, applications may have to access data through a buffer manager, as if the data were on disk.2. data in an on-disk database system must be transferred to numerous locations as it is used. the handoffs required for an application to read a piece of data from an on-disk database, modify it and write that record back to the database. These steps require time and CPU cycles, and cannot be avoided in a traditional database, even when it runs on a RAM disk. Still more copies and transfers are required if transaction logging is active.In contrast, an in-memory database system entails a single data transfer. Elimination of multiple data transfers streamlines processing. Removing multiple copies of data reduces memory consumption, and the simplified processing makes for greater reliability and minimizes CPU demands.
  8. 1.EDB - database system that is built into the software program by the application developer in-memory database systems employ the client/server model. Eg. Timesten of oracle , polyhedra2. The database size is limited by the amount of physical RAM in the server. On 32-bit platforms, it’s constrained by 32-bit address space, so the database size is under 2GB in size or smaller depending on specific platform. For 64-bit platforms, there is no limit in size other than the amount of physical memory you have in the machine. We have customers that deploy with database size ranges from 1GB (gigabyte) to over 2 TBs (terabytes).
  9. Main memory databases can also take advantage of efficient pointer following for data representation. Relational tuples can be represented as a set of pointers to data values. The use of pointers is space efficient when large values appear multiple times in the database, since the actual value needs to only be stored once. Pointers also simplify the handling of variable length fields since variable length data can be represented using pointers into a heap.Relational data are usually represented as flat files.Tuples are stored sequentially. Enumerated types larger than the pointer size are stored in the tuple as pointers to the domain table values, domain tables can be shared among different columns and even among different relations.
  10. In DRDB, Systems choose small locking granules (fields or records) so to reduce contention. In IMDB, due to fast processing it create coarser locks, as contention is already low because data are memory resident, the principal advantageof small lock granulesis effectively removed.So we suggest large lock granules like a relation or an entire database.Implementation:In a conventional system, locks are implemented via a hash table that contains entries for the objects currently locked. The objects themselves (on disk) contain no lock information. If the objects are in memory, we may be able to afford a small number of bits in them to represent their lock status.
  11. MMDB uses T-tree index structure unlike B-tree index structure used by DRDB. Since the ultimate aim of MMDB is to condense computation time while exploiting little memory. T-tree index structure is explicitly designed for MMDB.A T-tree node consists of ordered elements in the range min and max values,and two pointers to the left and right nodesIndex structures can store pointers to the indexed data, rather than the data itself. This eliminates the problem of storing variable length fields in an index and saves space as long as the pointers are smaller than the data they point to.Indexes are very space efficient and are reasonably fast for range and exact-match queries, although updates are slow.Use of T-trees dramatically reduces the CPU processing required to access data and completely eliminates the index value compression and expansionfound in B-trees.
  12. T-trees uphold the fact that the actual data is always in main memory collectively with the index, hence it do not keep copies of actual attribute values within the index tree nodes. Instead it just contains pointers to the actual data fields . It is an ordered structure like an AVL tree having multiple keys per node. It is an Ideal index structure for ordered search over data. Other index structure supported by MMDB is heap file for handling a large number of fixed-length data items. Hash file supports unordered scan of data items as well as locking of data item that are obtained transparently when items are inserted, deleted, updated or scanned. The Oracle TimesTen, uses T-tree and hash indexing algorithms to speed access to indexed data, while also reducing CPU consumption. Use of T-trees dramatically reduces the CPU processing required to access data and completely eliminates the index value compression and expansionfound in B-trees.
  13. Query processors for memory resident data must focus on processing costs, whereas most conventional systems attempt to minimize disk access.TimesTen and IMDB Cache provide range, hash and bitmap indexes and support two types of join methods nested-loop and merge-join. The optimizer can create temporary indexes as needed. The optimizer also accepts hints that give applications the flexibility to make tradeoffs between such factors as temporary space usage and performance
  14. IMDB’s are logically more exposed to failure than DRDB’s due to high performance requirement as it is directly accessed by processor.