Java, MySQL, Avaya

MERGE Engine

Basically, MERGE is a copy of MyISAM, allowing us to exceed the maximum MyISAM table size. MERGE will be slower to read indexes because MySQL has to search the indexes of multiple tables.

The book example:

I’m still unsure about the error I’ve got, due obviously NorthAndSouth is not a MyISAM table.


May 30, 2011 Posted by | MySQL | Leave a comment

Which Storage Engine is my table using?

There are different ways to find that out, below these 2 examples:

We could access the INFORMATION_SCHEMA and get all Engines being used at our database:

May 28, 2011 Posted by | MySQL | Leave a comment

MyISAM Engine

Main characteristics of the MyISAM Engine at MySQL:

  • On disk each table uses 3 files: City.frm (format), City.MYD (contents), City.MYI (index).
  • Has the most flexible AUTO_INCREMENT column handling.
  • Can be used to setup MERGE tables.
  • Can be converted into fast, compressed, read-only tables to save space.
  • Supports FULLTEXT searching and spatial data types.
  • Queries for MyISAM use table-level locking. Deadlock cannot occur, but performance can be reduced in environments with mix of read and write queries.
  • To workaround that high level of locking we can use a query modifier such as LOW_PRIORITY or HIGH_PRIORITY. Inserts into a table can be buffered on the server side until the table is ready by using INSERT DELAYED.
  • Storage format is portable.
  • Extras like specify the number of rows that you a MyISAM table should hold.
  • Loading data into an empty table, you can disable indexes. LOAD DATA INFILE does that already.
  • If you run out of disk space while adding rows to a MyISAM table, no error occurs. The server suspends the operation until the space becomes available.

So far it looks the most flexible, and that’s probably why is the default storage engine, the main cons would be the table-level locking in certain scenarios.

May 28, 2011 Posted by | MySQL | Leave a comment

Avaya AES Health Checker

At work, there are some tasks that you do as a routine. One of them for me is to check the AES servers, when there is a fault for one of our customers that use softphone or any other bespoke application.

The Avaya AES server or Application Enablement Services server is basically the machine encharged of enabling that extra functionality the Avaya PBX offers on top of Telephony to 3rd party applications like softphones, call tagging, call back, …

To minimize the time, doing those checks I’ve started developing a new script in Python, as from AES 5.2 it’s included. Probably, at the moment I want to keep it small, running only basic commands, but maybe later I will include some log parsing.

May 27, 2011 Posted by | Avaya, Python | Leave a comment