AxleBase

The future by design.


summary

description

applications

home page

documentation

inquiries

policy letter

queued

caution




Advanced Technology

In A Database Manager







Tests

( Please scroll down. )

tests

limitations

change log

demonstrators

date protocol

syslink protocol

nomenclature

research



                               

Equipment And Environment
Test:     Table Size
Test:     Indexed Query,     SQL
Test:     Table Join,     SQL
Test:     Updates,     SQL
Test:     Virtualization
Test:     Mixed Storage Media
Test:     Concurrency
Test:     Index Build Speed
Test:     Insert Speed,     SQL

__________________________________________________





_________________________
Tests
Section
Test Equipment And Environment



Images and other BLOB data are not included in AxleBase tests because they merely inflate the numbers and obscure reality.

Equipment:
      The AxleBase lab uses the cheapest that can be found locally. Computers are used until they break, so one machine has been in use since the nineties. Used equipment is bought for tests when possible.

The network is a switched gigabit single-segment CAT 5 running standard TCP/ IP /ethernet.

Tests are run without tuning and without special configuration. Disk defragmentation is maintained.

Although it may slow tests, the AxleBase yieldProcessor setting is usually turned on to allow control of the computer although it may be subject to slowing processes..







_________________________
Tests
Section
Test:   Table Size



Objective:
    Test the ability to build and control very large tables transparently to the user.

Build Mechanics :
      SQL
      Computers inserting data varied over the six month period with five usually running. Each insert was a fifty-row arrayed insert.

Result :
      The system performed to specification.

Validation:
      The ShowHealth comand reported no problems.

Data :
      Data only. Quantities are not inflated with indices, BLOBs, or other extraneous objects.



test date 1 Oct 2007 - 31 Mar 2008
   
rows in table 42 billion ( 42,126,656,000 )
bytes in table 3 terrabytes ( 3,330,005,827,500 )
   
mechanics follow  
disk drives occupied 23
computers occupied 4
bytes per row 80
segments in table 1,665
rows per segment 25 million ( 25,316,500 )
bytes per segment 2 billion ( 2,000,003,500 )
host master app AxHandle
operating system Windows 2000
network one gig switched CAT 5
table t_citizen_status
_______________________ _______________________







_________________________
Tests
Section
Test:   Indexed Query



Purpose :
      Ascertain approximate speed of large indices.

Query Design :
      Standard SQL queries.
      Each query searched entire table for a single value.
      Example :
      select * from t_citizen where location = 's87787408857901'

Validaty :
      Unique values are in the table at known locations.
      Values and locations were verified before tests.
      Also, see the index validation test section.

Indexing :
      Indices were built after the table was created.
      Indices built on-the-fly are not suitable for large entities.

Queries not shown included between, in, less than, greater than, etc.



test date 20 Oct 2011
   
very small table  
. . . . row count 25 million     ( 25,316,500 )
. . . . byte count 2 billion     ( 2,025,320,000 )
column queried  
. . . . . . . data type alpha repeating 50 values
. . . . . . . query time 0.046 second
. . . . . . . rows returned 1
column queried  
. . . . . . . data type random alpha
. . . . . . . query time 0.171 second
. . . . . . . rows returned 1
column queried  
. . . . . . . data type mostly sorted numeric not unique
. . . . . . . query time 0.109 second
. . . . . . . rows returned 1
   
small table  
. . . . row count 100 million     ( 101,266,000 )
. . . . byte count 8 billion     ( 8,101,280,000 )
column queried  
. . . . . . . data type alpha repeating 50 values
. . . . . . . query time 0.046 second
. . . . . . . rows returned 1
column queried  
. . . . . . . data type random alpha
. . . . . . . query time 0.25 seconds
. . . . . . . rows returned 6
column queried  
. . . . . . . data type mostly sorted numeric not unique
. . . . . . . query time 0.125 second
. . . . . . . rows returned 1
   
