Help

Sales

Customers


SQLyog 7.0 RC has been released

peter_laursen

Features:

* Added an option to stop a long-running Schema Synchronization compare task

Bug fixes:

* Fixed an issue with Object Browser menus in Wine (introduced in beta 1).
* Some ‘polishing’ and optimizations in new 7.0 features.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


SQLyog Sets New Standards for Data Synchronization Speed.

peter_laursen

In this BLOG post I will concentrate on the achievements with data synchronization with SQLyog 7.0 (beta 1 released just before the weekend).

SQLyog 7 provides 2-8 times speed improvement (depending on data) with a ‘mixed-type’ of syc-job (involving both INSERTS, UPDATES and DELETES) as compared to SQLyog 6. A few comparison examples (SQLyog 6, SQLyog 7 and Maatkit) with 4 testcases:

a)
Source Rows: 3950400, Target Rows: 3950400, Inserted Rows: 49599, Updated Rows: 49500, Deleted Rows:49599. Primary Col(INT). InnoDB
SQLyog 6: 1120 sec
SQLyog 7: 267 sec
Maatkit : 530 sec

b)
Source Rows: 48025 , Target Rows: 48775, Inserted Rows: 1225 , Updated Rows:1225, Deleted Rows : 1975. Primary Col(INT), InnoDB.
SQLyog 6: 30 sec
SQLyog 7 : 8 sec
Maatkit : 19 sec

c)
Source Rows:150404 , Target Rows: 152864, Inserted Rows: 12136, Updated Rows: 16236, Deleted Rows : 14596. Primary Cols(VARCHAR, CHAR). InnoDB.
SQLyog 6: 320 sec
SQlyog 7 : 70 sec
Maatkit : Maatkit did not finish after 20 minutes. We cannot tell if it ever will with this example.

d)
Source Rows: 18209, Target Rows: 10000, Inserted: 9018, Updated Rows: 1001, Deleted Rows 809. Primary cols(SMALLINT, BIGINT). MyISAM.
SQLyog 6: 32 sec
SQLyog 7: 8 sec
Maatkit : 24 sec

(all those examples use a ‘developer machine’ configuration as defined by the configuration wizard bundled with the windows installer for the MySQL server 5.0.51b. Sync is between two databases on the same server. Client and server running on the same machine – a 3Ghz Intel Pentium4 with 1G RAM Running Windows XP SP2 – and with no other significant load at the time of sync.  Maatkit version is 1877. Perl environment for running Maatkit was created with ActivePerl for Windows).

We would like to credit Baron ‘Xaprb’ Schwartz (author of Maatkit) for the Maatkit algorithms though (this post in particular was a challenge for us) from which we learned a lot. For the most typical PK-setup (a single column integer PK) the somewhat better performance of SQLyog 7 as compared to Maatkit is probably only due to the fact that SQLyog/SJA is a multithreaded compiled (C++) binary and not a server-side (Perl) script. However with other (more unusual) PK setups the difference is bigger to the advantage of SQLyog.

When syncing to an empty table we use a special high-speed codebrach (a rather simple copy, actually). Other sync tools (also Maatkit) waste lot of time looping while testing things that really need not be tested in this situation! SQLyog will be even faster the larger the max_allowed_packet setting in server configuration as this setting will be detected and BULK INSERTS as large as possible will be generated (optionally). With the above test SQLyog was ~50 times faster than Maatkit when syncing to an empty target (but with the 2 largest cases we interrupted Maatkit before it had finished, though!)

You can download the four testcases if you want to verify/test on your environment. And if you think it is not fair to compare with Maatkit on WIndows, you can do the same on Linux with the SJA (SQLyog Job Agent) for Linux as well.

Download links (zip archives with SQL dumps for target and source for each case):
case1 (~20 MB): http:webyog.com/downloads/blogresources/datasynctest/datasync_testcase_1.zip
case2 (~3 MB): http:webyog.com/downloads/blogresources/datasynctest/datasync_testcase_2.zip
case3 (~2 MB): http:webyog.com/downloads/blogresources/datasynctest/datasync_testcase_3.zip
case4 (~350 KB): http:webyog.com/downloads/blogresources/datasynctest/datasync_testcase_4.zip
(one detail to observe is that those dumps do not contain a USE statement – be careful about where you import them!)

Download SQLyog and SJA from: http://webyog.com/en/downloads.php
(note that data synchronization is included in SQLyog Enterprise and Enterprise Trial versions only – and in SJA for Linux)


SQLyog 7.0 beta 1 has been released

