Advanced Database Manager

Power by Design




Select A Section

home

public service

database mgr

data access

data modeler

site notes

Currently In This Section

AxleBase









Shortcomings
( Please Scroll Down )

Section Pages

summary
description

design limits

notable tests

shortcomings

nomenclature

operation


                                                       

This is a legally copyrighted work,
so none of it can,
legally or honorably,
be copied, used, or claimed by anyone other than the owner.


Copyright 2003 - 2022 John E. Ragan.

AxleBase Shortcomings __________________________________________________
__________________________________________________
Document stats
Most recent update 20221208
approx. words 2,236
__________________________________________________


Table Of Contents

Purpose
Preface
Bugs
Pending
Undecided
Intentional Abridgement
Unfinished When Project Stopped




__________________________________________________
__________________________________________________

AxleBase Shortcomings
Section
Purpose



The overwhelming reaction has been that AxleBase is too good to be true and is, therefore, impossible. Even those who see it demonstrated in person have trouble believing it.

After decades of using many different big-name database managers, I understand. Therefore, this document makes AxleBase comparable to big-name brands by emphasizing its own problems and shortcomings.





__________________________________________________
__________________________________________________

AxleBase Shortcomings
Section
Development Environment





General Shortcomings
Development Language

The system was built using Visual Basic version 5 (SP6). It was built without any system calls; i.e., no API calls to the operating system, which would have locked it into a single operating system. Where an API call was needed, a replacement was designed and coded.

Regardless of the language used, it would need to be tranlated into the preferred language of the acquiring organization, extensive in-code comments were made. The design and coding of a translater app started, and its development progressed past the comment evaluator. Running the AxleBase code through it reports that the 53,000 lines of AxleBase code have over a quarter million words in comments.



General Shortcomings
Operating System

The AxleBase effort began with a computer science effort; i.e., its creator wanted to know what could be done in the constrained environment of the desktop computer. He would have preferred using Linux, but its maximum file size at that time was far smaller than that of Windows, so the latter was used.

Windows 2000 worked well for years of development, so that is where it stayed. The developer was later interested in investigating larger databases, but was locked into the limit set by the earlier Windows maximum file size. He gave investigation into altering code to support larger files, but the earlier table size of 21.5 quintillion bytes was still beyond any known needs.





__________________________________________________
__________________________________________________

AxleBase Shortcomings
Section
Bugs



All other work ceases when a bug is discovered until it is fixed. Therefore, there are usually no known bugs.



Bug Announcement In 2013

Recent development produced a major bug, and it will be retained to provide AxleBase with a known bug.
      It is in the tightly convoluted logic of the concatenated virtual table mechanism that allows query of multiple distributed tables as though they are a single indexed table managed by a distributed system, while doing all of that transparently to the user. It is an intermittent bug, and working on it could imperil standard table queries and other sub-systems sharing its complex packed logic threads.
      Since AxleBase is now flawed, maybe it will be believed, but the builder is prepared to tolerate more bugs to make it competitive with the big-name / big-money brands.
      Please tell your friends and associates about this serious bug in AxleBase to help them believe his inconceivable power.



Bug Announcement In 2015

Great news! Another major bug popped up in late 2015 during testing of the super-system configuration.
      The DBA forgot to turn on the super-system before running all of the participating servers, which caused them to run queries as stand-alone servers. That user error caused several query timeouts revealing that the advanced AxleBase concurrency controls were broken by development in other areas.
      (Only the advanced AxleBase can have this problem because only AxleBase can support multiple independent servers for a database.)
      This problem would normally have a high priority and would be solved in days. However, with all research objectives reached, and a decade of work invested, the negative reaction to AxleBase has depressed me, and I am just not in the mood to work on it.





__________________________________________________
__________________________________________________

AxleBase Shortcomings
Section
Pending



These are intended, although were intended for years before development shutdosn. Maybe they are just not interesting enough to work on.



Pending
SQL

Parentheses :
      AxleBase is overly critical of unnecessary parentheses in a where clause.

SQL optimizer :
      Query optimization is primitive. It does not even assess and pioritize multiple indices.

Clauses :
      Group by and having are not done.

