Lightning Fast Database System
The organization of the Lightning Fast Database System is shown in Figure 1: Lightning Fast Database System Architecture. The full system would have Lightning Fast Database Servers located at multiple locations across the internet so that if one location becomes unavailable, the database server can be accessed at other locations for high reliability delivery system. The servers keeps copies of the complete database for serving at multiple locations, where all of the database locations are kept in an access database that the Lightning Fast Database Communication Program uses to locate the servers. When a database server changes access locations, the access data record is changed. The Lightning Fast Database Communication Program updates its internal access database(s) maybe once daily or whenever a connection is not successfully made.
Figure 1: Lightning Fast Database System Architecture
Each Lightning Fast Database Server can serve a large number of databases, which can be of different database tables and types and database sets can be kept in different access databases for logical separation when desirable. Each database consists of a set of database table metadata which defines the data type and placement of the data item within a record and the database data records which is the table of user created data. The database record is fully of binary content, with true and false uses one binary bit, and numbers can be sized for number of bits. Data that only needs a 32 value range only can be defined to only use 5 bits. In addition to the binary data record, each record can also include a string table which stores variable length strings.
When new data comes in, all of the associated Lightning Fast Database Servers s (generally 3 locations) coordinate to give the data its unique ID, determine the data order, and to place the data in the associated database across all servers. The database servers only keeps data and distributes the data. However an application server (not shown) at the internet server locations can also get database copies from the servers and provide internet web access of the database data.
The Lightning Fast Database Server only manages databases, manages access, receives data, and distributes the data to the Lightning Fast Database Application users and does not do general database processing. The communications is a TCP/IP server which can efficiently compile the updates into communications flows at a high throughput data rates to serve a large number of users.
The user has a Lightning Fast Database Communication Program that sends new data to the server and gets updates of the database tables from the servers. This operates like an email system where the program runs all the time and periodically checks for new updates of the database tables. The user generally has a Lightning Fast Database GUI Application that uses the database data in the unique way needed by the user.
This document is showing Lightning Fast Database System running a prototype real estate database system. However the Lightning Fast Database Server, Lightning Fast Database Communication Program, can support multiple types of databases, where a specific Lightning Fast Database Application is needed for each. This application can be a GUI interactive interface or a program that generates and/or uses database records to interact with and/or control other systems through the database records.
Lightning Fast Database Server
The Lightning Fast Database Server, a version shown in Figure 2: Windows Server Version of Lightning Fast Database Server, receives new data record changes from the Lighting Fast Database Application and adds, modifies, or deletes the changes and updates the database for distribution of new data to the users of the Lighting Fast Database application. The Lighting Fast Database Communications program does a TCP/IP connection to the Lightning Fast Database Server.
Figure 2: Windows Server Version of Lightning Fast Database Server
In this case it is serving 3 prototype real-estate databases. A listen socket is shown open waiting for TCP/IP incoming connections.
Lightning Fast Database Communication Program
The Lightning Fast Database Communication Program, shown in Figure 3: Lightning Fast Database Communications Program, does a TCP/IP connection to one of the available Lightning Fast Database Servers for each separate database. The update first sends any new data that was entered by the user and queued in the local database, then receives any pending database record updates. The user entered data is kept separate from the database and is only updated to the user database through the server update operation, except in edit mode which locally merges the data for the purpose of editing.
Figure 3: Lightning Fast Database Communications Program
In this case, an update had just occurred for 3 separate databases. The 3rd database had been reset which caused a full update. On the i7 system which is testing both the server and communications application on a local TCP/IP connection, when the communications connection status blinks onto window and by the time you look at the text, the 10,000 record, 7 Megabyte update has already completed, which is faster than perception. This includes downloading the map and meta files as series of large blocks each finishing with an SHA hash check to verify correct download and each data record was downloaded as a block of fixed length and block for the variable length string table, which overall there was a considerable processing on each side even though the overall transfer was very fast. Over a network, the limited communications bandwidth, multiple simultaneous updates on a shared bandwidth, and purposeful bandwidth use throttling by the server will slow this update rate down.
The databases are updated independent of the Lighting Fast Database GUI Application, where the Lighting Fast Database GUI Application monitors the current focus database files for changes. When detecting a change in the database file, it can interact with the user to load the new updated database tables. Working on an update that only requires the new changes to be loaded rather than the full database.Detailed information Lightning Fast Database Communications Program.
Lightning Fast Database Application
The Lighting Fast Database Application shown in Figure 4: Lightning Fast Database Application, is a prototype real-estate data management program which has 4 windows. The lower left window is the database management window, the top left is the map window, the top right is the picture window, and bottom left is the user note window. All the data in the prototype was randomly generated to allow testing with a target range of 10,000 data blocks.
The interaction speed is very fast. Loading 10,000 listing occurs in about a second or less, depending on the system. The map window, which has its own map street segment database, is drawn by vector display of the street segments, and scrolls with the speed of a video game with the street names moving for best centering of the text for street segment groups. The real-estate position is shown as small squares, clicking on a little blue box instantaneously moves to the associated listing and displays the square as red to show the current focus. Picture auto-sizes to the window size. The searches and sorts are instantaneous.
Figure 4: Lightning Fast Database Application
The program has a built in database editor that allows data blocks to be added and edited for sending to the server for update.
Lightning Fast Database Application Search Window
Clicking the search button in the database manager window brings up the search window. The default search items are set by a flag contained in each of the data variables in the meta data. Shown are the default set. More variables can be added by the drop down menu, but there are a very large number to choose from for this database (there is around 800 meta blocks for a data record, with most being for variables, and some formatting blocks, which cause the green section separators in database section of the application). Each of the values can be clicked on and edited and the clicking the Enable/Disable toggles the search state. The Map Area search is for an area set by drawing a rubber band rectangle in the Map window from a drop down menu item. In this case the Map Area, Maximum Price, and Minimum square feet are enabled for the search, the rest of the items are disabled.
Figure 5: Lightning Fast Database Application Search Window