peter_laursen

Features:

* New GRID design (‘zebra’ Office 2007 style) for easier navigation.
* Multiple selection in GRIDs with SHIFT+CLICK
* Improved Data Synchronisation. Now typically 2-8 times faster than before depending on data. Option to generate a SQL sync script was added.
* New more user friendly design for the Schema Synchronisation (renamed from Structure Synchonisation). Various filter (‘hide and ignore’) options were added.

Bug fixes:

* A backup script backing up all databases could fail to restore VIEWs referencing another database than the one where the VIEW was.
* Around 50 other small (mostly GUI-related) fixes for issues reported by users.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


Why Data Synchronization?

peter_laursen

SQLyog 7.0 beta 1 is about to be released very soon (we are ‘polishing’ on details at the moment). This release includes completely new code for Data Synchronization that addresses user requests we have had since Data Synchronization was first introduced with SQLyog.

Probably we did not fully understand the needs of some users before. Users have told us

* It is not always desirable or possible to run the sync directly. Audit and access policies may prevent that. A SQL sync script is required in those situations.

* Also some users have wanted a detailed log for every (INSERT/UPDATE/DELETE) operation – for simple documentation or for comparing – in various ways – sync operations between different executions.

* Some users wanted sync scripts for ‘differential backup’ purposes or for auditing purposes.

* Even some users wanted not necessarily to actually perform any sync at all – they only wanted a comparison of databases or tables (in some cases to verify that replicating servers were in sync).

All those requests have now been addressed.

But also the new code improves the performance (typically 2-8 times depending on data), what will be the subject of a new blogpost appearing here soon. And of course SQLyog Data Synchronization is still portable across supported platforms and can still be scheduled, executed from applications, scripts and batch files.


MONyog 2.5 beta 2 has been released

peter_laursen

MONyog 2.5 beta 2 has been released.

Bug fixes:

* Under specific circumstances the service would stop very slow.
* If network connection was temporarily unavailable the first CPU value after network came back told 100% CPU load.
* The temporary files for storing public/private keys are now being created with very restrictive file permission in Linux. So only the owner will be able to read/write these temporary files. Although these files would exist only for a fraction of second, in earlier versions of MONyog other users in the same Linux system could get access to them within that small timeslice.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


Find problem SQL with the new MONyog 2.5

peter_laursen

We are very pleased to announce the release of MONyog 2.5 Beta 1. This is a major upgrade from the previous releases.

slow SQL

MySQL currently lacks advanced query profiling tools like SQL Server’s Query Profiler. While the current breed of MySQL monitoring tools provide monitoring and advisory information on various system metrics, they don’t help in pinpointing the problematic queries. No amount of hardware upgrades or tuning of mysql.cnf / mysql.ini parameters can match the performance gains that can be achieved when problematic queries and identified, rewritten and/or appropriate indexes are created.

MONyog 2.5 helps in identifying problem SQL by

1) Analyzing the general query log
2) Analyzing the slow query log
3) If the above mentioned logs are unavailable then MONyog query sniffer can capture the results of SHOW PROCESSLIST at user-defined interval (like every second) and then analyze the data collected over a period of time.

Best of all, you don’t need to install and configure agents on each MySQL server. Installing and upgrading agents is a tedious admin task by itself. MONyog just needs an SFTP-enabled SSH account to read the logs from remote servers. For MySQL 5.1 and above, MONyog can read the logs from the appropriate tables in the mysql database. Just like other Webyog tools, MONyog provides an intuitive graphical interface to help you find problem SQL quickly.

MONyog can optionally substitute literals from the logs with a ‘dummy string’ so that ‘almost-identical’ queries will be considered identical. You can then easily get answers to questions like:

1) Which query (or group of queries) was executed most number of times during a specific time-frame?
2) Which query (or group of queries) took the longest execution time on average?
3) Which query (or group of queries) took the longest execution (counting all instances)?

Other major new features of MONyog 2.5:

- Faster SSH tunnelling: The entire SSH tunnelling code has been rewritten
- Improved Linux monitors and advisors – several counters related to Linux memory (including swap) usage added.
- RPM build now supports SuSE and Mandrake/Mandriva Linux distributions


MONyog is multi-platform and runs on Windows and Linux. Download your copy of MONyog Trial today from:
http://www.webyog.com/en/downloads.php


MONyog 2.06 Has Been Released

peter_laursen

Bug fixes:

* The new version 3 release of Mozilla Firefox (now in RC) had a flickering issue with MONyog and the login page did not load correctly in that browser version.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php