Math Operations :
      Math operations in SQL statements are not done.
      This was put in here years ago, and I do not remember how much of it was done.

Distinct :
      The distinct keyword in selects is not done.

Functions :
      A query will not do multiple SQL functions.



Pending
Miscellaneous

Locks :
      The lock system has a concurrency bottleneck needing work.

Disk management :
      Need to take more control of the disk from the operating system to reduce file fragmentation for large table builds.

Concurrency :
      Need a heavier and more violent stress test of concurrency to find its failure point.





__________________________________________________
__________________________________________________

AxleBase Shortcomings
Section
Undecided



A decision has not been reached on whether or not to add the following items.

Column locks.

Computed columns.

Table constraints :
      Only the primary key constraint is currently operational.

Table Size :
      Maximum table size can be increased to thousands of times bigger. But since some scientists estimate that all human knowledge, excluding internet trivia, can already fit into a single AxleBase table, why bother ?





__________________________________________________
__________________________________________________

AxleBase Shortcomings
Section
Intentional Abridgements



There is currently no intent to build these items into AxleBase. (However, most of the items that have disappeared from this section through the years were built accidentally because of my terrible memory. )



Intentional Abridgement
Miscellaneous

_____________ _____________ _____________
any declare singular
arrays escape some
cross joins exist sub-selects
case for update starting
cast if transactions
collate lower union
containing merge upper
current of plan using




Intentional Abridgement
Sloppy SQL Clauses

AxleBase will not accept "joins" in the "where" clause or "wheres" in the "from" clause. Wheres must be in the where clause and joins must be in the from clause.



Intentional Abridgement
Modification of Returned Data

The modification of returned data has a miniscule priority since a host app can do it. For example, applying a date conversion to a column after it is selected can be done by the host.



Intentional Abridgement
Query Timeout

The intent of AxleBase is the management and manipulation of unreasonably large magnitudes in all dimensions, which a query timeout would disrupt.

However, AxleBase does allow user cancellation of running queries.



Intentional Abridgement
Leap Seconds

Century leap-seconds are not handled in date functions.
      Using the "CoreDate" protocol allows AxleBase to define such a large segment of time (20,000 years) that it was considered, but the ability of technology to calculate the number of femtoseconds since the beginning implies a misleading accuracy that cannot be met in computers.
      There might be a way, but I am not interested in designing hardware.



Intentional Abridgement
ODBC Driver

AxleBase does support the ODBC protocol. But ODBC drivers should be written for the systems in which AxleBase will be embedded.

However, this may be reconsidered to support the GUI front ends that are used in the AxleBase lab. They are beginning to require function duplications that could be alleviated by an ODBC driver.



Intentional Abridgement
Foreign Virtualization

Because "CoreReader" can virtualize the big-name-brand databases, AxleBase was given the ability to drive CoreReader as an object. That allowed their live tables to be expressed inside AxleBase databases as AxleBase virtual tables.

But I became so irritated by bugs in those big-name-brand systems that I removed their virtualization. Life is too short for that fight. Just thinking about fighting bugs encountered from billion dollar companies makes me want to cuss.



Intentional Abridgement
Jobs
(Stored Procedures)

The job construct has been implemented only to support one of AxleBase's advanced features. It will not be given the pseudo structured-programming abilities to which most DBAs are accustomed.

Other systems refer to jobs as "Stored procedures".



Intentional Abridgement
Triggers

Adding triggers would be fairly easy, but it won't happen because that would be an excellent way to trash a trillion-row table.



Intentional Abridgement
Journaling

This has been known by various names through the years such as transaction logging and journaling with checkpointing. Its purpose is database restoration from a specified point.

The objectives of AxleBase do not require journaling and they might actually be impaired by it. It could, for example, seriously degrade the speed of a very large database. It would be simple and a fun bit of programming, but is not seriously considered because of its negative impact on operations.



Intentional Abridgement
Views

Persistent consideration of this feature through the years continues to reveal the dangers to data and disruption to operations where views might be used in very large databases ( "VLDB").

A view is a query that is run against the involved tables every time that the view is referenced in the query, and can involve multiple views. AxleBase is designed for expensive databases containing very large and geographically distributed tables, and creating views with such objects could be disruptive or even catastrophic.



