Webcasts‎ > ‎

A quick demo of Polyhedra IMDB.

This video is a five-minute demo of some of the main features of Polyhedra IMDB. Two database servers are started up in a fault-tolerant configuration under the control of an arbitrator, and the database is updated via an SQL command line client. A sample client is started to illustrated Polyhedra's active query mechanism, and another client is started to feed in a series of changes (which are reported to the client which launched the active query). A fail-over is then forced by killing the master server, which results in the immediate promotion of the standby server. A new server is started to act as standby, and then the structure of the database is altered on the fly - the existing clients continue to run, even though a new column has been added to the table that is being updated by one and monitored by the other. In fact, the clients had continued to operate even though the earlier fail-over; it is only when the database service is explicitly stopped that they terminate.


By the way, if you want to try this out for yourself, here is a script of commands can be used in a Windows command shell to run the above demo, assuming the Polyhedra release kits had been unpacked into the directory poly8.5. The commands typed into sqlc are indented, and instructions re killing database servers are given as comments.

cd poly8.5
set PATH=%CD%\win32\i386\bin;%PATH%
cd examples\demo_4
start clc arbiter
start rtrdb db1
sqlc sql_ft

select * from currency;
update currency set usdollar=usdollar*0.9 where code='GBP'; commit;
select code, usdollar from currency;

start rtrdb db2
start active 8001,8002 FT

update currency set usdollar=usdollar/0.9 where code='AUD'; commit;

start animate 8001,8002 FT

# (now kill db1; db2 will be promoted)

start rtrdb db1

alter table currency add (extra integer);

# (now kill db2; db1 will be promoted)

select * from currency;
shutdown;
 
If running Polyhedra on Linux or Unix, a similar sequence could be used, except you would replace commands such as start &rtrdb &db1 with rtrdb &db1 & and then use the kill command to terminate a database server process. The syntax of the command to set the command path would depend on the command shell you were using: for example, if using Polyhedra on linux on an x86 platform, with csh or tcsh you could use
 

set path = ( `pwd`/linux/i386/bin $path )

 
Note:
  • Polyhedra FlashLite supports the features shown in this demo, but as it is intended for use in small-footprint embedded systems it is not available on the Windows platform.
  • If you are wanting to test out Polyhedra features other than HA then a simplified script can be used, using the database and configuration files in demo_1 rather than demo_4:
cd poly8.5
set PATH=%CD%\win32\i386\bin;%PATH%
cd examples\demo_1
start rtrdb db
sqlc sql
select * from currency;
update currency set usdollar=usdollar*0.9 where code='GBP'; commit;
select code, usdollar from currency;

start active 8001

update currency set usdollar=usdollar/0.9 where code='AUD'; commit;

start animate 8001

alter table currency add (extra integer);
select * from currency;
shutdown;