future of the raima dbmsraima.com/wp-content/uploads/database_technology_for_embedded... · hot...

27
©2010 Copyright Raima Inc. All rights reserved. THE FUTURE OF THE RAIMA EMBEDDED DBMS Wayne Warren & Randy Merilatt Raima Inc. ©2010 Copyright Raima Inc. All rights reserved.

Upload: dangdan

Post on 11-Apr-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

©2010 Copyright Raima Inc. All rights reserved.

THE FUTURE OF THE RAIMA

EMBEDDED DBMS

Wayne Warren & Randy Merilatt

Raima Inc.

©2010 Copyright Raima Inc. All rights reserved.

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

1984: db_VISTA: Single-user library, DDLP, Initdb.

1985: Portable multi-user library using lock file and guard file.

1987: Multi-user library with lock manager.

SQL-like query/report writing tool.

1989: Multi-tasking library for Windows & segmented memory management.

1993: RDS (aka Velocis, RDM Server) - Client/server DBMS with record-level locking.

“Full" SQL.

QUICK TOUR OF RAIMA PRODUCT HISTORY

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

1994-1999: Various features added to RDMs.

True OS threading.

Hot database backup.

1999-2009: Some significant new features.

RDMs: dynamic DDL, replication to 3rd party DBMSs,

SQL extended join syntax + triggers.

RDMe: inmemory, more RTOS platform support,

replication to RDMs & ODBC 3rd party DBMSs.

QUICK TOUR OF RAIMA PRODUCT HISTORY

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

2010: RDMe 10 with …

Transactional File Server.

New replication.

to RDM Embedded.

to 3rd party with aggregation.

Improved in-memory storage.

Mirroring.

Read-only transactions.

Distributed queries.

Two-phase commit support.

QUICK TOUR OF RAIMA PRODUCT HISTORY

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

~1984: 16-bit, 64k memory maximum. 10mb hard drives.

~1985: 640k memory available through segmented programming.

Weak LANs. Multi-User through Unix.

1990s: 32-bit processors (no more segmented memory problems).

Rise of Internet & LAN.

Strong server computers, weak clients => client/server.

Memory & disk capacities increasing exponentially (still are).

CPU speeds increase to 3GHz+.

~2000+: Multi-core processors.

QUICK TOUR OF HARDWARE EVOLUTION

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

THE STATE-OF-THE-ART HAS CHANGED

Univac Fastrand III Drum Storage (circa 1973) ~500 mb

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Control use of memory.

Optimize for performance over disk space.

C programmer-friendly.

