MySQL Tech-Feed (en)

channel_failover.pl v0.02

Shinguz - Fri, 2011-01-14 22:28

Starting and stopping, status and failover is possible now. Script basically works but should be made a bit more sophisticated still…

Let me know your findings and wishes.


Taxonomy upgrade extras: 

Closing Circle again and channel_failover script

Shinguz - Fri, 2011-01-14 15:54

One thing I forgot to mention: We lost Cluster B. So we rebuilt Cluster B from Cluster A.

Then we set-up channel ch1 from Cluster A to B. This worked fine. When we wanted to set-up Channel ch3 from Cluster B to A we got troubles starting the Slave.

We finally managed to start the Slave when we truncated the ndb_apply_status table. In the documentation is also something mentioned that a RESET SLAVE should work.

And travelling back from a customer I found some time to write a script to show the status of my …


Taxonomy upgrade extras: 

Query and traffic

Shinguz - Wed, 2011-01-12 19:19

Hello Ky,

Yes. You got me right! I meant the query on ndb_binlog_index.

With no traffic I mean NO DML statements (INSERT, UPDATE, DELETE, etc.) on that Cluster.

Thanks for asking and clearing this up!

Regards, Oli


Taxonomy upgrade extras: 

Careful using log_slave_updates

Shinguz - Wed, 2011-01-12 19:13

Hi Krishna,

Why do you think we should be carful using log_slave_updates in circular replication set-up’s?

Regards, Oli


Taxonomy upgrade extras: 

MySQL Cluster - Cluster circular replication with 2 replication channels

Shinguz - Mon, 2011-01-10 22:30

A few days ago I had to deal with MySQL Cluster replication. I did not do this for a while so I was prepared to expect some interesting surprises once again.

For those who MySQL Cluster - Cluster circular replication is the daily business they may skip this article. For all the others they possibly can profit from our learnings.

I am talking about the following MySQL Cluster set-up:

mysql_cluster_channel_failover.png

More detailed information about such set-ups you can find in the MySQL Cluster documentation.

Situations that lead to a …


Taxonomy upgrade extras:  English  Replication  Mysql Cluster  Channel  Failover  Circular 

Same test for InnoDB

Shinguz - Fri, 2011-01-07 22:03

I forgot to mention in the main post that I did these tests with 5.1.50.

Settings for MyISAM this time:

key_buffer_size         = 8M
sort_buffer_size        = 2M
read_buffer_size        = 128k
myisam_sort_buffer_size = 8M

Settings for InnoDB:

# plugin not built-in
innodb_file_per_table          = 1
innodb_log_file_size           = 128m
innodb_buffer_pool_size        = 384m
innodb-flush_log_at_trx_commit = 0
innodb_log_files_in_group      = 3
innodb_support_xa              = 0

InnoDB table WITHOUT …


Taxonomy upgrade extras: 

How can I find what InnoDB version I am using?

Shinguz - Sat, 2011-01-01 12:05

In the old days everything was simpler. We had one maker of our favourite database management system and possibly the choice between different Storage Engines. Mostly the decision has to be taken between MyISAM and InnoDB. When you care about your data integrity you have chosen InnoDB.

Nowadays it is more complex. We have several different makers of our favourite database management system: Oracle/MySQL, Monty Program AB and Percona with their products: MySQL, MariaDB and Percona Server.

We have different …


Taxonomy upgrade extras:  English  Storage Engine  Innodb  Plugin  Pbxt  Version  Xtradb  Builtin 

Impact of indices on MySQL

Shinguz - Fri, 2010-12-31 17:05

It is generally well known that indexes help a lot to speed up database queries (especially SELECT but also UPDATE and DELETE). It is less known, that indexes also have some disadvantages.

One of these disadvantages is, that indexes require space in memory and on disk. An other disadvantage of indexes is, that they slow down DML statements like INSERT and DELETE.

We often see at our customers that they do not realized this behavior. Now I found the time to show the impact of (too) many indexes graphically. …


Taxonomy upgrade extras:  English  Performance  Tuning  Index 

MySQL logon and logoff trigger for auditing

Shinguz - Fri, 2010-12-10 23:23

A while ago I did some research about MySQL audit functionality and logon a and logoff triggers. MySQL and MariaDB provide a logon trigger in the form of the init_connect variable but no logoff trigger where most of the work for auditing would be done. When we would have a logoff trigger we could track the login and possibility some activity of a user and implement auditing functionality.

Yesterday when I was looking into the code for an answer to the question of one of my customers this research came into …


Taxonomy upgrade extras:  English  Logon Trigger  Trigger  Login Trigger  Audit  Sql/Psm 

Transactional memory resident tables with PBXT

Shinguz - Sun, 2010-11-21 21:32

Introduction

In his presentation about PBXT at the DOAG Conference 2010 Paul McCullagh was speaking about memory resident PBXT tables. They will be available in version 1.1 of the PBXT Storage Engine Plugin. Memory resident PBXT tables should have similar characteristics like normal MySQL MEMORY</span> tables</a>. But in addition to the MEMORY tables they are transactional and can handle BLOB</span> and TEXT attributes.

An alternative to this feature would be the MySQL dynamic heap row …


Taxonomy upgrade extras:  English  Storage Engine  Transaction  Memory  Plugin  Resident  Pbxt  Blob  Memory Table 

