Optimization Falcon
Despite of many specified restrictions, storehouse Falcon faster was created as storehouse, than InnoDB. Speed of job Falcon in many respects depends on you allocate what quantity{amount} of memory for his{its} job. You can adjust resources of storehouse (the same as and for any other storehouse), having established values of server variables.
mysql> SHOW VARIABLES LIKE ' falcon % ';
+--------------------------+----------+
| Variable_name | Value |
+--------------------------+----------+
| falcon_log_dir | |
| falcon_max_record_memory | 20971520 |
| falcon_min_record_memory | 0 |
| falcon_page_cache_size | 4194304 |
| falcon_log_mask | 0 |
| falcon_debug_server | OFF |
| falcon_page_size | 4096 |
+--------------------------+----------+
7 rows in set (0.01 sec)
Besides the various variables intended for developers, in this list there are variables which directly influence productivity of storehouse. These are variables falcon_max_record_memory, falcon_min_record_memory and falcon_page_cache_size.
First two variables limit the size of memory, which storehouse uses for caching the data, indexes and the other information from a database for the fast reference{manipulation} to them. As against InnoDB, in this cache really required data get only. Those stolbcy which you do not use, in a cache will not get.
The minimal size of memory of recordings is used when the cache should be released{exempted}. Clearing occurs up to this threshold.
falcon_page_cache_size Establishes the size of a cache of pages at data reading from a disk. In this cache pages of the data given from a file get. Pay attention, that the data such as BLOB do not get in record_cache (in view of them probably the significant size), however they can get in page_cache. Nevertheless, optimization occurs at job with record_cache, therefore if you use a small amount of the BLOB-given, you should allocate more memories under record_cache, differently - to balance caches on volume.
Job Falcon with a disk
At job with a disk, Falcon uses huge quantity{amount} optimizacij. The biggest time in job of a DB with a disk borrows{occupies} search of the necessary track. Falcon is optimized so that to reduce quantity{amount} of such searches. For example, if some transactions work simultaneously recording of magazine of their job will be made only at end of one of transactions (well or, certainly, if memory in a cache of recordings) will end.
The cache of recordings comprises some versions of lines (if above them different transactions work) and the indexes connected to these lines. Indexes are reconstructed also in memory and enter the name together with end of transaction for reduction of quantity{amount} of disk searches.
At reading and data recording on a disk, Falcon uses two streams. One of streams ("gopher") transfers the data to a cache on a disk. He unites new indexes with the indexes stored{kept} on a disk. The second stream in a background mode releases{exempts} a place on a disk and updates a cache of pages of the data.
At data recording on a disk they arkhivirujutsja, that allows to reduce borrowed{occupied} with the data on a disk a place. In operative memory the data are stored{kept} in the unpacked status, therefore reduction of productivity practically no.
The conclusion
Unfortunately, not all functionality Falcon is accessible. Moreover, in the current version of the server, it khranilishe has no many optimizacij for comparison of speed with other storehouses. Nevertheless, Falcon shows very good results at job with caches. He perfectly works with three levels of isolation and subsequently can quite become good replacement for InnoDB.

|