WFTO is back in full effect – 2008-09-26
I had a long summer holiday in August 2008 in Naples/Italy:
after that we had our yearly
This has also been a hot and long summer for our Falcon team and we made a great job by fixing around 58 bugs since my last report in June 2008.
We had quite a boost in our bug fixing rate after some new colleagues from Trondheim joined our Falcon team:
Back to our main topic: compared to our last WFTO in 2008-06-20 we have 6 new tests and 5 tests are not failing anymore. This means that we are at a failed/passed ratio of 4.8%. We are making a steady progress:
We are interested in you! Where do you use Falcon? What do you do with Falcon? Are there any features you want to see in Falcon? You can test Falcon and get famous by providing valuable bug reports or even test cases for Falcon!
The second public alpha version (1.0.14-alpha) of HoneyMonitor Audit Pro - the Edition of our MySQL? GUI mainly oriented to Server Administration, Monitoring and Tuning - will be released soon.
In this article I’ll try to describe the new features implemented and the most important bugs fix of this version.
You will find the complete list of bugs fix and improvements in a next post - when we will release v.1.0.14-alpha - and in the Release Notes File included in the build.
Your questions, enhancement requests and comments are welcome.
A. New Features
1. Audit System
1.0. Introduction
1.1. Replication
1.1.1. STMT - New connection Option
1.2. Support for the Maria Engine
1.3. Other bugs fix
2. Performance Reports
2.0. Introduction
2.1. Custom Reports
2.2. Report Templates
3. Other
3.1. Audit Statistics
3.2. Server Objects List
3.3. FALCON
B. Other Bugs Fix
C. Other
As you (probably) already know, the Audit Pro Edition of HoneyMonitor uses a database (hs_audit_schema) to collect the “status data” of the server and store, manipulate and use them to create performance reports thus let you monitoring your servers.
The monitoring system that HoneyMonitor let you install and use is a “SQL-based monitoring” system - this means that no Agents are required to run on your Servers and we don’t need a Central Repository Server. All data are collected by a Scheduled Event and stored on your server.
You use a Windows? Client (HoneyMonitor) installed for example on your laptop, to connect to your MySQL? Server (in a direct way or through a SSH Tunneling Connection) and open the Performance Tuning Monitor to view the most common derived performance metrics and create reports to see how the ratios are changing over time.
No automated alerts are included - so far - in the HoneyMonitor Audit Pro Edition. The SQL monitoring system does not alert you - for example with an email - if a slave is down or you are reaching the maximum number of allowed connections (so far).
The Performance Tuning Monitor as well as the Replication Monitor and other tools included in HoneyMonitor are developed to help your every-days DBA activities - this is our aim - and they does not (and can’t) replace your (human) supervision of the server activities.
The most important bug fix in v.1.0.14-alpha is related to replication. Our SQL scripts now use SET SQL_LOG_BIN = 0 so no errors occur if you start the installation of the audit system (using the Audit Installation Wizard) on a Master. Audit data of the master are not replicated on slaves of course. Previously (v.1.0.13-alpha) we were asking you to filter replication by using “-replicate-ignore-table=db_name.tbl_name” and similar options but beginning with the new version 1.0.14-alpha, you don’t need to filter replication anymore (just because now we use SET SQL_LOG_BIN = 0).
Please note that now you can set a STMT (statement) option when you create a connection in HoneyMonitor. This improvement has been added in all Editions of our tool (from the Lite Free to the Network Edition). The STMT option is a SQL statement that will be executed every time the software connects to the server. A typical STMT is “SET NAMES…” (already included in early versions of the software) or “SET SQL_LOG_BIN = 0″ (if you want to connect to a master and you want that tasks performed using HoneyMonitor do not affect replication).
Fig. 1: Connection Window - STMT Option
We are developing the tools you need to have a better experience with the new engine Maria (as well as Falcon). In particular, in next versions of HoneyMonitor (Standard, Enterprise and Network Editions) we plan to improve our “Create Table Wizard” to support the new Maria options.
As per Audit Pro Edition, we have tested the monitoring scripts on v.5.1.26-rc and 6.0.6-alpha. Minor bugs fix of next version 1.0.14-alpha are related to the fact that now the new Maria Engine has been put in the 6.x branch of the server (previously it was included in v.5.1.23-maria-alpha-preview. Please note that we don’t support that version anymore. If you want to test the Maria engine, please use v.6.0.6-alpha).
Fig. 2: MySQL? 6.0.6-alpha - Support for Maria
In the newer version of the MySQL? Server, status variables “Com_show_column_types” and “Innodb_buffer_pool_pages_latched” have been deprecated so we don’t use them in our audit table anymore [MySQL? Bugs #36793 and #5299].
Two important improvements are included in the new version 1.0.14-alpha.
You can now create your own reports (a Custom Report Template is included and you can use this as the basis of your own reports). HoneyMonitor Audit Pro includes about 10 Reports (Falcon, InnoDB, MyISAM, Temporay Tables, …) for about 90 charts. With a custom report you can choose to monitor a specific variable not included in the standard reports. We will try to create a video tutorial about this new feature soon.
Fig. 3: New entries in the “Auditing” Menu
Fig. 4: Creating a Custom Performance Report - Designer
Fig. 5: Creating a Custom Performance Report - Choosing Variables to add (SQL query)
You can now edit the Report Templates thus every time you use the Performance Tuning Monitor to create a report your templates will be used (it’s the same when you use the “Audit Report Generation Window ” to create a report in a fast way, by clicking on the menu Auditing / Reports / …). We suggest you backup our templates before editing them so you can restore them if you need (just copy the files included in the directory /audit/reports).
Fig. 6: Customizing Template of the “Query Cache” Report
Minor improvements are included in the Audit Statistics Window. A “Refresh” button has been added; 3 new fields now show the date of the first and last audit record included in the audit table and the date difference.
Fig. 7: Audit Statistics Window
Minor improvements in the Server Objects List. When you create a (stored) connection you can now choose a “Server Group”
Fig. 8: Connection Window - Server Group
Fig. 9: Server Objects List - Server Groups
Minor improvements for FALCON variables: Description, Type, Handle, …, are now included (like for other “older” system variables).
Fig. 10: Performance Tuning Monitor - Falcon Variables
For a bug of version 1.0.13-alpha, some errors occur when opening the Table Editor, View Editor and Queries Window if you are connected through SSH. Now fixed.
Similar Posts you could be interested on:
Let us know what you would like us to add in the next versions of our software and, if you would be informed when we will release the new v.1.0.14-alpha, you are welcome to join our newsletter.
monitor
performance
features
tuning
preview
falcon
honeymonitor
It’s time to continue our series on the transactional storage engines for MySQL. Some might question why I even include Falcon because it is very much beta at this time. MySQL, however, has made quite an investment into Falcon, and while it is currently beta, the code is improving and it looks like that it will be production-worthy when MySQL server 6.0 hits GA.
If this is the case, it is important to begin to understand what Falcon was designed for and how it differs from other transactional engines such as InnoDB. I am going to concentrate quite a bit on the Falcon/InnoDB comparison as that is what everyone wants to talk about. This is despite my having heard MySQL employees repeatedly make statements to the effect of, “Falcon is not going to replace InnoDB,” or “Falcon is not competing with InnoDB.” Well, take that with a grain of salt. It certainly seems to me that they are competing for the same spot.
Warning
As I said, Falcon is beta. First off, don’t even try to use it in production. Using it in production means you will also be using MySQL Server 6.0, which itself is considered alpha. Your data will explode, be corrupted, or eaten by jackals. It won’t be pretty. It will cause great pain.
In addition, the features of Falcon are still changing. What I say here might or might not be accurate in the future.
End of Warning
So, why was Falcon even created?
MySQL
replication
InnoDB
falcon
mvcc
row-based
statement-based
Introduction
MySQL® 6.0.5-alpha, the latest version of the 6.x branch of the Database Server, is available for download from the SUN|MySQL Web Site.
Metadata (data about the data) are very important, especially for software developers. In this article we will see what’s new in FALCON metadata handling doing some comparison with the old 6.0.4-alpha version.
New tables in the `information_schema` database
As you know, the source for metadata is the database `information_schema`. To start, let’s see which tables related with FALCON metadata are included in that database:
mysql> SELECT VERSION();
+—————————+
| VERSION() |
+—————————+
| 6.0.5-alpha-community-log |
+—————————+
1 row in set (0.01 sec)
mysql> USE `information_schema`;
Database changed
mysql> SHOW TABLES LIKE ‘FALCON%’;
+—————————————-+
| Tables_in_information_schema (FALCON%) |
+—————————————-+
| FALCON_TABLES |
| FALCON_SERIAL_LOG_INFO |
| FALCON_SYSTEM_MEMORY_DETAIL |
| FALCON_SYSTEM_MEMORY_SUMMARY |
| FALCON_VERSION |
| FALCON_TRANSACTION_SUMMARY |
| FALCON_TABLESPACES |
| FALCON_SYNCOBJECTS |
| FALCON_TRANSACTIONS |
| FALCON_RECORD_CACHE_DETAIL |
| FALCON_TABLESPACE_IO |
| FALCON_RECORD_CACHE_SUMMARY |
| FALCON_TABLESPACE_FILES |
+—————————————-+
13 rows in set (0.00 sec)
At a glance, we see that we have thirteen tables while in the old 6.0.4-alpha version the tables were only eleven:
mysql> SELECT VERSION();
+—————————+
| VERSION() |
+—————————+
| 6.0.4-alpha-community-log |
+—————————+
1 row in set (0.00 sec)
mysql> USE `information_schema`;
Database changed
mysql> SHOW TABLES LIKE ‘FALCON%’;
+—————————————-+
| Tables_in_information_schema (FALCON%) |
+—————————————-+
| FALCON_TABLES |
| FALCON_RECORD_CACHE_SUMMARY |
| FALCON_SYSTEM_MEMORY_DETAIL |
| FALCON_SERIAL_LOG_INFO |
| FALCON_VERSION |
| FALCON_TRANSACTION_SUMMARY |
| FALCON_DATABASE_IO |
| FALCON_SYNCOBJECTS |
| FALCON_TRANSACTIONS |
| FALCON_RECORD_CACHE_DETAIL |
| FALCON_SYSTEM_MEMORY_SUMMARY |
+—————————————-+
11 rows in set (0.00 sec)
The new and very useful tables are `FALCON_TABLESPACES` and `FALCON_TABLESPACE_FILES`.
If you played with version 6.0.4-alpha you probably felt the need of similar tables and, if no, you can see why they were important for me looking at bug #37030 .
Also note that the table `FALCON_DATABASE_IO` has been renamed in `FALCON_TABLESPACE_IO` so, for example, the query for calculating the Falcon Cache Hit Ratio by Tablespace becomes:
mysql> SELECT
-> `tablespace` AS `Tablespace`,
-> 100 * 1-(SUM(`physical_reads`) / SUM(IF(`logical_reads` > 1, `logical_reads`,1))) `Cache Hit Ratio`
-> FROM `information_schema`.`FALCON_TABLESPACE_IO`
-> GROUP BY `tablespace`;
+——————+—————–+
| Tablespace | Cache Hit Ratio |
+——————+—————–+
| FALCON_MASTER | 99.9660 |
| FALCON_TEMPORARY | 99.0000 |
| FALCON_USER | 99.0000 |
+——————+—————–+
3 rows in set (0.00 sec)
`FALCON_TABLESPACES` and `FALCON_TABLESPACE_FILES` in details
Let’s see the structure of the new tables:
mysql> DESCRIBE `information_schema`.`FALCON_TABLESPACES`;
+—————–+————–+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+—————–+————–+——+—–+———+——-+
| TABLESPACE_NAME | varchar(127) | NO | | | |
| TYPE | varchar(127) | NO | | | |
| COMMENT | varchar(127) | NO | | | |
+—————–+————–+——+—–+———+——-+
3 rows in set (0.33 sec)
mysql> DESCRIBE `information_schema`.`FALCON_TABLESPACE_FILES`;
+—————–+————–+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+—————–+————–+——+—–+———+——-+
| TABLESPACE_NAME | varchar(127) | NO | | | |
| TYPE | varchar(127) | NO | | | |
| FILE_ID | int(127) | NO | | 0 | |
| FILE_NAME | varchar(127) | NO | | | |
+—————–+————–+——+—–+———+——-+
4 rows in set (0.00 sec)
As you can see a column named `COMMENT` is included in `information_schema`.`FALCON_TABLESPACES`, so, unlike version 6.0.4-alpha and previous, in version 6.0.5-alpha you can now specify a comment for your FALCON tablespaces.
Let’s create two FALCON tablespaces, `test1` and `test2`, and see how those two metadata tables are populated:
mysql> CREATE TABLESPACE `test1`
-> ADD DATAFILE ‘test1.fts’
-> EXTENT_SIZE = 1M
-> INITIAL_SIZE = 10M
-> COMMENT=’test1-comment’
-> ENGINE = FALCON;
Query OK, 0 rows affected (0.02 sec)
mysql> CREATE TABLESPACE `test2`
-> ADD DATAFILE ‘test2.fts’
-> EXTENT_SIZE = 1M
-> INITIAL_SIZE = 10M
-> COMMENT=’test2-comment’
-> ENGINE = FALCON;
Query OK, 0 rows affected (0.00 sec)
I’d make you aware of the fact that when you create a FALCON tablespace sometimes you can get the following error: “ERROR 1044 (42000): Access denied for user ‘root’@'localhost’ to database ‘information_schema’”. Frankly, at the moment I don’t know why this error occurs. I am trying to create a reproducible bug report. If you experienced that error and you know why it sometimes occurs, please let me know. By the way, if that error will occur you can try closing your client and reopening it. That fix the error for me.
If we select over the table `FALCON_TABLESPACES` we get the following output:
mysql> SELECT * FROM `information_schema`.`FALCON_TABLESPACES`;
+——————+——————+—————+
| TABLESPACE_NAME | TYPE | COMMENT |
+——————+——————+—————+
| FALCON_USER | FALCON_USER | |
| FALCON_TEMPORARY | FALCON_TEMPORARY | |
| test1 | USER_DEFINED | test1-comment |
| test2 | USER_DEFINED | test2-comment |
+——————+——————+—————+
4 rows in set (0.00 sec)
As you can see, there are two rows for what we now call ’system-tablespaces’ - i.e. the tablespaces ‘FALCON_USER’ and ‘FALCON_TEMPORARY’ - and one row for each tablespace created with the CREATE TABLESPACE syntax (in our example ‘test1′ and ‘test2′).
By looking at that table you can also see that there are three types of FALCON tablespaces. One is the type ‘USER_DEFINED’ - that is the type of the tablespaces created by you using the CREATE TABLESPACE syntax - and two are system-related: ‘FALCON_USER’ and ‘FALCON_TEMPORARY’. We will talk about those ’system’ types later.
If we select over the table `FALCON_TABLESPACE_FILES` we get the following output:
mysql> SELECT * FROM `information_schema`.`FALCON_TABLESPACE_FILES`;
+——————+——————+———+———————-+
| TABLESPACE_NAME | TYPE | FILE_ID | FILE_NAME |
+——————+——————+———+———————-+
| FALCON_USER | FALCON_USER | 1 | falcon_user.fts |
| FALCON_TEMPORARY | FALCON_TEMPORARY | 1 | falcon_temporary.fts |
| test1 | USER_DEFINED | 1 | test1.fts |
| test2 | USER_DEFINED | 1 | test2.fts |
+——————+——————+———+———————-+
4 rows in set (0.02 sec)
As you see, for each FALCON tablespace the name of the file as well as an ID is shown.
`FALCON_TABLES` in details
The table `FALCON_TABLES`, already included in MySQL® 6.0.4-alpha and previous, lists the FALCON tables created on your server:
mysql> DESCRIBE `information_schema`.`FALCON_TABLES`;
+—————+————–+——+—–+———+——-+
| Field | Type | Null | Key | Default | Extra |
+—————+————–+——+—–+———+——-+
| SCHEMA_NAME | varchar(127) | NO | | | |
| TABLE_NAME | varchar(127) | NO | | | |
| PARTITION | varchar(127) | NO | | | |
| TABLESPACE | varchar(127) | NO | | | |
| INTERNAL_NAME | varchar(127) | NO | | | |
+—————+————–+——+—–+———+——-+
5 rows in set (0.00 sec)
mysql> SELECT * FROM `information_schema`.`FALCON_TABLES`;
Empty set (0.00 sec)
In my system I get an empty set because there are no FALCON tables at the moment.
Let’s now try answering to the following question: “why do we have two system-related FALCON tablespaces (’FALCON_USER’ and ‘FALCON_TEMPORARY’)?”
The answer is quite simply. When you create a FALCON table you can specify a FALCON tablespace as a table option (CREATE TABLE … TABLESPACE) but if you don’t set a tablespace the FALCON table being created will use the default system tablespaces.
Let’s see this in action.
mysql> CREATE DATABASE `fdatabase`;
Query OK, 1 row affected (0.05 sec)
mysql> USE `fdatabase`;
Database changed
mysql> CREATE TABLE `fdatabase`.`ftable_generic`
-> ENGINE = FALCON
-> IGNORE AS SELECT * FROM `mysql`.`user`;
Query OK, 3 rows affected (0.64 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM `information_schema`.`FALCON_TABLES`;
+————-+—————-+———–+————-+—————-+
| SCHEMA_NAME | TABLE_NAME | PARTITION | TABLESPACE | INTERNAL_NAME |
+————-+—————-+———–+————-+—————-+
| FDATABASE | FTABLE_GENERIC | | FALCON_USER | FTABLE_GENERIC |
+————-+—————-+———–+————-+—————-+
1 row in set (0.00 sec)
As you can see, we now have our FALCON table listed in `information_schema`.`FALCON_TABLES` and we can see that the tablespace used by the table just created is the system-related tablespace ‘FALCON_USER’.
Let’s create a temporary FALCON table (as before, without setting a tablespace) and see that the ‘FALCON_TEMPORARY’ tablespace is used:
mysql> CREATE TEMPORARY TABLE `fdatabase`.`ftable_generic_temporary`
-> ENGINE = FALCON
-> IGNORE AS SELECT * FROM `mysql`.`user`;
Query OK, 3 rows affected (0.19 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM `information_schema`.`FALCON_TABLES`;
+————-+—————-+———–+——————+—————-+
| SCHEMA_NAME | TABLE_NAME | PARTITION | TABLESPACE | INTERNAL_NAME |
+————-+—————-+———–+——————+—————-+
| FDATABASE | FTABLE_GENERIC | | FALCON_USER | FTABLE_GENERIC |
| TEMP | | | FALCON_TEMPORARY | #SQL1FF4_13_0 |
+————-+—————-+———–+——————+—————-+
2 rows in set (0.00 sec)
If we drop the temporary table:
mysql> DROP TABLE `fdatabase`.`ftable_generic_temporary`;
Query OK, 0 rows affected (0.13 sec)
we have:
mysql> SELECT * FROM `information_schema`.`FALCON_TABLES`;
+————-+—————-+———–+————-+—————-+
| SCHEMA_NAME | TABLE_NAME | PARTITION | TABLESPACE | INTERNAL_NAME |
+————-+—————-+———–+————-+—————-+
| FDATABASE | FTABLE_GENERIC | | FALCON_USER | FTABLE_GENERIC |
+————-+—————-+———–+————-+—————-+
1 row in set (0.00 sec)
You can now guess what’s happen if you specify a FALCON tablespace in the CREATE TABLE syntax:
mysql> CREATE TABLE `fdatabase`.`ftable1_test1`
-> TABLESPACE `test1`
-> ENGINE = FALCON
-> IGNORE AS SELECT * FROM `mysql`.`user`;
Query OK, 3 rows affected (0.16 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM `information_schema`.`FALCON_TABLES`;
+————-+—————-+———–+————-+—————-+
| SCHEMA_NAME | TABLE_NAME | PARTITION | TABLESPACE | INTERNAL_NAME |
+————-+—————-+———–+————-+—————-+
| FDATABASE | FTABLE_GENERIC | | FALCON_USER | FTABLE_GENERIC |
| FDATABASE | FTABLE1_TEST1 | | test1 | FTABLE1_TEST1 |
+————-+—————-+———–+————-+—————-+
2 rows in set (0.00 sec)
We can see above that the FALCON table `ftable1_test1` uses the tablespace ‘test1′.
Let’s create a second table using the tablespace ‘test1′:
mysql> CREATE TABLE `fdatabase`.`ftable2_test1`
-> TABLESPACE `test1`
-> ENGINE = FALCON
-> IGNORE AS SELECT * FROM `mysql`.`user`;
Query OK, 3 rows affected (0.19 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM `information_schema`.`FALCON_TABLES`;
+————-+—————-+———–+————-+—————-+
| SCHEMA_NAME | TABLE_NAME | PARTITION | TABLESPACE | INTERNAL_NAME |
+————-+—————-+———–+————-+—————-+
| FDATABASE | FTABLE_GENERIC | | FALCON_USER | FTABLE_GENERIC |
| FDATABASE | FTABLE1_TEST1 | | test1 | FTABLE1_TEST1 |
| FDATABASE | FTABLE2_TEST1 | | test1 | FTABLE2_TEST1 |
+————-+—————-+———–+————-+—————-+
Filtering FALCON Tables by TableSpaces
Now a common question is: “Which are the FALCON tables that are using a particular tablespace?”. Here’s the possible answer:
mysql> SELECT CONCAT(’`', `SCHEMA_NAME`, ‘`.`’, `TABLE_NAME`, ‘`’) FROM `information_schema`.`FALCON_TABLES` WHERE `TABLESPACE` = ‘test1′;
+——————————————————+
| CONCAT(’`', `SCHEMA_NAME`, ‘`.`’, `TABLE_NAME`, ‘`’) |
+——————————————————+
| `FDATABASE`.`FTABLE1_TEST1` |
| `FDATABASE`.`FTABLE2_TEST1` |
+——————————————————+
2 rows in set (0.00 sec)
Unfortunately, you should note that this method fails due to bug #35210.
In fact, let’s create a FALCON table with a strange name and see what happen:
mysql> CREATE TABLE `fdatabase`.`ftable_strange_name_#_!_test1`
-> TABLESPACE `test1`
-> ENGINE = FALCON
-> IGNORE AS SELECT * FROM `mysql`.`user`;
Query OK, 3 rows affected (0.23 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM `information_schema`.`FALCON_TABLES`\G
*************************** 1. row ***************************
SCHEMA_NAME: FDATABASE
TABLE_NAME: FTABLE_GENERIC
PARTITION:
TABLESPACE: FALCON_USER
INTERNAL_NAME: FTABLE_GENERIC
*************************** 2. row ***************************
SCHEMA_NAME: FDATABASE
TABLE_NAME: FTABLE1_TEST1
PARTITION:
TABLESPACE: test1
INTERNAL_NAME: FTABLE1_TEST1
*************************** 3. row ***************************
SCHEMA_NAME: FDATABASE
TABLE_NAME: FTABLE2_TEST1
PARTITION:
TABLESPACE: test1
INTERNAL_NAME: FTABLE2_TEST1
*************************** 4. row ***************************
SCHEMA_NAME: FDATABASE
TABLE_NAME: FTABLE_STRANGE_NAME_@0023_@0021_TEST1
PARTITION:
TABLESPACE: test1
INTERNAL_NAME: FTABLE_STRANGE_NAME_@0023_@0021_TEST1
4 rows in set (0.00 sec)
The table `ftable_strange_name_#_!_test1` is stored in the FALCON metadata catalog with the name `FTABLE_STRANGE_NAME_@0023_@0021_TEST1` so the method above fails:
mysql> SELECT CONCAT(’`', `SCHEMA_NAME`, ‘`.`’, `TABLE_NAME`, ‘`’) FROM `information_schema`.`FALCON_TABLES` WHERE `TABLESPACE` = ‘test1′;
+——————————————————+
| CONCAT(’`', `SCHEMA_NAME`, ‘`.`’, `TABLE_NAME`, ‘`’) |
+——————————————————+
| `FDATABASE`.`FTABLE1_TEST1` |
| `FDATABASE`.`FTABLE2_TEST1` |
| `FDATABASE`.`FTABLE_STRANGE_NAME_@0023_@0021_TEST1` |
+——————————————————+
3 rows in set (0.00 sec)
We do not get the correct list of FALCON tables: the table `FDATABASE`.`FTABLE_STRANGE_NAME_@0023_@0021_TEST1` does not exist:
mysql> DESCRIBE `FDATABASE`.`FTABLE_STRANGE_NAME_@0023_@0021_TEST1`;
ERROR 1146 (42S02): Table ‘fdatabase.ftable_strange_name_@0023_@0021_test1′ does n’t exist
Indeed, you should note that it is not difficult to avoid such a problem at software-level. For example you can create a function to parse, using defined rules, the name `FTABLE_STRANGE_NAME_@0023_@0021_TEST1`. With this approach you have a function that returns the real name `ftable_strange_name_#_!_test1`.
Conclusion
It’s now time to close this article. New features of the FALCON metadata catalog have been (in part) explained.
For other interesting stuff, you can refer to the articles by Robin Schumacher available on the SUN|MySQL Web Site at dev.mysql.com.
MySQL
metadata
alpha
falcon
information_schema
mysql®
6.0.5
It has been almost a month since my last WFTO posting.
This time my delay was due to our migration from BitKeeper to Bazaar. You can read about the background and reasoning in our move to Bazaar in
An excellent introduction about using Bazaar with MySQL you will find at
Compared to our last WFTO we have 6 new tests and 2 tests are not failing anymore. This means that we are at a failed/passed ratio of 7.5%. We are making a steady progress:

We are interested in you! Where do you use Falcon? What do you do with Falcon? Are there any features you want to see in Falcon? You can test Falcon and get famous by providing valuable bug reports or even test cases for Falcon!
|
Jim Starkey, the well known database architect, author of Interbase and Netfrastructure, is leaving MySQL. Jim's company was acquired by MySQL two and half years ago, to help creating MySQL new transactional engine, Falcon. Zack Urlocker, reports on the event and says that Falcon is still on track and he is confident that it will be a success. |
|
Jim Starkey, the well known database architect, author of Interbase and Netfrastructure, is leaving MySQL. Jim's company was acquired by MySQL two and half years ago, to help creating MySQL new transactional engine, Falcon. Zack Urlocker, reports on the event and says that Falcon is still on track and he is confident that it will be a success. |
Yesterday, during the talk of Ivan Zoratti, at the meeting with Marten Mickos and the Italian Team of SUN | MySQL in Rome, there was a question about Falcon performance: a guy pointed out that InnoDB is better than Falcon.
Well, this is not really the truth.
How many processors are you using for Falcon benchmarking?
Falcon is designed to make optimal use of modern large-memory multi-CPU/multi-core hardware. So when comparing performance of Falcon and InnoDB, you can’t leave this out of consideration!
Please, see the shoots below:
To learn more on the Falcon engine, you can attend this webinar:
Also note please that Falcon is in a beta stage, not alpha. The 6.0 binary may be labeled ‘alpha’ but it does contain the Falcon transaction engine beta!
More Resources on the Falcon Engine:
Start playing with Falcon today! and thanks to the Falcon Team for their great and very interesting activities!
It has been a while since the last Weekly Falcon Test Overview, also called WFTO.
Our Falcon team was with the Falcon Developers Meeting in London last week. Other than that, I updated my workstation running the WFTO test suite from RHEL4 to RHEL5. This caused some delay in the weekly reporting.
The WFTO test suite now contains RHEL5 64-bit (native), Ubuntu 32-bit (vm), Windows 2003 Server 64-bit (vm), and Mac OS X/PPC 32-bit (native).
We have one new test case falcon_bug_36294 and three tests are not failing anymore.
We are interested in you! Where do you use Falcon? What do you do with Falcon? Are there any features you want to see in Falcon? You can test Falcon and get famous by providing valuable bug reports or even test cases for Falcon!
This article describes how to install the Drupal 6.2 CMS on MySQL 6.0, using the Falcon Storage Engine. The operating system is a default Ubuntu 8.04 "Hardy Heron" (x86) installation.
I will make a few assumptions here, in order to keep the instructions simple: a fresh OS install, no other MySQL databases or web services are running or have already been installed. Both MySQL and the web server are installed on the same host. You should be able to become root to install packages and to have access to the local file system and the system configuration.
This article will explain how to install and configure Apache/PHP, MySQL 6.0 and Drupal 6.2.