31
Copyright© 2004 Empress Software, Inc. All Rights Reserved.

Copyright© 2004 Empress Software, Inc. All Rights Reserved

Embed Size (px)

Citation preview

Page 1: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Copyright© 2004 Empress Software, Inc. All Rights Reserved.

Page 2: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Database Database

• A lasting collection of shared data organized to A lasting collection of shared data organized to support storage, retrieval, and modification by support storage, retrieval, and modification by application programsapplication programs

• Database consists of data and metadataDatabase consists of data and metadata

Data is actual user dataset

Metadata isData dictionaryExecutable logic

Database Database

• A lasting collection of shared data organized to A lasting collection of shared data organized to support storage, retrieval, and modification by support storage, retrieval, and modification by application programsapplication programs

• Database consists of data and metadataDatabase consists of data and metadata

Data is actual user dataset

Metadata isData dictionaryExecutable logic

Page 3: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Database Management SystemDatabase Management System

A reusable software component for A reusable software component for

managing and encapsulating one managing and encapsulating one

or more databases.or more databases.

Database Management SystemDatabase Management System

A reusable software component for A reusable software component for

managing and encapsulating one managing and encapsulating one

or more databases.or more databases.

Page 4: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Embedded DatabaseEmbedded Database

• Database hidden within an application• Unseen by users• Require no database administration• Can not be accessed by other applications or users

This presentation focuses on a niche of the embedded This presentation focuses on a niche of the embedded database market database market

• The Real-Time Systems marketThe Real-Time Systems market

Embedded DatabaseEmbedded Database

• Database hidden within an application• Unseen by users• Require no database administration• Can not be accessed by other applications or users

This presentation focuses on a niche of the embedded This presentation focuses on a niche of the embedded database market database market

• The Real-Time Systems marketThe Real-Time Systems market

Data is being collected and acted upon in real-time

Reaction to data is driven by the embedded database on the device itself rather than a back end server

Data is being collected and acted upon in real-time

Reaction to data is driven by the embedded database on the device itself rather than a back end server

Page 5: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Trends in the real-time embedded Trends in the real-time embedded market:market:

Devices have become more intelligent and Devices have become more intelligent and capable, and as a result:capable, and as a result:

• Devices need to hold and process large Devices need to hold and process large amount of dataamount of data

• What used to be hard-wired devices, now What used to be hard-wired devices, now have a on-device built-in operating systemhave a on-device built-in operating system

Trends in the real-time embedded Trends in the real-time embedded market:market:

Devices have become more intelligent and Devices have become more intelligent and capable, and as a result:capable, and as a result:

• Devices need to hold and process large Devices need to hold and process large amount of dataamount of data

• What used to be hard-wired devices, now What used to be hard-wired devices, now have a on-device built-in operating systemhave a on-device built-in operating system

Page 6: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Intelligent, knowledge based devicesIntelligent, knowledge based devices

Store and process large amount of dataStore and process large amount of data Bigger Flash, large storage micro Disks Bigger Flash, large storage micro Disks Larger and larger memoryLarger and larger memory More and faster processing powerMore and faster processing power

8 bit 8 bit 16 bit 16 bit 32 bit 32 bit 64 bit 64 bit

Intelligent, knowledge based devicesIntelligent, knowledge based devices

Store and process large amount of dataStore and process large amount of data Bigger Flash, large storage micro Disks Bigger Flash, large storage micro Disks Larger and larger memoryLarger and larger memory More and faster processing powerMore and faster processing power

8 bit 8 bit 16 bit 16 bit 32 bit 32 bit 64 bit 64 bit

Real-time Embedded SystemsReal-time Embedded Systems

Page 7: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Embedded real-time DBMS requirements:Embedded real-time DBMS requirements:

• ReliabilityReliability – Unattended operation 24/7 – Unattended operation 24/7

• PredictabilitPredictabilityy – Execution time and resource consumption – Execution time and resource consumption

• PerformancePerformance – Kernel level control, speed and operations– Kernel level control, speed and operations

• SizeSize – Small footprint and small memory usage– Small footprint and small memory usage

Embedded real-time DBMS requirements:Embedded real-time DBMS requirements:

• ReliabilityReliability – Unattended operation 24/7 – Unattended operation 24/7

• PredictabilitPredictabilityy – Execution time and resource consumption – Execution time and resource consumption

• PerformancePerformance – Kernel level control, speed and operations– Kernel level control, speed and operations