MyEnv for MySQL Multi-Database set-ups

Shinguz - Sun, 2010-11-14 17:22

This week I showed one of my customers our MyEnv. He was very interested in it and suggested to make it known in public. In fact MyEnv is available for download already several years…

But I did not have the heart yet to announce it more publicly because it was not end user ready at all. So I used the weekend to make it nicer, consolidated some of the code, dropped old stuff etc. Now I think it is acceptable to use for public but not perfect.

So what is MyEnv?

MyEnv is a set of scripts to run …


Taxonomy upgrade extras:  Mysql  Environment  Database  Virtualization  Consolidation  Saas  Multi Instance  Myenv 

How many warm MyISAM key blocks do you have?

Shinguz - Mon, 2010-10-18 17:56

When you are working with MyISAM [ 1 ] tables MySQL provides a feature called the Midpoint Insertion Strategy [ 2 ]. You can enable it with the parameter key_cache_division_limit [ 3 ].

By default, the key cache management system uses a simple LRU [ 4 ] strategy for choosing key cache blocks to be purged:

MyISAM key buffer

When using the Midpoint Insertion Strategy feature, the LRU chain is divided into two parts:

  • the hot sub list

and

  • the warm sub list.

The division point between those two parts is not fixed, but the …


Taxonomy upgrade extras:  English  Myisam  Key Cache  Block  Midpoint Insertion Strategy  Lru  Warm Blocks 

Feature request at MySQL

Shinguz - Mon, 2010-10-18 18:30

Bug #57532: Warm key blocks in MyISAM key_cache structure could be reported

And for MariaDB: https://lists.launchpad.net/maria-developers/msg03663.html


Taxonomy upgrade extras: 

Disadvantages of explicitly NOT using InnoDB Primary Keys?

Shinguz - Mon, 2010-09-20 15:36

We recently had the case with one of our customers where we got externally generated random hash values (up to 70 bytes) and they were used as Primary Keys in InnoDB.

As we know, this is not a very good idea because the size of all secondary indexes becomes large and because a random hash value as a Primary Key gives us a bad locality of our rows in the table 1.

If we do not specify a Primary Key and have no Unique Key InnoDB generates a hidden Clustered Index based on the Row ID which is a 6 byte field. …


Taxonomy upgrade extras:  Innodb  Primary Key  Locality 

Which table is hit by an InnoDB page corruption?

Shinguz - Mon, 2010-08-02 17:49

InnoDB is known to have crash-recovery capabilities and thus is called a crash safe storage engine (in contrary to MyISAM). Nevertheless under certain circumstances it seems like InnoDB pages can get corrupt during a crash and then a manual crash-recovery is needed.

Oracle/MySQL blames in such cases the Operating System, the I/O system or the hardware. What we have seen is that such incidents occur more often on Windows systems and when people are running their databases in a virtualized environment …


Taxonomy upgrade extras:  Recovery  Data  Innodb  Corruption  Crash  Rescue  Innochecksum  Vmware 

MySQL Cluster Local Checkpoint (LCP) and Global Checkpoint (GCP)

Shinguz - Thu, 2010-07-29 16:29

MySQL Cluster is mainly an in-memory database. Nevertheless it requires a good I/O system for writing various different information to disk.

The information MySQL Cluster writes to disk are the:

  • Global Checkpoints (GCP) which are the transactions.
  • Local Checkpoints (LCP) which is a dirty image of the data.
  • Backup.

In the following schema (a 2-node Cluster) you can see what is related to each other:

lcp_gcp.png

Please find here the meaning of each parameter:


Taxonomy upgrade extras:  English  Mysql Cluster  Parameter  Configuration  Local Checkpoint  Lcp  Global Checkpoint  Gcp 

How the MySQL Optimizer with MySQL Cluster is cheating you...

Shinguz - Mon, 2010-05-17 20:10

At a customer we had a nice example of how the MySQL Optimizer is cheating when used in combination with the MySQL Cluster. The customer had queries running not too slow in the development environment but when he tried them on the acceptance test environment (with more data) the query was running much too long which was unacceptable because this query can occur many times per second.

What has happened?

First of all we had a look at the execution plan of the query generated by the MySQL Optimizer:

EXPLAIN …

Taxonomy upgrade extras:  Mysql  View  Mysql Cluster  Hint  Optimizer 

FromDual - The MySQL consulting company goes operational today!

Shinguz - Wed, 2010-03-10 17:21

[http://www.blogger.com/profile/11195863756524022642 Shinguz] said…

Hi Ivan

Thanks a lot for your wishes!

Indeed it started very interesting yet… :)

Oli


Taxonomy upgrade extras: 

FromDual - The MySQL consulting company goes operational today!

Shinguz - Mon, 2010-03-08 22:31

[http://www.blogger.com/profile/11195863756524022642 Shinguz] said…

Hello Henrik,

Thank you very much for your wishes and all you have done already!

Oli


Taxonomy upgrade extras: 

FromDual - The MySQL consulting company goes operational today!

Shinguz - Wed, 2010-03-03 08:33

[http://www.blogger.com/profile/11195863756524022642 Shinguz] said…

Hi Ronald, hi Fortxun,

Thank you very much for your wishes. I hope we will meet once in a while (again)…

Oli


Taxonomy upgrade extras: 

Pages

Subscribe to FromDual aggregator - MySQL Tech-Feed (en)