Connect With WRD
feed via e-mail
feed via e-mail

Archive for the ‘Database’ Category

Today, speed in web applications is one of the keys to success. It effects the interaction with users, their perception about the website and even how Google ranks websites.

And, database performance is one of the most important factors of speed, as, once there is a bottleneck in it, nothing will function fast.

During the development of Uptime Robot (and still), in order for the application to handle more requests in a shorter time, I needed to optimize 2 things:

  • the queries used
  • MySQL server itself

Yes, minimizing the number of queries, using indexes smartly or changing the well-known settings of MySQL server makes sense but measuring the results and finding out how each update effects the performance is the hardest thing to analyze.

This is when I started using MONyog, a desktop application (with Windows and Linux versions), that helps tracking everything about a MySQL server. And, most importantly, it comes with working advices at every point.

The application can connect to any number of MySQL servers which is great for working with the test and production server at the same time. And, it only requires the MySQL root login to collect data (nothing to install on MySQL servers).

MONyog

Its dashboard welcomes you with the most important charts like the availability of the server, number of connections, cache misses, statements and any other metric can be added.

Besides the ability to viewing the process list, disk usage or events, there are 2 menus that saved me so much time:

  • Monitors/Advisors
  • Query Analyzer

Monitors/Advisors

The menu has multiple sub-menus where each of them helps fine-tuning the server so much.

You can get the number of "current connections" and how effectively they are used, InnoDB cache and logs performance, thread cache, table cache, index usage (how effective they are), the number of each statement (select, insert..) and many sub-metrics.

Each item is explained shortly yet clearly and advices are shown to make them better.

MONyog also scans the settings of the server, displays the values as a snapshot and warns you about any possible security issues (and how to fix them).

Query Analyzer

This is where you can find the popular "slow query log". But it comes with a better presentation (compared to a standard MySQL slow log query) that focuses on finding the issues.

The Query Analyzer is vital in locating the problematic queries and seeing how they perform after optimizing them live.

To sum up

I started using MONyog when I was just about to decide that everything was done for performance, the limit of the server was reached and a 2nd or a much powerful MySQL server was required as the resource usage was ~90% in average.

MONyog

After the optimizations with the application, the same server responds to a bigger number of queries in a shorter time with lower than 50% of resource usage.

Simply, it saved me renting a new server and providing a better experience to Uptime Robot users. And, totally suggest it if you are managing a busy MySQL server.

The giveaway and how to join?

After my experience with MONyog, I contacted them with the idea of running a giveaway and they were kind enough to giveaway "3 MONyog Ultimate Single Server with Premium Support" licenses ($399/each) to WRD readers.

In order to join the giveaway:

  • Share this giveaway with a tweet: "Just joined the MONyog  MySQL Monitor and Advisor giveaway at WebResourcesDepot – http://goo.gl/0O6Eg" (click to tweet easily)
  • Follow @webyog Twitter user
  • Share your tweet URL within the comments

The winners will be announced 1 week later (3 November 2011) and good luck.

SQLyog, a powerful MySQL admin software, is giving away 5 Single Developer Licenses with premium support ($179/each) to WebResourcesDepot readers.

Detailed information on "how to join the giveaway" is provided at the bottom of this post.

What is SQLyog?

It is a MySQL GUI application with a user-friendly interface that offers many features for easily managing a MySQL database.

The application can control any number of databases in any number of hosts (can also connect to firewalled MySQL servers via HTTP(s) or SSH tunneling).

MySQL Admin - SQLyog

SQLyog does everything we can expect from a MySQL admin software like: CRUD operations on databases/tables/records, running custom queries, backup-restore and import-export (CSV/XML/HTML/Excel).

Also, it has many other advanced capabilities like:

  • index analyzer
  • schema optimizer
  • query profiler
  • SQL formatter
  • visual query builder and schema designer
  • and more..

There is a scheduling engine that can run any of the tasks at a given time for once or regularly. A very handy feature for regularly optimizing a database or taking backups.

SQLyog Schema Designer

It can also work as an interface for data-entry, thanks to the form-view support. And small-but-useful stuff like auto-complete or 100% keyboard support makes such usage much easier.

SQLyog is available for Windows and can be used on Linux or Mac OS X devices with the help of Wine.

How to join the giveaway?

SQLyog – MySQL admin tool is giving away 5 Single Developer Licenses with premium support. In order to join the giveaway:

  • Share this giveaway with a tweet: "Just joined the @webyog SQLyog – MySQL Admin giveaway at WebResourcesDepot – http://goo.gl/igJKg" (click to tweet easily)
  • Follow @webyog Twitter user
  • Share your tweet URL within the comments

The winners will be selected with the query below on 22 September 2011 (1 week later):

SELECT * FROM wp_comments WHERE comment_post_id=2464 AND comment_approved=1 AND comment_type='' GROUP BY comment_author_email ORDER BY RAND() LIMIT 5

 

Luck is believing you're lucky (by Tennessee Williams).

