future of the raima dbmsraima.com/wp-content/uploads/database_technology_for_embedded... · hot...
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.