• SizeSize – Small footprint and small memory usage– Small footprint and small memory usage

Page 8: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Unattended operation 24/7Unattended operation 24/7

Run for extended periods of timeRun for extended periods of time• without performance degradationwithout performance degradation• without the aid of a system administratorwithout the aid of a system administrator

Data IntegrityData Integrity• Referential Constraints Referential Constraints • Range ChecksRange Checks• User-Defined functionsUser-Defined functions• Triggers and Stored ProceduresTriggers and Stored Procedures• TransactionsTransactions• Power Down RecoveryPower Down Recovery

Minimal Storage/Disk FragmentationMinimal Storage/Disk Fragmentation

Unattended operation 24/7Unattended operation 24/7

Run for extended periods of timeRun for extended periods of time• without performance degradationwithout performance degradation• without the aid of a system administratorwithout the aid of a system administrator

Data IntegrityData Integrity• Referential Constraints Referential Constraints • Range ChecksRange Checks• User-Defined functionsUser-Defined functions• Triggers and Stored ProceduresTriggers and Stored Procedures• TransactionsTransactions• Power Down RecoveryPower Down Recovery

Minimal Storage/Disk FragmentationMinimal Storage/Disk Fragmentation

Page 9: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Execution time and resource consumptionExecution time and resource consumption

Able to predictAble to predict • how long a database operation will takehow long a database operation will take• how much disk space the database will needhow much disk space the database will need

• User defined time limits on database callsUser defined time limits on database calls• Set a limit on the number of records returnedSet a limit on the number of records returned• Shared memory utility preset limitsShared memory utility preset limits

Execution time and resource consumptionExecution time and resource consumption

Able to predictAble to predict • how long a database operation will takehow long a database operation will take• how much disk space the database will needhow much disk space the database will need

• User defined time limits on database callsUser defined time limits on database calls• Set a limit on the number of records returnedSet a limit on the number of records returned• Shared memory utility preset limitsShared memory utility preset limits

Page 10: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Kernel level control, speed and operationsKernel level control, speed and operations

• Fast database engineFast database engine• Direct access to database structuresDirect access to database structures• Minimum overheadMinimum overhead• Shared memory, global buffers and mapped Shared memory, global buffers and mapped

filesfiles• In-memory databaseIn-memory database• Dirty readsDirty reads

Kernel level control, speed and operationsKernel level control, speed and operations

• Fast database engineFast database engine• Direct access to database structuresDirect access to database structures• Minimum overheadMinimum overhead• Shared memory, global buffers and mapped Shared memory, global buffers and mapped

filesfiles• In-memory databaseIn-memory database• Dirty readsDirty reads

Page 11: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Small footprint and small memory usageSmall footprint and small memory usage

Support for data storage in main memory or Support for data storage in main memory or

persistent storagepersistent storage

• SCSI, RAID, IDE, CD-RW, DVD-ROM, SCSI, RAID, IDE, CD-RW, DVD-ROM,

Compact Flash, etc.Compact Flash, etc.• Shared memory, Ram DiskShared memory, Ram Disk• In-memoryIn-memory

Small footprint and small memory usageSmall footprint and small memory usage

Support for data storage in main memory or Support for data storage in main memory or

persistent storagepersistent storage

• SCSI, RAID, IDE, CD-RW, DVD-ROM, SCSI, RAID, IDE, CD-RW, DVD-ROM,

Compact Flash, etc.Compact Flash, etc.• Shared memory, Ram DiskShared memory, Ram Disk• In-memoryIn-memory

Page 12: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Other special features:Other special features:

• Time Series IndexTime Series Index• Micro Second TimestampsMicro Second Timestamps• Persistent Stored ModulesPersistent Stored Modules• TriggersTriggers• Stored ProceduresStored Procedures• User Defined FunctionsUser Defined Functions• Two-Phase CommitTwo-Phase Commit• Dirty ReadsDirty Reads• Referential Constraints and Range CheckReferential Constraints and Range Check

Other special features:Other special features:

• Time Series IndexTime Series Index• Micro Second TimestampsMicro Second Timestamps• Persistent Stored ModulesPersistent Stored Modules• TriggersTriggers• Stored ProceduresStored Procedures• User Defined FunctionsUser Defined Functions• Two-Phase CommitTwo-Phase Commit• Dirty ReadsDirty Reads• Referential Constraints and Range CheckReferential Constraints and Range Check

