|
|
|
|
|
|
MySQL 5.6.2 labs innodb memcached ¼³Ä¡ ¹× Å×½ºÆ® |
|
±Û¾´ÀÌ : taeguni ³¯Â¥ : 11-09-20 16:15 Á¶È¸¼ö : 14065 |
|
http://labs.mysql.com/
À§ÀÇ »çÀÌÆ®·Î °¡¼ "mysql-5.6.2-labs-innodb-memcached-linux2.6-x86_64.tar.gz" ÇØ´ç ÆÄÀÏÀ» ´Ù¿î·Îµå ÇÑ ÀÌÈÄ ¼³Ä¡ ÇÏ¿© Å×½ºÆ® ÇØº¸¾Ò½À´Ï´Ù.
¼³Ä¡ ÀÌÈÄ °¡Àå ±âº»ÀûÀ¸·Î ¹öÀüÀ» È®ÀÎ ÇÏ´Ï ´ÙÀ½°ú °°½À´Ï´Ù.
mysql> select version();
+---------------------------------+
| version() |
+---------------------------------+
| 5.6.2-labs-innodb-memcached-log |
+---------------------------------+
1 row in set (0.00 sec)
¼³Ä¡ ÈÄ ¹Ù·Î »ç¿ë°¡´ÉÇÑ ¿£ÁøÀº ´ÙÀ½°ú °°½À´Ï´Ù.
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MyISAM | DEFAULT | MyISAM storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
9 rows in set (0.00 sec)
ÃÑ 9°³ÀÇ ¿£ÁøÀÌ ¸®½ºÆ®¿¡ º¸À̸ç, Ȱ¼ºÈ µÈ ¿£ÁøÀº FEDERATED¸¦ Á¦¿ÜÇÑ 8°³ ¿£ÁøÀÌ ¸ðµÎ Ȱ¼ºÈ µÈ °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
memcache´Â À̳ëµðºñ ȯ°æ¿¡¼¸¸ »ç¿ëÀÌ °¡´ÉÇÏ´Ù°í ÇÏ¿©, À̳ëµðºñ ¹öÀüÀ» È®ÀÎ ÇØº¸¾Ò½À´Ï´Ù.
mysql> select @@innodb_version;
+------------------+
| @@innodb_version |
+------------------+
| 1.2.2 |
+------------------+
1 row in set (0.00 sec)
±âº» ¼³Ä¡ ÀÌÈÄ È®ÀÎ µÇ´Â Ç÷¯±×ÀÎ ¸ñ·ÏÀ» º¸´Ï ´ÙÀ½°ú °°½À´Ï´Ù.
mysql> show plugins;
+--------------------------+----------+--------------------+---------+---------+
| Name | Status | Type | Library | License |
+--------------------------+----------+--------------------+---------+---------+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| mysql_old_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |
| InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL |
| INNODB_TRX | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_LOCKS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_LOCK_WAITS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMP | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMP_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMPMEM | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_BUFFER_PAGE | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_BUFFER_PAGE_LRU | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_BUFFER_POOL_STATS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_METRICS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_TABLES | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_TABLESTATS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_INDEXES | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_COLUMNS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_FIELDS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_FOREIGN | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_FOREIGN_COLS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| PERFORMANCE_SCHEMA | ACTIVE | STORAGE ENGINE | NULL | GPL |
| BLACKHOLE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| FEDERATED | DISABLED | STORAGE ENGINE | NULL | GPL |
| ARCHIVE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| partition | ACTIVE | STORAGE ENGINE | NULL | GPL |
+--------------------------+----------+--------------------+---------+---------+
31 rows in set (0.00 sec)
È®ÀÎ ÇØº¸´Ï memcache°¡ ±âº»ÀûÀ¸·Î´Â Áö¿øÀÌ ¾ÈµÇ´Â °ÍÀ¸·Î º¸À̸ç, ƯÀÌ »çÇ×À¸·Î´Â Innodb °ü·ÃÇÏ¿©, ÀÎÆ÷¸ÞÀÌ¼Ç ½ºÅ°¸¶ °ü·ÃµÈ Ç׸ñÀÌ ´«¿¡ ¶ç°Ô ´Ã¾î³ °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
memchache Ç÷¯±×ÀÎÀ» ¼³Ä¡ÇÕ´Ï´Ù.
mysql> install plugin daemon_memcached soname "libmemcached.so";
mysql> show plugins;
+--------------------------+----------+--------------------+-----------------+---------+
| Name | Status | Type | Library | License |
+--------------------------+----------+--------------------+-----------------+---------+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
| mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| mysql_old_password | ACTIVE | AUTHENTICATION | NULL | GPL |
| MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| CSV | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL |
| MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL |
| InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL |
| INNODB_TRX | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_LOCKS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_LOCK_WAITS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMP | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMP_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMPMEM | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_BUFFER_PAGE | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_BUFFER_PAGE_LRU | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_BUFFER_POOL_STATS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_METRICS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_TABLES | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_TABLESTATS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_INDEXES | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_COLUMNS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_FIELDS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_FOREIGN | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| INNODB_SYS_FOREIGN_COLS | ACTIVE | INFORMATION SCHEMA | NULL | GPL |
| PERFORMANCE_SCHEMA | ACTIVE | STORAGE ENGINE | NULL | GPL |
| BLACKHOLE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| FEDERATED | DISABLED | STORAGE ENGINE | NULL | GPL |
| ARCHIVE | ACTIVE | STORAGE ENGINE | NULL | GPL |
| partition | ACTIVE | STORAGE ENGINE | NULL | GPL |
| daemon_memcached | ACTIVE | DAEMON | libmemcached.so | GPL |
+--------------------------+----------+--------------------+-----------------+---------+
32 rows in set (0.00 sec)
¼³Ä¡°¡ µÈ °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÇöÀç ¼³Ä¡µÈ µ¥ÀÌÅÍ º£À̽º ÀνºÅϽº¸¦ È®ÀÎÇØº¾´Ï´Ù.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
¹ÙÀ̳ʸ® µð·ºÅ丮ÀÇ script-xs ³»ºÎ¸¦ º¸¸é innodb_memcached_config.sql ÆÄÀÏÀÌ Ãß°¡µÈ °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
SQL ½ºÅ©¸³Æ® ÆÄÀÏÀÓÀ¸·Î, ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÄѼ, memcache ¼³Ä¡¸¦ ¿Ï·á ÇÕ´Ï´Ù.
shell> mysql -uroot < script-xs/innodb_memcached_config.sql
½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃŰÀÚ innodb_memcache µ¥ÀÌÅͺ£À̽º°¡ Ãß°¡µÈ °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| innodb_memcache |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
Å×ÀÌºíµµ È®ÀÎÇØ º¾´Ï´Ù.
mysql> use innodb_memcache;
mysql> show tables;
+---------------------------+
| Tables_in_innodb_memcache |
+---------------------------+
| cache_policies |
| config_options |
| containers |
+---------------------------+
3 rows in set (0.00 sec)
mysql> select * from cache_policies;
+--------------+-------------+-------------+---------------+--------------+
| policy_name | get_policy | set_policy | delete_policy | flush_policy |
+--------------+-------------+-------------+---------------+--------------+
| cache_policy | innodb_only | innodb_only | innodb_only | innodb_only |
+--------------+-------------+-------------+---------------+--------------+
1 row in set (0.00 sec)
mysql> select * from config_options;
+-----------+-------+
| name | value |
+-----------+-------+
| separator | | |
+-----------+-------+
1 row in set (0.00 sec)
mysql> select * from containers;
+------+-----------+-----------+-------------+---------------+-------+------------+--------------------+------------------------+
| name | db_schema | db_table | key_columns | value_columns | flags | cas_column | expire_time_column | unique_idx_name_on_key |
+------+-----------+-----------+-------------+---------------+-------+------------+--------------------+------------------------+
| aaa | test | demo_test | c1 | c2 | c3 | c4 | c5 | PRIMARY |
+------+-----------+-----------+-------------+---------------+-------+------------+--------------------+------------------------+
1 row in set (0.00 sec)
t
est µ¥ÀÌÅͺ£À̽º¿¡ demo_test Å×À̺íÀÌ µî·ÏµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
mysql> use test
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| demo_test |
+----------------+
1 row in set (0.00 sec)
mysql> select * from demo_test;
+----+--------------+------+------+------+
| c1 | c2 | c3 | c4 | C5 |
+----+--------------+------+------+------+
| AA | HELLO, HELLO | 8 | 0 | 0 |
+----+--------------+------+------+------+
1 row in set (0.00 sec)
Å×½ºÆ® µ¥ÀÌÅÍ º£À̽ºÀÇ ³»¿ëÀ» È®ÀÎÇÏ´Ï ´ÙÀ½°ú °°½À´Ï´Ù.
ÀÌÁ¦ NoSQLÀ» Å×½ºÆ® Çϱâ À§Çؼ, ÅÚ³ÝÀ¸·Î Á¢¼ÓÇϰí, set¸í·É¾î¿Í get¸í·É¾î¸¦ ½ÇÇàÇØº¾´Ï´Ù.
shell> telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
set a11 10 0 9
123456789
STORED
get a11
VALUE a11 10 9
123456789
END
ÆÄ¶õ»ö ±ÛÀÚ ºÎºÐ¸¸ ÀÔ·ÂÇϸç, ½ÇÇà °á°ú´Â À§¿Í °°½À´Ï´Ù.
´Ù½Ã mysql ÄַܼΠÁ¢¼ÓÇÏ¿©, ½ÇÁ¦ Å×ÀÌºí¿¡ ¹Ý¿µµÈ °ÍÀ» È®ÀÎÇØº¾´Ï´Ù.
mysql> use test
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| demo_test |
+----------------+
1 row in set (0.00 sec)
mysql> select * from demo_test;
+----+--------------+------+------+------+
| c1 | c2 | c3 | c4 | C5 |
+----+--------------+------+------+------+
| AA | HELLO, HELLO | 8 | 0 | 0 |
+----+--------------+------+------+------+
1 row in set (0.00 sec)
¾ÆÁ÷ ¹Ý¿µÀÌ ¾ÈµÈ °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½ ¸í·É¾î¸¦ ½ÇÇàÇÏ¿©, ÇöÀç ¼¼¼Ç¿¡¼ Ä¿¹ÔÀÌ ¾ÈµÈ µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö ÀÖµµ·Ï ¼³Á¤ÇÕ´Ï´Ù.
mysql> set session TRANSACTION ISOLATION LEVEL read uncommitted;
mysql> select * from demo_test;
+-----+--------------+------+------+------+
| c1 | c2 | c3 | c4 | C5 |
+-----+--------------+------+------+------+
| a11 | 123456789 | 10 | 1 | NULL |
| AA | HELLO, HELLO | 8 | 0 | 0 |
+-----+--------------+------+------+------+
2 rows in set (0.00 sec)
setÀ¸·Î ÀÔ·ÂÇÑ µ¥ÀÌÅͰ¡ º¸ÀÌ´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
À§¿Í °°ÀÌ 5.6¹öÀü¿¡¼ »õ·Ó°Ô Á¦°øÇÏ´Â memcache¿¡ ´ëÇØ¼ ¼³Ä¡ Å×½ºÆ®¸¦ ÁøÇà ÇÏ¿´½À´Ï´Ù.
|
|
|
|
|
|
|
|
|
|
|
|
|