Archive

Archive for November, 2013

Why MySQL?

November 26, 2013 Leave a comment

 

 

Graveled at commercial software licensing? Are you looking for a stable database platform but sweating at the hefty price tags attached to mainstream products from Microsoft, Oracle and other vendors? MySQL may be for you!  MySQL is a well-respected product that is more than capable of commercial operation. As of April 2009, MySQL offers MySQL 5.1 in two different variants: the MySQL Community Server and Enterprise Server, both having common code base and include the below features.

 

MySQL Features:

  • A broad subset of ANSI SQL 99, as well as extensions.
  • Cross-platform support.
  • Stored procedures.
  • Triggers.
  • Cursors.
  • Updatable Views.
  • True Varchar support.
  • INFORMATION_SCHEMA.
  • Strict mode.
  • X/Open XA distributed transaction processing (DTP) support; two phase commit as part of this, using Oracle’s InnoDB engine.
  • Independent storage engines (MyISAM for read speed, InnoDB for transactions and referential integrity, MySQL Archive for storing historical data in little space).
  • Transactions with the InnoDB, BDB and Cluster storage engines; savepoints with InnoDB.
  • SSL support.
  • Query caching.
  • Sub-SELECTs (i.e. nested SELECTs).
  • Replication with one master per slave, many slaves per master, no automatic support for multiple masters per slave.
  • Full-text indexing and searching using MyISAM engine.
  • Embedded database library.
  • Partial Unicode support (UTF-8 sequences longer than 3 bytes are not supported; UCS-2 encoded strings are also limited to the BMP).
  • Partial ACID compliance (full compliance only when using the non-default storage engines InnoDB, BDB and Cluster).
  • Shared-nothing clustering through MySQL Cluster

MySQL Enterprise Server is released once per month and the sources can be obtained either from MySQL’s customer-only Enterprise site or from MySQL’s Bazaar repository, both under the GPL license. The MySQL Community Server is published on an unspecified schedule under the GPL and contains all bug fixes that were shipped with the last MySQL Enterprise Server release. Binaries are no longer provided by MySQL for every release of the Community Server. Read more…

Advertisements

MySQL Primer

November 20, 2013 Leave a comment

logo-mysql

  

  

MySQL Origin:

MySQL was originally developed by Michael Widenius and David Axmark beginning in 1994, founders of a Swedish company MySQL AB. It was first released internally on 23 May 1995. Windows version was released on 8 January 1998 for Windows 95 and NT. Sun Microsystems acquired MySQL AB on 26 February 2008. MySQL AB yet holds the copyright to most of the codebase. In April 2009, Oracle Corporation entered into an agreement to purchase Sun Microsystems, current owners of the MySQL intellectual property. The deal was unanimously approved by Sun’s board of directors, and it is anticipated to close soon, subject to Sun stockholder approval, certain regulatory approvals and customary closing conditions.

MySQL is written in C and C++. MySQL runs on more than 20 different system platforms, including AIX, BSDi, FreeBSD, HP-UX, i5/OS, Linux, Mac OS X, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, eComStation, OS/2 Warp, QNX, IRIX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos, Tru64 and Microsoft Windows; giving you the kind of flexibility that puts you in control. In addition, an ODBC interface called MyODBC allows additional programming languages that support the ODBC interface to communicate with a MySQL database, such as ASP or ColdFusion. The MySQL server and official libraries are mostly implemented in ANSI C/ANSI C++.

To administer MySQL databases one can use the included command-line tool (commands: mysql and mysqladmin). Also downloadable from the MySQL site are GUI administration tools: MySQL Administrator, MySQL Migration Toolkit and MySQL Query Browser. The GUI tools are now included in one package called MySQL GUI Tools. In addition to the these tools developed by MySQL AB, there are several other commercial and non-commercial tools available. Examples include Navicat Free Lite Edition, AnySQL Maestro Freeware Edition or SQLyog Community Edition, they are free desktop based GUI tools, and phpMyAdmin, a free Web-based administration interface implemented in PHP. 

  

MySQL Introduction:

MySQL is a relational database management system (RDBMS) which can be used to store, sort, arrange, and display information. MySQL stands for “My Structured Query Language”. The program runs as a server providing multi-user access to a number of database instances. The project’s source code is available under terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL is commonly used by free software projects which require a full-featured database management system, such as WordPress, phpBB etc. It is also used in very high-scale World Wide Web products including Google and Facebook. Several high-traffic web sites (Flickr,Facebook,Wikipedia, Nokia, Auctionmarts and YouTube) use MySQL for data storage and logging of user data.

MySQL is an open-source database system with which we can do the following things:

  • Design the structure of the tables (called schema) and how they relate to one another
  • Add, edit and delete data
  • Sort and manipulate data
  • Query the database (that is, ask questions about the data)
  • Produce listings based on queries

To interact with MySQL, we enter commands on a command line. These commands, such as CREATE, INSERT, UPDATE, etc. are based on a more general language called SQL (Structured Query Language). SQL has a long and colorful history, starting at IBM in the 70’s (based on the research of E.F. Codd who developed the relational data model in 1970), and later through the work of a small company called Relational Software, Inc. In 1979, this group produced the first commercially available relational database system and implemented SQL as its query language. They called the product Oracle.