Intentional Abridgement
Column-centric Storage

This was investigated and rejected many years ago.
      Pressure to do it was recently received when heavily financed lesser systems appeared that use it, but the reasons that I reject it remain valid.





__________________________________________________
__________________________________________________

AxleBase Shortcomings
Section
Unfinished



The following is the to-do list of things not completed when work on AxleBase stopped.





Incomplete
System Locks
User Descretionary



The only user descretionary lock that was functional when work stopped was the exclusive lock. See the "LockObject" command.





Incomplete
Super-System
User Error Trap



Need an error trap for a query structure mismatch. Need to raise an error when a user hands an axsys a logically erroneous join query that does not allow all rows of a base table for the query. That would be caused by seg/row assignment to all tables in the query, and by other situations.





Incomplete
Super-System
Concurrency



Axsys needs this, but it has stopped working.

Axsys needs to use some tables without seg/row range specification to do joins. But the nodes now bump into each other causing query timeouts in the nodes.





Incomplete
Index Usage



Queries are not using indices as well as possible. They analyze and execute each index independently and combine the results afterward, which is inefficient. A query should combine all analyses and execute them together for speed.

But axlebase is already faster than anybody can believe, so why bother. (A hundred billion rows on old mechanical disks in three seconds...??!)





Incomplete
Audit Data
Display and Review



A means to review and retrieve audit history files had not been created when the AxleBase project was halted. Audit data security with inclusion of that data review makes that a non-simplistic upgrade.





Incomplete
Datatype
Multi-Typing



Add the ability for the DBA to multi-type data columns. Maybe put it into the table definition.

Then, allow a datatype specification in a query. That data type will be used by the system if that datatype is on file.

But would this be useful in a production environment ? (I sometimes suspect that the scientist in me interferes with the practical side.)





Incomplete
Super-System
Management



The storage and management of the super system configuration is clunky. The "AxHandle GUI" helps, but it's clumsy.





Incomplete
Virtualization



I broke the virtual concatenation while developing. The cat table of concatenated tables is erroneous.





Incomplete
Virtualization Of Builds



Virtualization for high speed builds could be done. Builds into multiple remote databases would increase the speed. Users of the master database could query them.

But isn't that what clusters and the super-system are for? Unique rows could be a killer.





Incomplete
Clusters



Did not complete the movement of the cluster concept into development.





Incomplete
Whole Text Search ?



? They've started calling it unstructured data.

Include the ability to index large blocks of text. BUT... Indexing large text blocks in a "VLT" might be nearly impossible and maybe counter-productive.

However, a specialized text indexer could read each entire block of text and index every word in it, so i don't know. Actually..., it might be fun.





Incomplete
ODBC driver



It might be a lot of help even for me. The driver would contain the remote socket interface and would store some variables like the axlebase address. Might be simple except for the socket programming. Hate the thought of getting back into windows sockets. Yuck. See also the "ODBC Drivers" sub-section in the "Operation Manual".





Incomplete
Transactions



Might be easy to do. But it would add greatly to the system's complexity. So, would it be worth the effort?





Incomplete
Self Joins



I recall joining tables to themselves in the first years of development, and recall taking it out for some reason and forgot to put it back. Then one day I needed it. Dumb.





Incomplete
Super-System
Return Handling



"AxHandle " is handling super-system returns in the development environment.

Dataset harvesting by the AxHandle controller module is fragmented and complex, which puts a load on the user.

After all, AxHandle is supposed to be a pattern for other systems.





Incomplete
Super-System
Error Handling



The independence of the query nodes is good, so they will continue to be unaware of errors in each other.

But that leaves AxHandle with the task of error handling in the development environment, and it's not currently
      making positive error recognition,
      compiling reports,
      and returning reports.

Besides, shouldn't all of that be handled inside the "AxleBase Error Protocol" sub-system. Either that or remove the error sub-system's "Super-System" error handler.





__________________________________________________





                                                       



Web site and technology
Copyright 2003 - 2022 John Ragan

Web site is maintained with Notepad.
By intent, so don't bother me about it.