MySQL

The world's most popular open source database

Contact a MySQL Representative


  • MySQL.com
  • Developer Zone
  • Partners & Solutions
  • Customer Login
  • DevZone
  • Downloads
  • Documentation
  • Articles
  • Forums
  • Bugs
  • Forge
  • Blogs
 
  • You are currently browsing the Team APAC weblog archives for July, 2008.

  • Archives

    • November 2009
    • October 2009
    • August 2009
    • June 2009
    • May 2009
    • March 2009
    • February 2009
    • January 2009
    • November 2008
    • October 2008
    • September 2008
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
  • Categories

    • 1 (2)
    • Entries in English (16)
    • Entries in English and Japanese (4)
    • 日本語エントリー (24)



Team APAC

Archive for July, 2008

MySQL Storage Engines

Thursday, July 31st, 2008

Hi!
It has been very hot recently.  Please take good care of yourself.

Today, I would like to deliver a tip for “MySQL Storage Engine”, which was written by Mikiya Okuno, MySQL Senior Technical Support Engineer.  Are you familiar with storage engine?  Let’s learn about the storage engine together!

************************************
MySQL is so popular and used for various applications.  One of the reasons is its flexibility which is achieved by a technology called the “Storage Engine”.  The storage engine is an essential concept to MySQL.

MySQL utilizes virtualized and abstracted layers which can be switched per table.  These layers are the storage engine.  MySQL brings out high performance by switching depending on application’s requirements and data access pattern.  The storage engine is one of the most important elements and attracting a lot of attention of engineers.

MySQL has the following storage engines available:

== MyISAM ==
MyISAM is MySQL’s default storage engine.  MyISAM is light, but is not suitable for an application which writes a lot.  Non-transactional storage engine.

== InnoDB ==
InnoDB is a transactional storage engine developed by Innobase OY with high flexibility which accommodates various applications.  Therefore, InnoDB is the most popular storage engine for MySQL users.

== MEMORY ==
MEMORY is a storage engine which stores all data in a memory.  It operates at high speed but clears all data at a restart of MySQL.  MEMORY is often used as temporary data space.

== CSV ==
CSV stores data in CSV (Comma Separated Value) file.

== FEDERATED ==
FEDERATED makes it look like as if tables in other MySQL servers are located locally.

== MySQL Cluster ==
MySQL Cluster is characterized as a “parallel”, “load distribution” and “high available” storage engine.  It stores data distributing into many host machines.  MySQL Cluster supports transaction and adopts the shared-nothing architecture.
*You can find detailed information in the article I wrote for ThinkIT this month.  ;)
ThinkIT Article written by Mikiya Okuno: http://www.thinkit.co.jp/article/95/

There are more storage engines available from MySQL as well as from third-party storage engines (NitroDB, SolidDB, PBXT and etc).

Please refer to the manual below for storage engine details.
http://dev.mysql.com/doc/refman/5.1/ja/pluggable-storage-overview.html

–
Mikiya Okuno, MySQL Support Engineer
Sun Microsystems KK, Tokyo, Japan
http://www-jp.mysql.com/

********************************************

I will introduce MySQL more from technical standpoint for future.  Please look forward to it!
Thank you,
Kazumi

Posted in Entries in English | No Comments »

MySQL ストレージエンジン

Thursday, July 31st, 2008

こんにちは、三橋です。
毎日暑い日々が続きますが、いかがお過ごしでしょうか?

今日のトピックは、Senior Technical Support Engineer である奥野からストレージエンジンについてのご紹介です。一緒にストレージエンジンについて勉強しましょう!

 *******************************

MySQLが様々な用途で使われている理由として、様々な用途に対応できる柔軟性が挙げられます。その柔軟性を実現している技術の一つが「ストレージエンジン」です。MySQLは内部的にデータの格納やアクセスをするレイヤーを上手に仮想化・象化しており、テーブル単位でそのレイヤーを入れ替えることが能になっています。そのレイヤーのことをストレージエンジンといい、アプリケーションのアクセスパターンや要件に従ってストレージエンジンを入れ替えることで、様々なアプリケーションにおいて良好な性能を発揮することができるのです。ストレージエンジンはチューニングにおいてもっとも大きな要素の一つであり、エンジニアにとってももっとも興味をそるポイントのひとつです。

MySQLでは以下のようなストレージエンジンを使うことが出来ます。

 == MyISAM ==

MySQLデフォルトのストレージエンジン。軽量だが多数の書き込みがあるようなアクセスパターンは苦手。トランザクション非対応。

== InnoDB ==

Innobase OYが開発したトランザクション対応ストレージエンジン。様々なアプリケーションによく適合するので最もよく使われている。

== MEMORY ==

メモリに全てのデータを格納するストレージエンジン。高速だがMySQLが再起動すると内容が消失する。一時的なデータ領域などに使用する。

== CSV ==

CSVファイル(カンマ区切りファイル)にデータを格納する。

== FEDERATED ==

他のMySQLサーバにあるテーブルをあたかもローカルにあるように見せる。

== MySQL Cluster ==

「並列」「負荷分散」「高可用性」型ストレージエンジン。多数のホストを用いてデータを分散して格納する。シェアードナッシング型。トランザクション対応。

※今月シンクイットで記事を書いたので参照してください。 ;)

ThinkIT 記事: 奥野幹也著 『[データベース夏の陣]MySQL Clusterを試す!』 http://www.thinkit.co.jp/article/95/

 

これらの他にもまだMySQLが提供しているストレージエンジンがありますし、サードパーティ製のストレージエンジンもあります。(NitroDB、SolidDB、PBXTなど)

 

ストレージエンジンに関する詳細は、マニュアルを参照してください。
http://dev.mysql.com/doc/refman/5.1/ja/pluggable-storage-overview.html

Mikiya Okuno, MySQL Support Engineer
Sun Microsystems KK, Tokyo, Japan
http://www-jp.mysql.com/

 *******************************

 

いかがでしたか? 今後、テクニカルな側面からも MySQL について紹介していきますので、是非お付き合いください!

三橋

Posted in 日本語エントリー | No Comments »

Team APAC is proudly powered by WordPress MU running on Blogs.mysql.com.
Entries (RSS) and Comments (RSS).