Page 13: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Time Series Index

• alternative to B-tree indexing• used for continuously changing data index

distribution (ex. A real-time app which

must run continuously, indexing time or

date values, and there is no opportunity

to drop and recreate the index as it

grows)

Time Series Index

• alternative to B-tree indexing• used for continuously changing data index

distribution (ex. A real-time app which

must run continuously, indexing time or

date values, and there is no opportunity

to drop and recreate the index as it

grows)

Page 14: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Microsecond Timestamps

• for timestamping real-time events• marks time to 1 millionth of a second• maintains dates to the year 10000

Microsecond Timestamps

• for timestamping real-time events• marks time to 1 millionth of a second• maintains dates to the year 10000

Page 15: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Persistent Stored Modules (PSMs)• bring object-oriented capabilities to

relational DBMS• implements Universal Server Plug-Ins• DLLs containing User-Defined Functions,

Triggers, and Stored Procedures• stored as objects in DB schema and are

reusable• performs database or non-database

related operations

Persistent Stored Modules (PSMs)• bring object-oriented capabilities to

relational DBMS• implements Universal Server Plug-Ins• DLLs containing User-Defined Functions,

Triggers, and Stored Procedures• stored as objects in DB schema and are

reusable• performs database or non-database

related operations

Page 16: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Triggers

• automatically “fire” upon execution of

certain user-specified SQL statements• immediately sets into motion a pre-

defined set of events• associated with events such as table

insertions, updates, or deletes• important for autonomous or semi-

autonomous embedded systems

Triggers

• automatically “fire” upon execution of

certain user-specified SQL statements• immediately sets into motion a pre-

defined set of events• associated with events such as table

insertions, updates, or deletes• important for autonomous or semi-

autonomous embedded systems

Page 17: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Stored Procedures

• user-defined procedural database objects that can be invoked by any client program

• reusability and modularity enhance software engineering aspects of the application

• improve performance by reducing network overhead in client-server applications (Stored Procedures run from server side)

Stored Procedures

• user-defined procedural database objects that can be invoked by any client program

• reusability and modularity enhance software engineering aspects of the application

• improve performance by reducing network overhead in client-server applications (Stored Procedures run from server side)

Page 18: Copyright© 2004 Empress Software, Inc. All Rights Reserved

User Defined FunctionsUser Defined Functions

• object-like, reusable functionsobject-like, reusable functions• offer powerful manipulation of Bulk dataoffer powerful manipulation of Bulk data• functions written in C, linked to Emp libsfunctions written in C, linked to Emp libs• create keyword invoked from Empress create keyword invoked from Empress

productsproducts• you can extend standard syntax, for you can extend standard syntax, for

example:example:select name from tableselect name from table

where where SIGNATURESIGNATURE (signal_data) (signal_data)APPROXIMATESAPPROXIMATES SIGNATURESIGNATURE

(input_data)(input_data)

User Defined FunctionsUser Defined Functions

• object-like, reusable functionsobject-like, reusable functions• offer powerful manipulation of Bulk dataoffer powerful manipulation of Bulk data• functions written in C, linked to Emp libsfunctions written in C, linked to Emp libs• create keyword invoked from Empress create keyword invoked from Empress

productsproducts• you can extend standard syntax, for you can extend standard syntax, for

example:example:select name from tableselect name from table

where where SIGNATURESIGNATURE (signal_data) (signal_data)APPROXIMATESAPPROXIMATES SIGNATURESIGNATURE

(input_data)(input_data)

Page 19: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Two-Phase Commit

• when a transaction begins its operations,

no other actions are allowed to interrupt

its operations• ensures distributed database is either

fully updated or fully unchanged• ensures data integrity in distributed

databases

Two-Phase Commit

• when a transaction begins its operations,

no other actions are allowed to interrupt

its operations• ensures distributed database is either

fully updated or fully unchanged• ensures data integrity in distributed

databases

Page 20: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Dirty Reads

• allows users to read data from Empress

database without placing any read locks• enables one user to read a record while

another user has placed an update lock

on the same record• users can fetch data without concern for

locks• increased retrieval speed

Dirty Reads

• allows users to read data from Empress

database without placing any read locks• enables one user to read a record while

another user has placed an update lock

on the same record• users can fetch data without concern for

locks• increased retrieval speed

Page 21: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Referential Constraints and Range Checks

• enforce data integrity• user can add, drop, or redefine attributes

without reloading data; simplifies database