Portability (via #ifdef’s).

1984 DB_VISTA DESIGN GOALS

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Multi-threading: make sure CPU is busy.

Client/Server architecture.

Improved portability (via resource mgr).

1991 RDS DESIGN GOALS

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Utilize strong client computers.

Utilize operating systems. Good file I/O and caching.

Good virtual memory.

Reliable file system.

Utilize network.

Utilize multi-core CPU. Concurrency is not the same as parallelism.

CPU speed has peaked.

Multi-CPU computers is becoming the norm.

Make easier to use.

RDME 10 DESIGN GOALS IN 2010

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

DISTRIBUTED DATABASE DEMO

Demonstration of the following features:

Access to databases in different locations.

Distributed database query.

Read-Only-Transactions.

AKA Multi-Version-Concurrency-Control (MVCC)

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

DISTRIBUTED DATABASE DEMO

Seattle Data

San Jose Data

TFS

Dallas Data

TFS

New York Data

TFS

Demo

Tx 4

TFS

Read

Tx 3 Tx 2 Tx 1

Total Tx

Access to databases in

different locations

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

DISTRIBUTED DATABASE DEMO

Seattle Data

San Jose Data

TFS

Dallas Data

TFS

New York Data

TFS TFS

Read

New York Data

Dallas Data

San Jose Data

Seattle Data

Unified View

Distributed database query

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Read-Only-Transactions

DISTRIBUTED DATABASE DEMO

Seattle Data

San Jose Data

TFS

Dallas Data

TFS

New York Data

TFS

Tx 4

TFS

Read Tx 3 Tx 2 Tx 1

v330 v330 v330 v330

TFS Cache

invariant view of databases at time of

MVCC beginning

versions seen by other MVCC

instances

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

DISTRIBUTED DATABASE DEMO

All Data

Tx 4

TFS

Read

Tx 3

Tx 2

Tx 1

Scaling up performance through distribution

Seattle Data

San Jose Data

TFS

Dallas Data

TFS

New York Data

TFS

Tx 4

TFS

Read

Tx 3 Tx 2 Tx 1

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

DATAFLOW DEMO

Summary of all Units

Graph of Unit readings in first slave database

Second slave database

Third slave database

Graph of Unit readings in SQL Server database

Three master databases are replicated into the MS SQL Server database

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

DATAFLOW DEMO

ia

localhost:1700

ia

localhost:1800

ia

localhost:1900

Update Units

Update Units

Update Units

Read Summarize

Display

Read Summarize

Display

Read Summarize

Display

dbrepsql dbrepsql dbrepsql

dbmirror dbmirror dbmirror

ia

SQL Server

Read Summarize

Display

Industrial Automation Demo Program

RDM Embedded

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Embedded SQL.

Enhanced Interoperability.

JDBC

ADO.NET

ODBC

Enhanced HA Support.

Hash Indexing.

Browser-based Monitor/Administrator.

NEXT VERSION OF RDM EMBEDDED?

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Not very likely…

The SQL standard is huge and complex.

SQL is designed for enterprise not embedded

environments.

SQL typically requires a lot of computing

horsepower.

SQL is not particularly programmer-friendly.

AN EMBEDDED SQL DBMS?

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

On the other hand…

An abridged SQL with only those features

useful in embedded applications can be

produced.

Embedded computing environments are less

resource constrained today.

SQL is well-understood by many developers.

The ability to use SQL on the smallest devices up

to the enterprise is very appealing.

AN EMBEDDED SQL DBMS?

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Security.

Views.

Table/column constraint checking.

Triggers.

Dynamic DDL.

UNNECESSARY SQL FEATURES

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Ability to run disk-less.

Use of RDMe in-memory feature.

Catalog info in generated C module.

SQL statements in pre-compiled stored

procedures in generated C modules.

RDME SQL FOR EMBEDDED APPLICATIONS

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

C-based user-defined functions.

C-based virtual tables.

Use of limit clause on select statement for

unending real-time virtual tables.

More details: click on 1st link

(…"Elephant"…) under "Just Published"

on Raima home page.

Currently under development.

RDME SQL FOR EMBEDDED APPLICATIONS

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Interoperability

Small computer to large

Network connectivity

VxWorks, Unix, Windows, Linux, Android

High Availability

From anywhere

With any device

Data redundancy/distribution

Failure recovery

FUTURE EMBEDDED DBMS NEEDS

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

App App

FUTURE EMBEDDED DBMS NEEDS

Aggregate

db

TFS

db

TFS

replicate

Master database

Hot standby

Wireless Sensor Network

Wireless/Intermittent Connection Devices

App App App

Mirror/synchronize

App

High-speed-connection computers

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Partitioned/Distributed Databases.

Granular Locking.

Performance.

Predictability.

Decreased variance in response times.

Security.

Certifications.

FUTURE EMBEDDED DBMS NEEDS (CONT)

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

Q & A

Questions?

©2010 Copyright Raima Inc. All rights reserved. ©2010 Copyright Raima Inc. All rights reserved.

FOR MORE INFORMATION

Download the RDMe Core free SDK at:

http://www.raima.com/downloads/

Contact [email protected] to setup your

evaluation of RDMe HA, dataFlow,

Distributed or all.

Start solving real world problems with

RDM Embedded.