large table  
. . . . row count 15 billion     ( 15,392,432,000 )
. . . . byte count 1 terabyte     ( 1,231,394,560,000 )
column queried  
. . . . . . . data type alpha repeating 50 values
. . . . . . . query time 7.4 seconds
. . . . . . . rows returned 152
column queried  
. . . . . . . data type random alpha
. . . . . . . query time 8 minutes and 9 seconds
. . . . . . . rows returned 912
column queried  
. . . . . . . data type mostly sorted numeric not unique
. . . . . . . query time 18.6 seconds
. . . . . . . rows returned 152
   
mechanics follow  
host app. AxHandle demonstrator
table name t_citizen_status
query computer speed 3 ghz, 32 bit
query computer RAM 1 gig
query computer processors 1 32 bit
disk connections local external sata docking disks
  and two remote computers
network one gig switched CAT 5
operating system windows 2000
miscellaneous yield processor was on
_______________________ ____________________________







_________________________
Tests
Section
Test:   Table Join



Purpose :
      1. Test the ability to join large objects.
      2. Ascertain approximate large object join speeds.
      3. Insure transparency of the operation.

Table Size :
      Small table :
                  100 million rows ( 101,266,000 ).
                  8 billion bytes ( 8,101,280,000 ).
      Large table :
                  15 billion rows ( 15,392,432,000 ).
                  1 trillion bytes ( 1,231,394,560,000 ).
Sizes do not include indices, and never include BLOBs.

Query Design :
      Standard SQL queries.
      Example :
          select * from t_citizen_status
          left join t_config
          on t_citizen_status.updater = t_config.owner
          where t_citizen_status.updater = 'sarah'

Validity :
      Unique values are in the tables at known locations.
      Values and locations were verified before tests.
      Also, see the index validation test section.



test date 9 Oct 2011
   
small table  
. . . . row count 100 million     ( 101,266,000 )
. . . . byte count 8 gigabytes     ( 8,101,280,000 )
large table  
. . . . row count 15 billion     ( 15,392,432,000 )
. . . . byte count 1 terabyte     ( 1,231,394,560,000 )
   
column joined  
. . . . . . . data type alpha repeating 50 values
. . . . . . . query time 9.75 seconds
. . . . . . . rows returned 152
column joined  
. . . . . . . data type random alpha
. . . . . . . query time 17 minutes
. . . . . . . rows returned 152
column joined  
. . . . . . . data type mostly sorted numeric not unique
. . . . . . . query time 21.23 seconds
. . . . . . . rows returned 152
   
mechanics follow  
host app. AxHandle demonstrator
query computer speed 3 ghz, 32 bit
query computer RAM 1 gig
query computer processors 1 32 bit
storage computer count 3
storage disk count 4
disk connections sata, pata, external sata
  and one table on remote computer
network one gig switched CAT 5
operating system windows 2000
miscellaneous both tables indexed
miscellaneous yield processor was on
_______________________ ____________________________







_________________________
Tests
Section
Test:   SQL Updates



Purpose :
      Test ability to update large entities.
      Ascertain approximate update speeds.

Query Design :
      Standard SQL.
      update t_citizen_status set flag = true where updater = 'lauren'

Validaty :
      Unique values are in the table at known locations.
      Row contents were verified before and after query.

Large Table Deferrment :
      The large table test is deferred pending hardware acquisition for backup. Updating a test table disturbs its known characteristics, so a backup must be made before the test and restored afterwards to maintain those characteristics. The large table backup requires more hardware than is currently on hand.



test date 27 Nov 2011
   
table, very small  
. . . . row count 25 million     ( 25,316,500 )
. . . . byte count 2 billion     ( 2,025,320,000 )
updates  
. . . . column data type alpha repeating 50 values
. . . . . . . . query time 0.156 second
. . . . . . . . rows updated 1
. . . . column data type random alpha
. . . . . . . . query time 0.125 second
. . . . . . . . rows updated 6
. . . . column data type mostly sorted numeric not unique
. . . . . . . . query time 0.156 second
. . . . . . . . rows updated 1
   
table, small  
. . . . row count 100 million     ( 101,266,000 )
. . . . byte count 8 billion     ( 8,101,280,000 )
updates  
. . . . column data type alpha repeating 50 values
. . . . . . . . query time 0.109 second
. . . . . . . . rows updated 1
. . . . column data type random alpha
. . . . . . . . query time 0.703 second
. . . . . . . . rows updated 9
. . . . column data type mostly sorted numeric not unique
. . . . . . . . query time 0.187 second
. . . . . . . . rows updated 1
   