maintenance

Referential Constraints and Range Checks

• enforce data integrity• user can add, drop, or redefine attributes

without reloading data; simplifies database

maintenance

Page 22: Copyright© 2004 Empress Software, Inc. All Rights Reserved

ExamplesExamples

• Stand AloneStand Alone• Client/Server Client/Server

– Provides for bounded resource consumption Provides for bounded resource consumption

– Provides for deterministic responseProvides for deterministic response

Page 23: Copyright© 2004 Empress Software, Inc. All Rights Reserved

DATABASE

EMPRESS DB ENGINEEMPRESS DB ENGINE

ERT APPLICATION

A D T

STAND ALONE MODEL

Page 24: Copyright© 2004 Empress Software, Inc. All Rights Reserved

RTDC CLIENT/SERVER MODEL

DATA SOURCE

RTDC SERVER

DB ENGINE

N E T W O R K

Page 25: Copyright© 2004 Empress Software, Inc. All Rights Reserved

RTDC Client

• Hard Real Time Data Ingest Mechanism

• Tiny Footprint (60 KB)

• Bounded Resource Consumption

• In-Memory only

• Available on most operating systems

can be ported to proprietary o/s

Page 26: Copyright© 2004 Empress Software, Inc. All Rights Reserved

• Empress Unicode UTF-8 port

• Support for CREATE DATABASE and DROP

DATABASE SQL Command

• New Empress Data Type - INTEGER64

• Support for 32-bit & 64-bit Integer SEQUENCE

Data Type

• Implementation of PSM Repository

Page 27: Copyright© 2004 Empress Software, Inc. All Rights Reserved

• Support Scalar Subquery in SELECT, INSERT

and UPDATE Statements

• READ_COMMITTED Transaction Isolation Level

• Performance Improvement for Applications

using Transaction Mode and Table Level

Locking

Page 28: Copyright© 2004 Empress Software, Inc. All Rights Reserved

• Support for "ON DELETE/UPDATE"

CASCADE/SET NULL Functionality

• New 'empmkdb' Behavior

• Implementation of a Capability to Return a

ResultSet from a Stored Procedure in JDBC

Page 29: Copyright© 2004 Empress Software, Inc. All Rights Reserved

Empress Embedded real-time DBMS:Empress Embedded real-time DBMS:

ReliableReliable –– Unattended operation 24/7Unattended operation 24/7

PredictablePredictable – – Execution time and resource consumptionExecution time and resource consumption

Excellent PerformanceExcellent Performance– – Kernel level control, speed and operationsKernel level control, speed and operations

Small FootprintSmall Footprint – – Small footprint and small memory usageSmall footprint and small memory usage

Empress Embedded real-time DBMS:Empress Embedded real-time DBMS:

ReliableReliable –– Unattended operation 24/7Unattended operation 24/7

PredictablePredictable – – Execution time and resource consumptionExecution time and resource consumption

Excellent PerformanceExcellent Performance– – Kernel level control, speed and operationsKernel level control, speed and operations

Small FootprintSmall Footprint – – Small footprint and small memory usageSmall footprint and small memory usage

Page 30: Copyright© 2004 Empress Software, Inc. All Rights Reserved

with special features:with special features:

TimeSeries indexTimeSeries index Microsecond TimestampsMicrosecond Timestamps Persistent Stored ModulesPersistent Stored Modules

TriggersTriggers Stored ProceduresStored Procedures User Defined FunctionsUser Defined Functions

Two-Phase CommitTwo-Phase Commit Dirty ReadsDirty Reads Referential Constraints and Range checksReferential Constraints and Range checks

with special features:with special features:

TimeSeries indexTimeSeries index Microsecond TimestampsMicrosecond Timestamps Persistent Stored ModulesPersistent Stored Modules

TriggersTriggers Stored ProceduresStored Procedures User Defined FunctionsUser Defined Functions

Two-Phase CommitTwo-Phase Commit Dirty ReadsDirty Reads Referential Constraints and Range checksReferential Constraints and Range checks

Page 31: Copyright© 2004 Empress Software, Inc. All Rights Reserved

www.EMPRESS.ruwww.EMPRESS.ruСистема управления реляционными

базам данных реального времени

Официальный дистрибьютор компании Empress Software Inc. на территории России и стран СНГ

SWD Software

Россия, Санкт-Петербург, пр. Ю.Гагарина, 23

(812) 373-02-60, 102-08-33