Most of the MySQL users will remember MySQL-Front, a very popular database manager application which later on stopped being developed (and turned into a paid application by another team).

The developer of this application, Ansgar Becker, re-launched this project under the name HeidiSQL, it is again free + open source and improved regularly.

HeidiSQL can connect to multiple databases and besides creating/editing databases, tables, views, stored routines and triggers, it has support for scheduling events (great for regular jobs like backups).

HeidiSQL

Databases and records can be exported or imported with multiple formats and its even possible to transfer a database directly into another server.

Currently experimental but HeidiSQL can now connect and manage MSSQL databases which is awesome for anyone working with both platforms.

There are many other handy features offered like optimize/repairing tables, duplicating them or query editing with syntax highlighting.

MyDB Studio is a free MySQL database manager application that has almost every feature you can expect for.

It can connect to an unlimited number of databases. If they are behind a firewall or local-only, there is support for SSH tunneling to overcome that.

Databases, tables and records can be created, edited or deleted, they can be backed up/restored and exported into multiple formats.

MyDB Studio

The interface of MyDB Studio is very friendly, switching between data and design views is very fast and treeview of databases>tables>columns helps working effectively.

There is a WYSIWYG editor or designing and running SELECT queries on single or multiple tables.

And, as an original feature, it can automatically create PHP code for displaying data from tables.

P.S. The application is currently Windows-only but a cross platform Adobe AIR version is on the way.

DaDaBIK is an open source and mature PHP application for creating a customizable database front-end without coding.

Within minutes, you can create a basic CRUD (create, read, update, delete) application or dive into its features to build a more complicated one.

DaDaBIK DAtabase Front-end

It doesn't generate a PHP script, stores the settings and can easily adapt to changes made in the database schema.

The application works with MySQL, PostgreSQL, Oracle + MS SQL Server and has features like choosing:

  • if the field must be included or not in a search/insert/update form and results table
  • labels
  • content format (e.g. numeric, alphabetic, e-mail, url…)of a field
  • the HTML input type (e.g. textbox, menu, date, rich text editor, password box…)
  • the possible values, also driven from another table (foreign key support)
  • and much more…

Some other exciting features include:

  • master/details view (attaching 2 or more tables to each other like choosing a user from "users" table and seeing his orders from "orders" table)
  • file uploading
  • exporting to CSV
  • e-mail notices

DaDaBIK is multilingual with support for 10+ languages.

There are many database editors with advanced features, but sometimes, a smaller and simpler tool is all we need.

DBKiss is a MySQL and PostgreSQL manager application that is only a single PHP file.

DBKiss

It has most of the features you can ask for including:

  • import/export of data
  • searching of the whole database or single tables
  • an advanced SQL editor
  • saving of templates
  • multi-query execution with pagination

Also, it is compatible with MySQL versions 3.23 through 5.x and PHP 4 or 5.

Simply, it is a must-have for every developer, specially for the ones who need to work with different databases from time-to-time and need a quick solution.

SQLiteManager is an open source and web-based application for managing the popular server-less, zero-configuration SQLite databases.

It is built with PHP and can control multiple databases besides applying every action on tables or records.

SQLiteManager

Using the application, queries can be ran, MySQL queries can be converted to SQLite-compatible ones and triggers can be created/edited as well.

SQLiteManager has different skins and it is a multilingual resource with ready-to-use language files.

P.S. phpMyAdmin users will feel very comfortable as the interface is pretty similar.

MonoQL is a PHP-powered, open source and Ajaxed web application for managing MySQL databases.

It has a desktop-like interface -thanks to Ext JS- and can accomplish almost every task you can ask for like database/table design, data browsing/editing, advanced querying & more.

MonoQL

The application has support for controlling advanced MySQL features like triggers, stored procedures and views.

MonoQL can connect to any number of databases, both local or remote. Also, with the help of a context menu, it display options on every level like running queries, importing data from a CSV file or truncating/deleting a table.

MyWebSql is a web-based and open source MySQL client that is built with PHP.

It has an Ajaxed interface and besides the rows of tables, it can control views, stored procedures, triggers and functions.

MyWebSql

Data can be exported and imported easily (query results can be exported as well).

MyWebSql comes with a syntax highlighting rich-text SQL editor to run queries (the last-ran query is shown automatically which is a nice reminder).

The application is improved frequently and, within time, can become a good alternative to mature solutions.

jStorage is a simple wrapper plugin for Prototype, MooTools and jQuery to store data on browser side.

It is lightweight (2kb) and uses HTML5 local storage if available or userData behavior in older versions of IE (Webkit SQLite is not supported).

jStorage

The plugin works the same in Prototype, MooTools, jQuery and it is very easy to use as there are only 4 functions:

  • set (save a key)
  • get (retrieve the value of a key)
  • deleteKey (remove a key)
  • flush (clear the cache)

jStorage was known as DOMCached and renamed after various features being dropped.

Uptime Robot
feed-holder
FeedBurner
HotScripts Marketplace
PSD2HTML.com
PHP Form Generator