table, large  
See deferment note above.  
   
mechanics follow  
host app. AxHandle demonstrator
table name t_citizen_status
query computer speed 3.5 ghz, 32 bit
query computer RAM 1 gig
query computer processors 1 32 bit
disk connections local
network one gig switched CAT 5
operating system windows 2000
miscellaneous yield processor was on
_______________________ ____________________________







_________________________
Tests
Section
Test:   Virtualization



Objective :
      To stress the virtualization mechanism.
      To stress the concatenation mechanism.

Result :
      The system performed to specification.

Data :
      Quantities are not inflated with indices, BLOBs, or other extraneous objects.
      Unique rows were placed at controlled locations in tables to validate queries. Also, AxleBase can retrieve by row number even in virtual tables.

Subjective Understanding :
      If the hardware can deliver each row in .015 second,
      and all indices are removed, then a query of the
      smaller table would run for 3,000 years,
      and the larger table would require 400,000 years.

Comparative Example :
      The large table is thousands of times bigger than the biggest book library in the world, the Library Of Congress.



test date 5 Oct 2011
   
indexed table  
    row count 6 trillion     ( 6,156,972,800,000 )
    byte count 492 terabytes     ( 492,557,824,000,000 )
    segment count 243,600
    source table count 400
    query time ** 15 minutes
    rows returned 60,800
   
un-indexed table  
    row count 843 trillion     ( 842,812,366,000,000 )
    byte count 67 petabytes     ( 67,424,989,280,000,000 )
    segment count 33,320,000
    source table count 20,000
   
mechanics follow  
table t_citizen_status
bytes per row 80
rows per segment 25,316,500
bytes per segment 2,025,320,000
host master app AxHandle
operating system Windows 2000
query computer speed 3 ghz, 32 bit
query computer RAM 1 gig
query computer processors 1
disk connections sata, pata, external sata
network one gig switched CAT 5
_______________________ ___________________________________

** The fastest data column was used.
** select * from t_citizen_status where updater = 'kate'







_________________________
Tests
Section
Test:   Mixed Storage Media



Purpose :
      Verify AxleBase storage media eclecticism.
      AxleBase was designed for a distributed operation across generalized and disparate hardware of uncontrolled quality and quantity. The question addressed is whether or not that specification has been maintained through development.

Caveat :
      This test was designed to touch the extremes, and no part of it is intended to be a recommendation or even a suggestion.

Result :
      The system performed to design specification.
      There were no errors, problems, or data loss.

Media Selection :
      Every medium that was on hand in the lab was used.

Test Structure :
      The database table segment size was changed from 2 gig to 2k.
      A table of 14,250 rows was created.
      The very small segment size produced 285 table segments.
      Segments were relocated so that the table was spread across various media.
      The entire table was returned by every query.
      select * from t_citizen_status
      (The CD precluded a write test, but it was not considered necessary.)

Times :
      Timing the test was considered pointless, considering the low speed of some components; floppy disks are from the last century.
      Also, the small table and small segments made reads nearly instantaneous.

Media Housing The Table
medium capacity units
CD read only, 52x 650 meg
flash drive USB, 2.0 4 gig
floppy drive 1 meg
hard disk ESATA 2 tb
hard disk PATA 32 gig
test date 14 Jan 2012 ________

Query Access Sequence
medium
PATA
CD
PATA
ESATA
floppy drive
PATA
flash
CD
PATA
floppy drive
PATA
flash
PATA
ESATA
____________________







_________________________
Tests
Section
Test:   Concurrency



Purpose :
      To test concurrent operations.

Result :
      The system performed to specification.

Queries :
      The AxHandle query test suite.

Caution :
      Do not be misled by the success of these tests. The inability to achieve a system failure does not necessarily indicate operational safety at or above that load. Only after failures have repeatedly been achieved can a safe operational load be estimated.



Concurrent Query Test Design
test date 13 Nov 2006
achieved load 29.4 queries per second
duration 24 hours
host master app AxHandle
system release 61113
computers 7
instances * 11
computer speeds 120 megahertz
  150 megahertz
  350 megahertz
  400 megahertz
  733 megahertz
  800 megahertz
  1.8 gigahertz