The MySQL database has become the world’s most popular open source database because of its consistent fast performance, high reliability and ease of use. Not only is MySQL the world’s most popular open source database, it’s also become the database of choice for a new generation of applications built on the LAMP stack (Linux, Apache, MySQL, PHP / Perl / Python.) MySQL represents the most impressive market success, exceeded only perhaps by Apache, in free and open source software. In terms of installed base, MySQL has left the technically impressive rival PostgreSQL behind. It has marginalized mSQL, SQLite, and SAP DB. It has started to challenge the proprietary database companies on their own turf. Nobody can say why licensing costs for proprietary databases have dropped sharply in recent years, but one suspects that it’s due to MySQL’s competition.

  • MySQL AB claims an installed base of five million systems, the largest of any database engine.
  • The mysql.com domain sees almost as much traffic as ibm.com.
  • Six hundred attendees flocked to the recent MySQl conference.
  • MySQL AB has recently been heavily marketing, its own publishing outlet,MySQL Press.

Many of the applications that a Web developer wants to use can be made easier by the use of a standardized database to store, organize, and access information. MySQL can easily be integrated into Perl programs by using the Perl DBI (DataBase Independent interface) module. DBI is an Application Program Interface (API) that allows Perl to connect to and query a number of SQL databases (among them MySQL, mSQL, PostgreSQL, Oracle, Sybase, and Informix).

  

  

Architecture: Read more…

Eclipse IDE Primer

November 17, 2013 Leave a comment

 

 

eclipse

 

 

Eclipse Origin:

In November 2001, IBM released $40 million worth of software tools into the public domain. Starting with this collection of tools, several organizations created a consortium of IDE providers. They called this consortium the Eclipse Foundation, Inc. Eclipse was to be “a universal tool platform — an open extensible IDE for anything and nothing in particular.” This talk about “anything and nothing in particular” reflects Eclipse’s ingenious plug-in architecture.

The initial codebase originated from VisualAge. In its default form it is meant for Java developers, consisting of the Java Development Tools (JDT). Users can extend its capabilities by installing plug-ins written for the Eclipse software framework, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules. Language packs provide translations into over a dozen natural languages.

Released under the terms of the Eclipse Public License, Eclipse is free and open source software. Eclipse began as an IBM Canada project. It was developed by OTI (Object Technology International) as a Java based replacement for the Smalltalk based  VisualAge family of IDE products, which itself had been developed by OTI. In January 2004, the Eclipse Foundation was created. The Eclipse Foundation turned itself from an industry consortium to an independent not-for-profit organization. Among other things, this meant having an Executive Director — Mike Milinkovich, formerly of Oracle Corporation. Apparently, Milinkovich is the Eclipse Foundation’s only paid employee. Everybody else donates his or her time to create Eclipse — the world’s most popular Java development environment. According to IBM Chief Technology Officer Lee Nackman, the name “Eclipse” was chosen to target Microsoft’s Visual Studio product.

 

Eclipse Introduction:

 Eclipse is an open source, extensible, multi-language software development environment, comprising an IDE (Integrated development environment), and a plug-in system to extend it. At its heart, Eclipse isn’t only a Java development environment. Eclipse is a vessel — a holder for a bunch of add-ons that form, a Java, C++, or even a COBOL development environment. Each add-on is called a plug-in, and the Eclipse that you normally use is composed of more than 80 useful plug-ins. While the Eclipse Foundation was shifting into high gear, several other things were happening in the world of integrated development environments. IBM was building WebSphere Studio Application Developer (WSAD) — a big Java development environment based on Eclipse. And Sun Microsystems was promoting NetBeans. Like Eclipse, NetBeans is a set of building blocks for creating Java development environments. But unlike Eclipse, NetBeans is pure Java. So a few years ago, war broke out between Eclipse people and NetBeans people. And the war continues to this day.

 

 

Eclipse Architecture: Read more…

Why Eclipse IDE?

November 5, 2013 Leave a comment

 

 

If you’re reading this, you’re most likely a Java programmer, and you know how finicky Java can be at times. Missed import statements, forgotten variable declarations, omitted semicolons, garbled syntax, typos—all these problems will cause the Java command-line compiler, javac, to cough and display pages of annoying error messages. The error messages tell you that javac knows what the error is but doesn’t fix the problem. javac can’t fix the problem as it isn’t an editor. That makes long streams of errors scrolling off the page an all-too-common experience for Java developers, and leaves them with the feeling that Java is too prickly about what can go wrong. To change all that, you can use an integrated development environment (IDE), which will not only catch errors before you try to compile, but also suggest solutions. Java is badly in need of a good IDE, and a number of candidates are available, but the premiere Java IDE these days is Eclipse.

 

Open Source IDE:

If you closely follow open source or Java programming, you should have heard the buzz about Eclipse. Eclipse is an extensible software development environment comprising an IDE (Integrated development environment – It is an all-in-one tool for writing, editing, compiling, and running programs) and a plug-in system to extend it. 
 
It is written primarily in Java and can be used to develop applications in Java. And by means of various plug-ins, it can be used to develop applications in other languages as well, including C, C++, COBOL, Python, Perl, PHP, and others. Eclipse employs plug-ins in order to provide all of its functionality on top of (and including) the runtime system. The runtime system of Eclipse is based on Equinox – an OSGi standard compliant implementation.

 

Plugin Extension in Eclipse IDE: Read more…