operating systems Windows 95
  Windows 98
  NT
  Win 2000 pro
  Win 2000 server
database AxHandle demo
instance schedules continuous
query timeout 15 seconds
spinlock timeout 15 seconds
test type mixed SQL queries
using yield processor yes
using remote temp db yes
remote segment table no
system errors none
contention lockouts none
lock failures none
data loss none
_______________________ _______________________



Test:   Concurrent Insert

Objective :
      To place a heavy insert load on a single table. The previous test was mainly reads.

Times included interruption by an hourly database purge by every CoreReader instance and database backup by every instance.

The CoreReader log table was chosen. Multiple CoreReader instances were directed against a single remote database, and a departmental job server was started on all instances.

All activity, including job file writes, was on one disk. There was no system tuning or object dispersion.



Concurrent Insert Test Design
test date 20070202
achieved insert rate 24 per second *
insert and read 75 per second *
duration 48 hours
host master app CoreReader
system release 70202
computers 3 **
CoreReader instances 3
computer speeds 400 megahertz
  733 megahertz
  2.16 gigahertz
operating systems Windows 98
  Win 2000 Pro
  Win 2000 server
database CoreReader
table t_log
instance schedules continuous
query timeout setting 15 seconds
spinlock setting 15 seconds
test type job server
yield processor yes
remote temp db no
errors none
contention lockouts none
lock failures none
data loss none
_______________________ _______________________

** Does not include the file server and the database servers such as MySql and MsSql against which CoreReader jobs were run.







_________________________
Tests
Section
Test:   Index Build Speed



Objective :
      Determine approximate times required to index an existing table.

Speed Increase :
      A change in a database configuration parameter could have easily increased the speed in the random column build, but would have resulted in a slower index.
      Also, AxleBase could have used multiple computers to speed the build of all indices, but timing of the operation would have been inacurate and confusing.

Indexing is so complex that we could easily become mired down in the complexities. Therefore, this test is designed to be as simple as possible while giving a "ballpark feel" for the performance. AxleBase can also index "on the fly" as data is entered, but most very large data stores will be indexed after they are created.



test date 20 Nov 2011
   
table  
. . . . . row count 100 million     ( 101,266,000 )
. . . . . byte count 8 billion     ( 8,101,280,000 )
   
column  
. . . . . . . type alpha repeating 50 values
. . . . . . . width 20
. . . . . . . build time 68 min. and 50 sec.
. . . . . . . rows per second 24,820
. . . . . . . rows per day 2 billion
column  
. . . . . . . type random alpha not unique
. . . . . . . width 16
. . . . . . . build time 191 mins. and 40 secs.
. . . . . . . build time 244 mins. and 4 secs.
. . . . . . . rows per second 6,915
. . . . . . . rows per day 597,456,000
column  
. . . . . . . type mostly sorted numeric not unique
. . . . . . . width 20
. . . . . . . build time 53 min. and 38 sec.
. . . . . . . rows per second 31,468
. . . . . . . rows per day 2.7 billion
   
mechanics follow  
host app. AxHandle demonstrator
table name t_citizen_status
computer speed 3.5 ghz, 32 bit
computer RAM 1 gig
computer processors one, 32 bit
network one gig switched CAT 5
operating system windows 2000
miscellaneous yield processor was on
_______________________ ____________________________







_________________________
Tests
Section
Test:   SQL Insert Speed



Test Design
test date Dec 2011
   
average time per row 0.0012 second
rows inserted 1 million
   
mechanics  
host master app AxHandle
computers one
CPU's one, 32 bit
  3.5 ghz
buss speed 333 mhz
disk drives  
    type cheapest available
    mfg Seagate
  Maxtor
  Western Digital
    buss SATA
  EIDE
operating system Windows 2000 Pro
database AxHandle demo
table T_CITIZEN_STATUS
indexed no
yield processor yes
_______________________ _______________________




__________________________________________________

                                             





Copyright 2003 - 2012 John Ragan

Web site maintained with Notepad and command line FTP.