· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
MySQL Cluster

MySQL Cluster

Introduction

MySQL Ŭ·¯½ºÅÍ´Â ºÐ»ê ÄÄÇ»Æà ȯ°æ¿¡¼­ high-availability¿Í high-redundancy¸¦ äÅÃÇÏ¿´´Ù. MySQL Ŭ·¯½ºÅÍ´Â NDB Ŭ·¯½ºÅÍ ½ºÅ丮Áö ¿£ÁøÀ» »ç¿ëÇÏ¿©, Ŭ·¯½ºÅÍ¿¡¼­ ¿©·¯ °³ÀÇ ¼­¹ö°¡ ÇÔ²² µ¹¾Æ°¡µµ·Ï ÇÑ´Ù. MySQL Ŭ·¯½ºÅÍ°¡ Áö¿øÇÏ´Â ¿î¿µ üÁ¦´Â Linux, Mac OS X, Solaris µî ÀÌ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ´ÙÀ½ »çÀÌÆ®¸¦ Âü°í ÇÏ±æ ¹Ù¶õ´Ù. http://www.mysql.com/products/cluster

MySQL Cluster Overview


MySQL Ŭ·¯½ºÅÍ´Â share-nothing ½Ã½ºÅÛ¿¡¼­ in-memory µ¥ÀÌÅÍ º£À̽ºÀÇ Å¬·¯½ºÅ͸µÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. ÀÌ·¯ÇÑ ¾ÆÅ°ÅØÃĴ ƯÁ¤ÇÑ Çϵå¿þ¾î ¹× ¼ÒÇÁÆ®¿þ¾î¸¦ ¿ä±¸ÇÏÁö ¾ÊÀ¸¹Ç·Î ºñ¿ëÀ» Àý°¨ÇÒ ¼ö ÀÖµµ·Ï Çϸç, °¢ ÄÞÆ÷³ÍÆ®°¡ °íÀ¯ ¸Þ¸ð¸®¿Í µð½ºÅ©¸¦ º¸À¯ÇÔÀ¸·Î ´ÜÀÏ Ãë¾àÁ¡(single point of failure)À» °¡ÁöÁö ¾Ê´Â´Ù.

MySQL Ŭ·¯½ºÅÍ´Â ÀÏ¹Ý MySQL ¼­¹ö¿¡ NDB¶ó´Â ½ºÅ丮Áö ¿£ÁøÀ» ÅëÇÕÇÏ¿©, ´ÙÀ½ ±×¸²°ú °°ÀÌ MySQL¼­¹ö, NDB Ŭ·¯½ºÅÍÀÇ µ¥ÀÌÅÍ ³ëµå, MGM ¼­¹ö°¡ Æ÷ÇÔµÈ ÄÄÇ»ÅÍ¿Í µ¥ÀÌÅÍ¿¡ Á¢±ÙÇϱâ À§ÇÑ ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥À¸·Î ±¸¼ºµÈ´Ù.

µ¥ÀÌÅÍ°¡ NDB Ŭ·¯½ºÅÍ ½ºÅ丮Áö ¿£Áø¿¡ ÀúÀåµÉ ¶§, Å×À̺íÀº µ¥ÀÌÅÍ ³ëµå¿¡ ÀúÀåµÈ´Ù. °¢ Å×À̺íÀº Ŭ·¯½ºÅÍÀÇ MySQL ¼­¹ö¿¡¼­ Á÷Á¢ Á¢±ÙÀÌ °¡´ÉÇÏ´Ù. ±×·¡¼­ Ŭ·¯½ºÅÍÀÇ ¾î¶² Á¤º¸¸¦ ¾÷µ¥ÀÌÆ® Çϸé, ´Ù¸¥ ¸ðµç MySQL¼­¹ö¿¡¼­ °ð¹Ù·Î È®ÀÎÇÒ ¼ö ÀÖ´Ù.

MySQL Ŭ·¯½ºÅÍÀÇ µ¥ÀÌÅÍ ³ëµå¿¡ ÀúÀåµÈ µ¥ÀÌÅÍ´Â ¹Ì·¯¸µÀÌ °¡´ÉÇϸç, Ŭ·¯½ºÅÍ´Â Æ®·£Àè¼Ç Áß´Ü µî °¢ ³ëµåµéÀÇ »óÅ¿¡ ´ëÇÑ Çڵ鸵ÀÌ °¡´ÉÇÏ´Ù.

MySQL Ŭ·¯½ºÅÍÀÇ ±¸¼º

Basic MySQL Cluster Concepts


NDB´Â ³ôÀº °¡¿ë¼º°ú µ¥ÀÌÅÍ Áö¼Ó¼ºÀ» °®´Â ÀÎ ¸Þ¸ð¸® ½ºÅ丮Áö ¿£ÁøÀÌ´Ù. DB ½ºÅ丮Áö ´Â failover¿Í ·Îµå ¹ë·±½Ì ¿É¼ÇÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. MySQL Ŭ·¯½ºÅÍ´Â NDB ½ºÅ丮Áö ¿£Áø°ú MySQL ¼­¹ö·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç, MySQL Ŭ·¯½ºÅÍÀÇ Å¬·¯½ºÅÍ ºÎºÐÀº MySQL ¼­¹ö¿¡ µ¶¸³ÀûÀÌ´Ù. MySQL Ŭ·¯½ºÅÍÀÇ °¢ ºÎºÐÀº ³ëµå·Î °£ÁÖÇÑ´Ù.

"³ëµå"´Â ÀϹÝÀûÀ¸·Î ÄÄÇ»Å͸¦ ÁöĪÇÏÁö¸¸ MySQL Ŭ·¯½ºÅÍ¿¡¼­´Â "ÇÁ·Î¼¼½º"¸¦ ¸»ÇÑ´Ù.


Ŭ·¯½ºÅÍ ³ëµå¿¡´Â ¼¼ °¡Áö ŸÀÔÀÌ ÀÖÀ¸¸ç, MySQL Cluster¸¦ ±¸¼ºÇϱâ À§ÇØ ÃÖ¼ÒÇÑ ³ëµå ¼¼ °³°¡ ÀÖ¾î¾ß ÇÑ´Ù.

  • MGM node : ÀÌ ³ëµå´Â ¼³Á¤À» Æ÷ÇÔ, ´Ù¸¥ ³ëµå¸¦ °ü¸®ÇÏ´Â ¸Å´ÏÀú ³ëµåÀÌ´Ù. ´Ù¸¥ ³ëµåº¸´Ù °¡Àå ¸ÕÀú ½ÇÇàµÇ¸ç ndb_mgmd ¸í·ÉÀ¸·Î ½ÇÇà½ÃŲ´Ù.
  • data node : Ŭ·¯½ºÅÍÀÇ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ³ëµåÀÌ´Ù. ndbd ¸í·ÉÀ¸·Î ½ÇÇà½ÃŲ´Ù.
  • SQL node : Ŭ·¯½ºÅÍ µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÏ´Â ³ëµåÀÌ´Ù. MySQL Ŭ·¯½ºÅÍ¿¡¼­´Â NDB Ŭ·¯½ºÅÍ ½ºÅ丮Áö ¿£ÁøÀ» »ç¿ëÇÏ´Â MySQL ¼­¹ö°¡ Ŭ¶óÀ̾ðÆ® ³ëµåÀÌ´Ù. mysqld --ndbcluster³ª mysqld ¸í·ÉÀ¸·Î ½ÇÇà½ÃÅ°´Âµ¥, ÀÌ ¶§´Â my.cnf ¿¡ ndbcluster¸¦ Ãß°¡ÇÑ´Ù.

MGM ³ëµå´Â Ŭ·¯½ºÅÍ ÄÁÇDZ׷¹ÀÌ¼Ç ÆÄÀÏ°ú ·Î±×¸¦ °ü¸®ÇÑ´Ù. µ¥ÀÌÅÍ ³ëµå¿¡ À̺¥Æ®°¡ ¹ß»ýÇϸé, µ¥ÀÌÅÍ ³ëµå´Â ±×¿¡ ´ëÇÑ Á¤º¸¸¦ ¸Å´ÏÀú ¼­¹ö·Î º¸³»°í, ¸Å´ÏÀú ¼­¹ö´Â Ŭ·¯½ºÅÍ ·Î±×¸¦ ±â·ÏÇÑ´Ù.


Simple Multi-Computer How-To


´ÙÀ½°ú °°ÀÌ 4´ëÀÇ ÄÄÇ»ÅͷΠŬ·¯½ºÅ͸¦ ±¸¼ºÇÏ´Â °ÍÀ» °¡Á¤ÇÏ°í ÀÖ´Ù. (4°³ÀÇ ³ëµå·Î ±¸¼ºµÇ°í, °¢°¢ÀÇ ³ëµå´Â ÆíÀ̼ºÀ» À§ÇØ IP·Î ÁöĪÇÑ´Ù.)

¾Æ·¡¿¡¼­ ÇÊ¿äÇÑ ÄÄÇ»ÅÍ´Â ¸®´ª½º°¡ ¼³Ä¡µÈ ÀÎÅÚ ±â¹Ý µ¥½ºÅ©Å¾ PCÀ̸ç, 4´ë ¸ðµÎ µ¿ÀÏÇÑ ÀÌ´õ³Ý Ä«µå(100Mbps³ª 1±â°¡ ºñÆ®)°¡ ÇÊ¿äÇÏ´Ù.

Node IP Address

Management (MGM) node 192.168.0.10

MySQL server (SQL) node 192.168.0.20

Data (NDBD) node "A" 192.168.0.30

Data (NDBD) node "B" 192.168.0.40


¼³Ä¡ ¹× »ç¿ë ½Ã ÁÖÀÇÇÒ Á¡Àº MySQL Ŭ·¯½ºÅʹ Ŭ·¯½ºÅÍ ³ëµå °£ Ä¿¹Â´ÏÄÉÀ̼ǿ¡ ¾Ïȣȭ ¹× º¸È£ ÀåÄ¡°¡ ÀüÇô ¾øÀ¸¹Ç·Î, À¥ »ó¿¡¼­ »ç¿ëÇÏ·Á¸é ¹æÈ­º®À» »ç¿ëÇÏ´Â µîÀÇ º¸¾È»óÀÇ ´ëÃ¥ÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀÌ´Ù.

MySQL Cluster¸¦ »ç¿ëÇϱâ À§Çؼ­´Â -max ¹öÀüÀ» ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ¸ðµç ¼³Ä¡´Â root±ÇÇÑÀ¸·Î ÁøÇàÇϸç ÀÛ¾÷¿¡ ÇÊ¿äÇÑ ÆÄÀÏÀº /usr/local/ ¿¡ ÀúÀåÇÑ´Ù.

1. /etc/passwd ¿Í /etc/group ÆÄÀÏ¿¡¼­ mysql ±×·ì°ú À¯Àú°¡ ÀÖ´ÂÁö È®ÀÎÇÑ ÈÄ ¾øÀ¸¸é ´Ù À½°ú °°ÀÌ »ý¼ºÇÑ´Ù.
# cd /usr/local
# groupadd mysql
# useradd -g mysql mysql

2. À¯Àú¿Í ±×·ì »ý¼º ÈÄ ¾ÐÃàÀ» Ç®°í, ½Éº¼¸¯ ¸µÅ©¸¦ °É¾îÁØ´Ù.
# tar -xzvf mysql-max-4.1.13-pc-linux-gnu-i686.tar.gz
# ln -s /usr/local/ mysql-max-4.1.13-pc-linux-gnu-i686 mysql

3. mysql µð·ºÅ丮·Î À̵¿ÇÏ¿© ½Ã½ºÅÛ µ¥ÀÌÅͺ£À̽º »ý¼ºÀ» À§ÇÑ ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃŲ´Ù.
# cd mysql
# scripts/mysql_install_db --user=mysql

4. MySQL ¼­¹ö¿Í µ¥ÀÌÅÍ µð·ºÅ丮ÀÇ Æ۹̼ÇÀ» ¼³Á¤ÇÑ´Ù.
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .

5. ½Ã½ºÅÛ ºÎÆà ½Ã ÀÚµ¿ÀûÀ¸·Î MysqlÀ» ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤ÇÑ´Ù.
# cp support-files/mysql.server /etc/rc.d/init.d/
# chmod +x /etc/rc.d/init.d/mysql.server
# chkconfig --add mysql.server

6. MGM (management) ³ëµå¸¦ º°µµÀÇ PC¿¡ ¼³Ä¡ÇÒ °æ¿ì mysql µ¥¸óÀº ¼³Ä¡ÇÏÁö ¾Ê¾Æµµ ¹«¹æÇÏ´Ù. À§¿Í °°ÀÌ ¼³Ä¡ÇÑ ÈÄ MGM ¼­¹ö´Â ´ÙÀ½°ú °°ÀÌ ¼³Ä¡¸¦ °è¼ÓÇÑ´Ù.
# cd /usr/local/mysql/bin/
# cp ndb_mgm* /usr/local/bin/
# chmod +x ndb_mgm*

7. °¢ µ¥ÀÌÅÍ ³ëµå¿Í SQL ³ëµå´Â MySQL¼­¹ö ¿É¼Ç°ú connectstring¿¡ ´ëÇÑ Á¤º¸°¡ Æ÷ÇÔµÈ my.cnfÆÄÀÏÀÌ ÇÊ¿äÇÏ°í, MGM³ëµå´Â config.ini ÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù. ¿¡µðÅ͸¦ ¿­¾î ´ÙÀ½°ú °°ÀÌ ÆíÁýÇÑ ÈÄ ÆÄÀÏÀ» ÀúÀåÇÑ´Ù.
# vi /etc/my.cnf 
[MYSQLD]			      # Options for mysqld process:
Ndbcluster			# run NDB engine
ndb-connectstring=192.168.0.10	# location of MGM node

[MYSQL_CLUSTER]		      # Options for ndbd process:
ndb-connectstring=192.168.0.10	# location of MGM node

8. MGM ³ëµåÀÇ ¼³Á¤ ÆÄÀÏÀ» ¸¸µé±â À§ÇØ Àû´çÇÑ µð·ºÅ丮¸¦ ¸¸µç ÈÄ ¿¡µðÅ͸¦ ¿­¾î ´ÙÀ½°ú °°ÀÌ ÆíÁýÇÑ´Ù.
 
# mkdir /var/lib/mysql-cluster
# cd /var/lib/mysql-cluster
# vi config.ini

[NDBD DEFAULT]		# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2		# Number of replicas
DataMemory=80M	         # How much memory to allocate for data storage
IndexMemory=18M	         # How much memory to allocate for index storage
                  		# For DataMemory and IndexMemory, we have used the
                  		# default values. Since the "world" database takes up
                  		# only about 500KB, this should be more than enough
                  		# for this example Cluster setup.

[TCP DEFAULT]		# TCP/IP options:
portnumber=2202	         # This the default; however, you can use any
                  		# port that is free for all the hosts in cluster
                  		# Note: In MySQL 5.0, this parameter is deprecated;
                  		# it is recommended that you do not specify the 
                  		# portnumber at all and simply allow the port to be
                  		# allocated automatically

[NDB_MGMD]			# Management process options:
hostname=192.168.0.10		# Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster	# Directory for MGM node logfiles

[NDBD]				# Options for data node "A":
				# (one [NDBD] section per data node)
hostname=192.168.0.30		# Hostname or IP address
datadir=/usr/local/mysql/data	# Directory for this data node's 
				# datafiles

[NDBD]				# Options for data node "B":
hostname=192.168.0.40		# Hostname or IP address
datadir=/usr/local/mysql/data	# Directory for this data node's 
				# datafiles

[MYSQLD]			         # SQL node options:
hostname=192.168.0.20	         # Hostname or IP address
datadir=/usr/local/mysql/data	# Directory for SQL node's datafiles
				# (additional mysqld connections can be
				# specified for this node for various
				# purposes such as running ndb_restore)

¼³Ä¡¿Í ¼³Á¤ °úÁ¤ÀÌ ³¡³µ´Ù. ÀÌÁ¦ ½ÇÇàÀ» ÇØ º¸ÀÚ.

Ŭ·¯½ºÅÍ ³ëµåµéÀº °¢°¢ ½ÇÇàµÇ¾î¾ß ÇÑ´Ù. ½ÇÇà ¼ø¼­´Â ¸Å´ÏÁö¸ÕÆ® ³ëµå¸¦ °¡Àå ¸ÕÀú ½ÇÇàÇÒ °ÍÀ» ±ÇÇÑ´Ù. ±× ´ÙÀ½Àº ½ºÅ丮Áö ³ëµå¿Í SQL³ëµå ¼øÀÌ´Ù.
1. ¸Å´ÏÁö¸ÕÆ® È£½ºÆ®¿¡¼­ MGM ³ëµå ÇÁ·Î¼¼½º¸¦ ½ÇÇà½ÃÄÑ º¸ÀÚ. ÄÁÇDZ׷¹ÀÌ¼Ç ÆÄÀÏÀ» ãÀ» ¼ö ÀÖµµ·Ï -f ¿É¼ÇÀ» ÁÖµµ·Ï ÇÑ´Ù.
# ndb_mgmd -f /var/lib/mysql-cluster/config.ini
MGM ³ëµå¸¦ ´Ù¿î½Ãų ¶§¿¡´Â ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.
# ndb_mgm -e shutdown

2. ´ÙÀ½À¸·Î µ¥ÀÌÅÍ ³ëµå È£½ºÆ®¿¡¼­ NDBDÇÁ·Î¼¼½º¸¦ ½ÇÇà½ÃŲ´Ù. --initial À̶õ Àμö´Â ndbd¸¦ óÀ½ ½ÇÇàÇÒ ¶§¿Í ÄÁÇDZ׷¹À̼ÇÀÌ ¹Ù²ï ÈÄ Àç½ÃÀÛ ÇÒ ¶§¸¸ »ç¿ëÇÑ´Ù.
# ndbd --initial

3. SQL ³ëµå´Â ´ÙÀ½°ú °°ÀÌ mysql.server¸¦ ½ÇÇà½ÃŲ´Ù.
# /etc/rc.d/init.d/mysql.server start

4. ÀÌÁ¦ ¸ðµç ³ëµå°¡ ½ÇÇàµÇ¾úÀ¸´Ï MGM ³ëµå Ŭ¶óÀ̾ðÆ®¸¦ ¶ç¿ö °£´ÜÈ÷ Å×½ºÆ®¸¦ Çغ¸ÀÚ.

Ndb_mgm¸í·É¾î¸¦ ÀÔ·ÂÇÏ¿´À» ¶§ Á¤»óÀûÀ¸·Î µ¿ÀÛÇÏ´Â ¸ð½ÀÀº ´ÙÀ½°ú °°ÀÌ ÇÁ·ÒÇÁÆ®°¡ ¶³¾îÁö´Â ¸ð½ÀÀÌ´Ù.
# ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> 

5. ÀÌÁ¦ show¸í·É¾î¸¦ »ç¿ëÇÏ¿© Ŭ·¯½ºÅÍÀÇ ¸ðµç ³ëµåµéÀÌ Á¤»óÀûÀ¸·Î ¿¬µ¿µÇ´ÂÁö È®ÀÎÀ» ÇØ º¸ÀÚ. HELP ¸¦ ÀÔ·ÂÇÏ¸é ´Ù¸¥ ¸í·É¾îµéµµ È®ÀÎÇØ º¼ ¼ö ÀÖ´Ù. ´ÙÀ½°ú °°ÀÌ 4°³ÀÇ ³ëµå¸¦ ±¸¼ºÇÏ´Â °Í¿¡ ¼º°øÇÏ¿´´Ù.
ndb_mgm> show
Connected to Management Server at: 192.168.0.10:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.0.30  (Version: 4.1.13, Nodegroup: 0, Master)
id=3    @192.168.0.40 (Version: 4.1.13, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.10 (Version: 4.1.13)

[mysqld(API)]   1 node(s)
id=4   (Version: 4.1.13)

ndb_mgm>

MySQL Ŭ·¯½ºÅÍÀÇ Á¦ÇÑ


MySQL Cluster 4.1.x ¹öÀüÀº ´ÙÀ½°ú °°Àº »ç¿ë»óÀÇ Á¦ÇÑÁ¡À» Áö´Ñ´Ù.

  • Æ®·¢Àè¼Ç ¼öÇà ÁßÀÇ ·Ñ¹éÀ» Áö¿øÇÏÁö ¾ÊÀ¸¹Ç·Î, ÀÛ¾÷ ¼öÇà Áß¿¡ ¹®Á¦°¡ ¹ß»ýÇÏ¿´´Ù¸é, Àüü Æ®·¢Àè¼Ç ÀÌÀüÀ¸·Î ·Ñ¹éÇÏ¿©¾ß ÇÑ´Ù.
  • ½ÇÁ¦ ³í¸®ÀûÀÎ ¸Þ¸ð¸®ÀÇ ÇÑ°è´Â ¾øÀ¸¹Ç·Î ¹°¸®ÀûÀ¸·Î Çã¿ëÇÏ´Â ¸¸Å­ ¸Þ¸ð¸®¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.
  • Ä÷³ ¸íÀÇ ±æÀÌ´Â 31ÀÚ, µ¥ÀÌÅͺ£À̽º¿Í Å×ÀÌºí ¸íÀº 122ÀÚ±îÁö ±æÀÌ°¡ Á¦ÇѵȴÙ. µ¥ÀÌÅͺ£À̽º Å×À̺í, ½Ã½ºÅÛ Å×À̺í, BLOBÀ妽º¸¦ Æ÷ÇÔÇÑ ¸ÞŸ µ¥ÀÌÅÍ(¼Ó¼ºÁ¤º¸)´Â 1600°³±îÁö¸¸ °¡´ÉÇÏ´Ù.
  • Ŭ·¯½ºÅÍ¿¡¼­ »ý¼ºÇÒ ¼ö ÀÖ´Â Å×ÀÌºí ¼ö´Â ÃÖ´ë 128°³ÀÌ´Ù.
  • ÇϳªÀÇ ·Î¿ì Àüü Å©±â°¡ 8KB°¡ ÃÖ´ëÀÌ´Ù(BLOB¸¦ Æ÷ÇÔÇÏÁö ¾ÊÀº °æ¿ì).
  • Å×À̺íÀÇ Key´Â 32°³°¡ ÃÖ´ëÀÌ´Ù.
  • ¸ðµç Ŭ·¯½ºÅÍÀÇ ±âÁ¾Àº µ¿ÀÏÇØ¾ß ÇÑ´Ù. ±âÁ¾¿¡ µû¸¥ ºñÆ®ÀúÀå¹æ½ÄÀÌ ´Ù¸¥ °æ¿ì¿¡ ¹®Á¦°¡ ¹ß»ýÇϱ⠶§¹®ÀÌ´Ù.
  • ¿î¿µ Áß ½ºÅ°¸¶ º¯°æÀÌ ºÒ°¡´ÉÇÏ´Ù.
  • ¿î¿µ Áß ³ëµå¸¦ Ãß°¡Çϰųª »èÁ¦ÇÒ ¼ö ¾ø´Ù.
  • ÃÖ´ë µ¥ÀÌÅÍ ³ëµåÀÇ ¼ö´Â 48°³ÀÌ´Ù.
  • ¸ðµç ³ëµå´Â 63°³°¡ ÃÖ´ëÀÌ´Ù. (SQL node, Data node, ¸Å´ÏÀú¸¦ Æ÷ÇÔ)


MySQL Cluster FAQ


Cluster ¿Í ReplicationÀÇ Â÷ÀÌ

¸®Çø®ÄÉÀ̼ÇÀº ºñµ¿±âÈ­ ¹æ½ÄÀÌ°í, Ŭ·¯½ºÅÍ´Â µ¿±âÈ­ ¹æ½ÄÀÌ´Ù. µû¶ó¼­ ¸®Çø®ÄÉÀ̼ÇÀº ÀϹæÀûÀ¸·Î µ¥ÀÌŸ¸¦ Àü´ÞÇÏ¿© º¹Á¦¸¦ ÇÏÁö¸¸ Ŭ·¯½ºÅÍ´Â µ¿±â¹æ½ÄÀ̹ǷΠµ¥ÀÌŸ¸¦ º¹Á¦ÇÑ ÈÄ °á°ú¸¦ È®ÀÎÇϱ⠶§¹®¿¡ µ¥ÀÌŸ ´©¶ôÀÌ ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ´Ù¸¸ º¹Á¦ÇÑ °á°ú¸¦ È®ÀÎÇØ¾ß Çϱ⠶§¹®¿¡ Cluster°¡ Replicationº¸´Ù´Â ¼Óµµ°¡ ´À¸®´Ù. ¶ÇÇÑ ReplicationÀÇ °æ¿ì º¹Á¦µÈ µ¥ÀÌÅÍ¿¡ ´ëÇÑ ½Å·Ú¸¦ ÇÒ ¼ö ¾ø´Ù.


Cluster°¡ »ç¿ëÇÏ´Â ³×Æ®¿öÅ© (How do computers in a cluster communicate?)

MySQL Ŭ·¯½ºÅÍ´Â TCP/IP¸¦ ÅëÇØ ¼­·Î Åë½ÅÇÑ´Ù. ÃÖ¼ÒÇÑ 100MbpsÀÇ ÀÌ´õ³ÝÀ» »ç¿ëÇØ¾ß ÇÏ¸ç ¿øÈ°ÇÑ Åë½ÅÀ» À§ÇØ gigabit ÀÌ´õ³ÝÀ» ±Ç°íÇÑ´Ù. ½ÇÁ¦ µ¥ÀÌÅÍ°¡ ¸Þ¸ð¸®¿¡ Á¸ÀçÇÏ¿© »ç¿ëµÇ¸ç ¹°¸®ÀûÀÎ Ãø¸é¿¡¼­ ºÃÀ» ¶§ CPU, ¸Þ¸ð¸®, °¢ ³ëµå°£ÀÇ Åë½ÅÀ» À§ÇÑ ³×Æ®¿öÅ·ÀÌ ÁÖ¸¦ ÀÌ·é´Ù. ÀÌÁß °¡Àå ¼Óµµ°¡ ´À¸° ³×Æ®¿öÅ©ÀÇ ¼Óµµ¸¦ ³ôÀÓÀ¸·Î½á ÀüüÀûÀÎ ºü¸¥ µ¿ÀÛÀÌ °¡´ÉÇϵµ·Ï ÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ, ´õ¿í ºü¸¥ SCI ÇÁ·ÎÅäÄݵµ Áö¿øÇϸç, À̴ ƯÁ¤ Çϵå¿þ¾î¸¦ ÇÊ¿ä·Î ÇÑ´Ù.


Ŭ·¯½ºÅ͸¦ ±¸¼ºÇϱâ À§ÇØ ÄÄÇ»ÅÍ°¡ ¾ó¸¶³ª ÇÊ¿äÇÑ°¡?

ÃÖ¼ÒÇÑ 3´ë°¡ ÀÖ¾î¾ß Ŭ·¯½ºÅÍ ±¸¼ºÀÌ °¡´ÉÇϳª, MGM ³ëµå¿Í SQL ³ëµå, ½ºÅ丮Áö ³ëµå µÑ, ÀÌ·¸°Ô 4 ´ë·Î ±¸¼ºÇÏ±æ ±ÇÇÑ´Ù. ÇϳªÀÇ ³ëµå°¡ ½ÇÆÐÇßÀ» ¶§ Áö¼ÓÀûÀÎ ¼­ºñ½º¸¦ Çϱâ À§Çؼ­ MGM³ëµå´Â ºÐ¸®µÈ ÄÄÇ»ÅÍ¿¡¼­ ½ÇÇàµÇ¾î¾ß ÇÑ´Ù.


Ŭ·¯½ºÅÍ¿¡¼­ °¢ ÄÄÇ»Å͵éÀÌ ÇÏ´Â ÀÏÀº?

MySQL Ŭ·¯½ºÅÍ´Â ¹°¸®Àû, ³í¸®ÀûÀ¸·Î ±¸¼ºµÈ´Ù. ÄÄÇ»ÅÍ´Â ¹°¸®Àû ¿ä¼ÒÀ̸ç È£½ºÆ®¶ó°í ºÒ¸®±âµµ ÇÑ´Ù. ³í¸®Àû, ±â´ÉÀû ¿ä¼Ò´Â ³ëµåÀÌ´Ù. ³ëµå´Â ¿ªÇÒ¿¡ µû¶ó MGM ³ëµå, data ³ëµå(ndbd), SQL ³ëµå·Î ³ª´¶´Ù.


¾î¶² OS¿¡¼­ »ç¿ëÇÒ ¼ö Àִ°¡?
MySQL 4.1.12 ÇöÀç MySQL Ŭ·¯½ºÅÍ´Â °ø½ÄÀûÀ¸·Î Linux, Mac OS X, Solaris¸¦ Áö¿øÇÑ´Ù.


MySQL Ŭ·¯½ºÅÍ°¡ ¿ä±¸ÇÏ´Â Çϵå¿þ¾î »ç¾çÀº?

NDB°¡ ¼³Ä¡µÇ°í ½ÇÇàµÇ´Â ¸ðµç Ç÷§ÆûÀÌ¸é °¡´ÉÇϳª, ´ç¿¬È÷ ºü¸¥ CPU, ³ôÀº ¸Þ¸ð¸®¿¡¼­ ´õ ¼º´ÉÀÌ ÁÁ´Ù(64-bit CPU¿¡¼­ ´õ ºü¸£´Ù). ³×Æ®¿öÅ©Àº ÀÏ¹Ý TCP/IP¸¦ Áö¿øÇÏ¸é µÇ°í, SCI ¸¦ Áö¿øÇÏ·Á¸é ƯÁ¤ Çϵå¿þ¾î°¡ ¿ä±¸µÈ´Ù.


MySQL Ŭ·¯½ºÅÍ°¡ TCP/IP¸¦ ÀÌ¿ëÇÑ´Ù¸é Çϳª ÀÌ»óÀÇ ³ëµå¸¦ ÀÎÅͳÝÀ» ÅëÇØ ´Ù¸¥ °÷¿¡¼­ ½ÇÇà½Ãų ¼ö Àִ°¡?

°¡´ÉÇÏ´Ù. ÇÏÁö¸¸ MySQL Ŭ·¯½ºÅÍ´Â ¾î¶°ÇÑ º¸¾Èµµ Á¦°øµÇÁö ¾ÊÀ¸¹Ç·Î, ¿ÜºÎ¿¡¼­ Ŭ·¯½ºÅÍ µ¥ÀÌÅÍ ³ëµå³ª ¸Å´ÏÀú ³ëµå¿¡ Á÷Á¢ Á¢±ÙÇÏÁö ¸øÇϵµ·Ï ÇØ¾ß ÇÑ´Ù.


Ŭ·¯½ºÅÍ »ç¿ëÀ» À§ÇØ »õ·Î¿î ÇÁ·Î±×·¡¹Ö ¾ð¾î³ª Äõ¸®¸¦ ¹è¿ö¾ß Çϳª?

Ç¥ÁØ (My)SQL Äõ¸®³ª ¸í·ÉÀ» »ç¿ëÇϹǷΠ±×·¯Áö ¾Ê¾Æµµ µÈ´Ù.


Ŭ·¯½ºÅÍ »ç¿ë ½Ã ¿¡·¯³ª °æ°í ¸Þ½ÃÁö´Â ¾îµð¼­ 㳪 ?
µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. MySQLâ¿¡¼­ SHOW ERRORS³ª SHOW WARNINGS·Î È®ÀÎÇÏ´Â ¹æ¹ý°ú ÇÁ·ÒÇÁÆ® »óÅ¿¡¼­ perror --ndb error-code ¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù.


MySQL Cluster transaction-safe? ¾î¶² Å×À̺í ŸÀÔÀÌ Å¬·¯½ºÅ͸¦ Áö¿øÇϳª?
MySQL¿¡¼­ NDB ½ºÅ丮Áö ¿£Áø°ú »ý¼ºµÈ Å×À̺íÀº Æ®·£Àè¼ÇÀ» Áö¿øÇÑ´Ù. NDB´Â Ŭ·¯½ºÅ͸µ¸¸ Áö¿øÇÏ´Â MySQL ½ºÅ丮Áö ¿£ÁøÀÌ´Ù.


"NDB" ÀÇ Àǹ̴Â?
"Network Database".


Ŭ·¯½ºÅ͸¦ Áö¿øÇÏ´Â MySQL ¹öÀüÀº? ¼Ò½º¸¦ ÄÄÆÄÀÏ ÇØ¾ß Çϳª?

MySQL-max 4.1.3ºÎÅÍ Áö¿øÇÑ´Ù. ¹ÙÀ̳ʸ® ÆÄÀÏÀº ÄÄÆÄÀÏÀ» ÇÒ ÇÊ¿ä°¡ ¾ø´Ù.


RAMÀº ¾ó¸¶³ª ÇÊ¿äÇÑ°¡? µð½ºÅ©´Â »ç¿ëÇÏÁö ¸øÇϳª?

Ŭ·¯½ºÅÍ´Â ¿ÀÁ÷ in-memoryÀ̸ç, ¸ðµç Å×ÀÌºí µ¥ÀÌÅÍ(À妽º Æ÷ÇÔ)°¡ RAM¿¡ ÀúÀåµÈ´Ù. Ŭ·¯½ºÅÍ¿¡¼­ ÇÊ¿äÇÑ RAM¿ë·®Àº ´ÙÀ½ °ø½ÄÀ¸·Î °è»êÇÑ´Ù. (SizeofDatabase * NumberOfReplicas * 1.1 ) / NumberOfDataNodes


ERROR 1114: The table 'my_cluster_table' is full

À§¿Í °°Àº ¿¡·¯°¡ ¹ß»ýÇßÀ» ¶§´Â ÇÒ´çµÈ ¸Þ¸ð¸®°¡ ºÎÁ·ÇÑ °æ¿ìÀÌ´Ù.


FULL TEXT À妽º¸¦ Áö¿øÇϴ°¡?

ÇöÀç Áö¿øÇÏÁö ¾Ê´Â´Ù.


ÇϳªÀÇ ÄÄÇ»ÅÍ¿¡¼­ ¿©·¯ °³ÀÇ ³ëµå°¡ µ¹¾Æ°¡´Â°¡?

°¡´ÉÇϱä ÇÏÁö¸¸ ±ÇÇÏÁø ¾Ê´Â´Ù. °¢ ³ëµåµéÀÌ ´Ù¸¥ ÄÄÇ»ÅÍ¿¡¼­ ½ÇÇàµÇ´Â °ÍÀÌ ´õ ¾ÈÁ¤ÀûÀÌ´Ù.


Ŭ·¯½ºÅ͸¦ Àç½ÃÀÛÇÏÁö ¾Ê°í ³ëµå¸¦ Ãß°¡ÇÒ ¼ö Àִ°¡?

ÇÒ ¼ö ¾ø´Ù. MGM À̳ª SQL ³ëµå¸¦ Ãß°¡ÇÏ·Á¸é »õ·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù.


¾î¶»°Ô ±âÁ¸ÀÇ MySQL µ¥ÀÌÅͺ£À̽º¸¦ Ŭ·¯½ºÅÍ·Î ÀÓÆ÷Æ® Çϴ°¡?

ENGINE=NDB ³ª ENGINE=NDBCLUSTER ¿É¼ÇÀ» °¡Áø Å×À̺íÀº ÀÓÆ÷Æ®ÇÒ ¼ö ÀÖ´Ù. ¶Ç´Â ALTER ±â´ÉÀ¸·Î ±âÁ¸ÀÇ Å×À̺íÀ» Ŭ·¯½ºÅÍ·Î º¯È¯ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

- ALTER TABLE OLD_TABLE ENGINE=NDBCLUSTER;


Arbitrator¶õ ?

Ŭ·¯½ºÅÍ¿¡¼­ ÇÑ °³ ȤÀº ±× ÀÌ»óÀÇ ³ëµå°¡ ½ÇÆÐÇÒ °æ¿ì, MGM ¼­¹ö³ª ´Ù¸¥ ³ëµå°¡ ±× ³ëµåÀÇ ¿ªÇÒÀ» ´ë½ÅÇÏ¿© ´Ù¸¥ ³ëµåµé·Î ÇÏ¿©±Ý ½ÇÆÐÇÑ ³ëµå¿Í °°Àº ³ëµå·Î ÀνÄÇÏ°Ô ÇÏ´Â ±â´ÉÀ» ÇÑ´Ù. ÀÌ·±ÇÑ ¿ªÇÒÀ» ÇÏ´Â ³ëµå¸¦ ÁßÀçÀÎÀ̶ó°í ÇÑ´Ù.


Ŭ·¯½ºÅÍ shut down½Ã¿¡ ¾î¶² ÀÏÀÌ ÀϾ´Â°¡?

Ŭ·¯½ºÅÍ µ¥ÀÌÅÍ ³ëµåÀÇ ¸Þ¸ð¸®¿¡ ÀÖ´ø µ¥ÀÌÅÍ°¡ µð½ºÅ©¿¡ ¾²¿©Áö°í, ±× ´ÙÀ½¿¡ Ŭ·¯½ºÅÍ°¡ ½ÃÀÛµÉ ¶§ ´Ù½Ã ¸Þ¸ð¸®¿¡ ·ÎµåµÈ´Ù.


Ŭ·¯½ºÅÍ¿¡¼­ ´Ù¸¥ ¸Å´ÏÀú ³ëµå¸¦ ±¸¼ºÇÏ´Â °ÍÀº?

fail-safe¿¡ À־ µµ¿òÀÌ µÈ´Ù. ´ÜÁö ÇϳªÀÇ MGM ³ëµå ¸¸ÀÌ Å¬·¯½ºÅ͸¦ ÄÁÆ®·Ñ ÇÒ ¼ö ÀÖÁö¸¸ MGM ³ëµå Çϳª¸¦ primary·Î, Ãß°¡ÀÇ ¸Å´ÏÀú ³ëµå¸¦ primary MGM ³ëµå°¡ ½ÇÆÐÇßÀ» ¶§ Àΰè¹Þµµ·Ï ÇÏ¸é µÈ´Ù.


5. MySQL Cluster Glossary


Cluster

ÀϹÝÀûÀ¸·Î Cluster´Â ÇϳªÀÇ ¾÷¹«¸¦ ¼öÇàÇϱâ À§ÇØ ÇÔ²² µ¿ÀÛÇÏ´Â ÄÄÇ»ÅÍ ¼¼Æ®ÀÌ´Ù. NDB Cluster´Â ÀÚ·áÀúÀå, º¹±¸, ÄÄÇ»ÅÍ °£ÀÇ ºÐ¹è °ü¸® µîÀ» ½ÃÇàÇϱâ À§ÇØ MySQLÀ» »ç¿ëÇÏ´Â Storge Engine ÀÌ´Ù. MySQL Cluster´Â in-memory storage¸¦ »ç¿ëÇÑ shared-noting ¾ÆÅ°ÅØÃÄ¿¡¼­ ºÐ»êµÈ MySQL DB¸¦ Áö¿øÇϱâ À§ÇØ NDB¿£ÁøÀ» »ç¿ëÇÏ¿© ÇÔ²² µ¹¾Æ°¡´Â ÄÄÇ»ÅÍ ±×·ìÀÌ´Ù.


Configuration Files

Ŭ·¯½ºÅÍ, È£½ºÆ®, ³ëµå¿¡ °ü°èµÈ Á÷Á¢ÀûÀÎ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏÀÌ´Ù. Ŭ·¯½ºÅÍ ½ÃÀÛ ½Ã ClusterÀÇ MGM ³ëµå°¡ ÀоîµéÀδÙ.


Backup

µð½ºÅ©³ª ´Ù¸¥ Long-term Storage¿¡ ÀúÀåµÇ´Â ¸ðµç Ŭ·¯½ºÅÍ µ¥ÀÌŸ, Æ®·£Á§¼Ç, ·Î±×ÀÇ ¿ÏÀüÇÑ Ä«ÇǸ¦ ¸»ÇÑ´Ù.


Restore

¹é¾÷¿¡ ÀúÀåµÇ´Â °Í°ú °°ÀÌ Å¬·¯½ºÅÍ¿¡ ±× Àü »óÅ·ΠµÇµ¹¸®´Â °ÍÀ» ¸»ÇÑ´Ù.


CheckPoint

ÀϹÝÀûÀ¸·Î µ¥ÀÌŸ°¡ µð½ºÅ©¿¡ ÀúÀåµÉ ¶§ üũÆ÷ÀÎÆ®¿¡ µµ´ÞÇÑ´Ù°í ¸»ÇÑ´Ù. Ŭ·¯½ºÅÍ¿¡¼­´Â CommittedµÈ Æ®·£Àè¼ÇÀ» µð½ºÅ©¿¡ ÀúÀåÇÏ´Â ½Ã°£À» ¸»ÇÑ´Ù. NDB Storage Engine¿¡´Â ÀÏ°üµÇ°Ô Ŭ·¯½ºÅÍÀÇ µ¥ÀÌŸ¸¦ º¸Á¸Çϱâ À§ÇØ µÎ Á¾·ùÀÇ CheckPoint°¡ ÀÖ´Ù. LocalCheckPoint(LCP) : ½Ì±Û ³ëµåÀÇ Ã¼Å©Æ÷ÀÎÆ®. ±×·¯³ª Ŭ·¯½ºÅÍÀÇ ¸ðµç ³ëµå¿¡¼­ LCP¸¦ »ç¿ëÇÑ´Ù. LCP´Â µð½ºÅ©¿¡ ³ëµåÀÇ ¸ðµç µ¥ÀÌŸ¸¦ ÀúÀåÇϵµ·Ï ÇÑ´Ù(º¸Åë ¸Å ¸î ºÐ¸¶´Ù). Ŭ·¯½ºÅÍ ActivityÀÇ ³ëµå¿Í ·¹º§, ´Ù¸¥ ¿äÀο¡ ÀÇÇØ ÀúÀåµÇ´Â µ¥ÀÌŸÀÇ ¾çÀº ÀÇÁ¸ÀûÀÌ´Ù. GlobalCheckPoint(GCP) : GCP´Â ¸ðµç ³ëµåÀÇ Æ®·£Àè¼ÇÀÌ µ¿±âÈ­µÇ°í, redo-log°¡ Disk¿¡ ÀúÀåµÉ ¶§ ¸î ºÐ¸¶´Ù ¹ß»ýÇÑ´Ù.


Cluster Host

MySQL ClusterÀÇ ±¸¼º ÄÄÇ»ÅÍ. Ŭ·¯½ºÅÍ´Â ¹°¸®Àû ±¸Á¶¿Í ³í¸®Àû ±¸Á¶¸¦ °¡Áø´Ù. ¹°¸®ÀûÀ¸·Î Ŭ·¯½ºÅÍ´Â Cluster Host¶ó´Â ÄÄÇ»ÅÍÀÇ ¼ö·Î ±¸¼ºµÈ´Ù.


Node

MySQL ClusterÀÇ ³í¸®Àû, ±â´ÉÀû ¿ä¼Ò¸¦ ¸»Çϸç Cluster Node¶ó°íµµ ÇÑ´Ù. MySQL Cluster¿¡¼­´Â node¶õ ¿ë¾î¸¦ ClusterÀÇ ¹°¸®Àû ComponentÀÎ Process¸¦ ÁöĪÇÑ´Ù. MySQL Cluster°¡ µ¿ÀÛÇϱâ À§ÇØ 3°¡Áö ŸÀÔÀÇ ³ëµå°¡ ÀÖ´Ù.


MGM node - MySQL Cluster¿¡¼­ ´Ù¸¥ ³ëµåµéÀÇ ¼³Á¤ Á¤º¸, ³ëµåÀÇ ½ÃÀÛ°ú Á¤Áö, ³×Æ®¿öÅ© ÆÄƼ¼Å´×, ¹é¾÷°ú ÀúÀå µîÀ» Æ÷ÇÔÇÏ¿© ´Ù¸¥ ³ëµåµéÀ» °ü¸®ÇÑ´Ù.


SQL node (MySQL Server) - Ŭ·¯½ºÅÍÀÇ µ¥ÀÌÅÍ ³ëµå¾È¿¡ ÀúÀåµÈ µ¥ÀÌÅ͸¦ Serve ÇÏ´Â MySQL Server ÀνºÅϽº. µ¥ÀÌŸ¸¦ ÀúÀå, ºÐ¹è, ¾÷µ¥ÀÌÆ®Çϴ Ŭ¶óÀ̾ðÆ®´Â MySQL Server¸¦ ÅëÇØ Á¢±Ù °¡´ÉÇÏ´Ù.


Data node - ÀÌ ³ëµå´Â ½ÇÁ¦ µ¥ÀÌŸ¸¦ ÀúÀåÇÑ´Ù. ÇöÀç ½Ì±Û Å¬·¯½ºÅÍ´Â ÃÑ 48°³ÀÇ µ¥ÀÌŸ ³ëµå¸¦ Áö¿øÇÑ´Ù.

½Ì±Û ¸Ó½Å¿¡ ÇÑ °³ ÀÌ»óÀÇ ³ëµå°¡ °øÁ¸ÇÒ ¼öµµ ÀÖ°í, ÇÑ ¸Ó½Å¿¡ ¿ÏÀüÇÑ Å¬·¯½ºÅ͸¦ ±¸¼ºÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. MySQL Ŭ·¯½ºÅÍ¿¡¼­ È£½ºÆ®´Â Ŭ·¯½ºÅÍÀÇ ¹°¸®Àû ÄÄÆÛ³ÍÆ®À̸ç, ³ëµå´Â ³í¸®Àû ȤÀº ±â´ÉÀûÀÎ ÄÄÆÛ³ÍÆ®, Áï ÇÁ·Î¼¼½º¶ó´Â °ÍÀ» ÀØÁö ¸»ÀÚ.


Node group

µ¥ÀÌÅÍ ³ëµåÀÇ ÁýÇÕ. ³ëµå ±×·ì ¾ÈÀÇ ¸ðµç µ¥ÀÌÅÍ ³ëµå´Â °°Àº µ¥ÀÌÅÍ(fragment)¸¦ Æ÷ÇÔÇÑ´Ù. ±×¸®°í ½Ì±Û ±×·ìÀÇ ¸ðµç ³ëµå´Â ´Ù¸¥ È£½ºÆ®¿¡ Á¸ÀçÇØ¾ß ÇÑ´Ù.


Node failure

MySQL Ŭ·¯½ºÅʹ Ŭ·¯½ºÅ͸¦ ±¸¼ºÇÏ´Â ¾î´À ÇÑ ³ëµåÀÇ ±â´É¿¡¸¸ ÀÇÁ¸ÀûÀÌÁö ¾Ê´Ù. Ŭ·¯½ºÅÍ´Â Çϳª ȤÀº ¸î °³ÀÇ ³ëµå°¡ ½ÇÆÐÇصµ °è¼ÓµÉ ¼ö ÀÖ´Ù.


Node restart

½ÇÆÐÇÑ Å¬·¯½ºÅÍ ³ëµåÀÇ ¸®½ºÅ¸Æà °úÁ¤.


Initial node restart

³ëµåÀÇ ÀÌÀüÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» Áö¿ì°í ½ÃÀÛÇϴ Ŭ·¯½ºÅÍ ³ëµåÀÇ °úÁ¤. ¼ÒÇÁÆ®¿þ¾î Çâ»ó°ú ±× ¹ÛÀÇ Æ¯º°ÇÑ »óȲ µî¿¡ »ç¿ëµÈ´Ù.


System crash(or System fail)

Ŭ·¯½ºÅÍÀÇ »óÅ°¡ È®ÀεÇÁö ¾Ê´Â µî ¸¹Àº Ŭ·¯½ºÅÍ ³ëµå°¡ ½ÇÆÐÇßÀ» ¶§ ÀϾ ¼ö ÀÖ´Ù.


System restart

Ŭ·¯½ºÅÍÀÇ ¸®½ºÅ¸Æðú µð½ºÅ© ·Î±× ¹× üũ Æ÷ÀÎÆ®·ÎºÎÅÍ reinstallÇÏ´Â ÇÁ·Î¼¼½º¸¦ ¸»ÇÑ´Ù. Ŭ·¯½ºÅ͸¦ shutdown ÇÑ ÀÌÈÄ¿¡ ÀϾ´Â °úÁ¤ÀÌ´Ù.


fragment

µ¥ÀÌÅͺ£À̽º Å×À̺íÀÇ ÇÑ ºÎºÐ. NDB½ºÅ丮Áö ¿£Áø¿¡¼­ Å×À̺íÀ» ³ª´©¾î fragmentsÀÇ ¼ö¿¡ µû¶ó ÀúÀåÇÑ´Ù. Fragment´Â ÆÄƼ¼ÇÀ̶ó ºÒ¸®±âµµ ÇÑ´Ù. MySQL Ŭ·¯½ºÅÍ¿¡¼­ Å×À̺íÀº, ¸Ó½Å°ú ³ëµå °£ÀÇ ·Îµå ¹ë·±½ÌÀ» ¿ëÀÌÇÏ°Ô ÇÒ ¼ö ÀÖµµ·Ï fragmentµÈ´Ù.


Replica

NBD ½ºÅ丮Áö ¿£Áø¿¡¼­ °¢ Å×À̺í ÇÁ·¹±×¸ÕÆ®´Â ¿©ºÐÀ» Æ÷ÇÔÇÏ¿© ´Ù¸¥ µ¥ÀÌÅÍ ³ëµå¿¡ ÀúÀåµÈ ¸¹Àº replica¸¦ °®´Â´Ù. ÇöÀç´Â fragment ´ç 4°³ ÀÌ»óÀÇ replica°¡ °¡´ÉÇÏ´Ù.


Transpoter

³ëµåµé °£ÀÇ µ¥ÀÌÅÍ À̵¿À» Á¦°øÇÏ´Â ÇÁ·ÎÅäÄÝ TCP/IP(local), TCP/IP(remote), SCI, SHM(MySQL 4.1 ¹öÀü¿¡¼­ ½ÇÇèÀûÀÓ)


NDB(Network DataBase)

NDB´Â MySQLŬ·¯½ºÅÍ¿¡¼­ »ç¿ëÇÏ´Â ½ºÅ丮Áö ¿£ÁøÀ» ¸» ÇÔ. NDB ½ºÅ丮Áö ¿£ÁøÀº ¸ðµç ÀϹÝÀûÀÎ MySQL Ä÷³ ŸÀÔ°ú SQL¹®À» Áö¿øÇϸç, ACID(DB¹«°á¼º º¸ÀåÀ» À§ÇÑ Æ®·£Àè¼Ç)¼ºÁúÀ» °¡Áø´Ù.


Shared-nothing architecture

MySQL Ŭ·¯½ºÅÍÀÇ ÀÌ»óÀûÀÎ ¾ÆÅ°ÅØÃÄ. ÁøÁ¤ÇÑ Shared-nothing setup ¿¡¼­ °¢ ³ëµå´Â ºÐ¸®µÈ È£½ºÆ®¿¡¼­ ½ÇÇàµÈ´Ù. ÀÌ·¯ÇÑ ¹è¿­Àº ½Ì±Û È£½ºÆ®³ª ½Ì±Û ³ëµå°¡ ¾Æ´Ï¸é SOF³ª ½Ã½ºÅÛ º´¸ñÇö»óÀÌ ÀüüÀûÀ¸·Î ¹ß»ýÇÒ ¼ö ÀÖ´Ù´Â µ¥ ÀÖ´Ù.


In-memory storage

°¢ µ¥ÀÌÅÍ ³ëµå¿¡ ÀúÀåµÈ ¸ðµç µ¥ÀÌÅÍ´Â ±× ³ëµåÀÇ È£½ºÆ® ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸®¿¡ À¯ÁöµÈ´Ù. Ŭ·¯½ºÅÍÀÇ °¢ µ¥ÀÌÅÍ ³ëµå¸¦ À§ÇØ, (µ¥ÀÌÅÍ ³ëµåÀÇ ¼ö·Î ³ª´¶ replicaÀÇ ¼ö * µ¥ÀÌÅͺ£À̽º »çÀÌÁî)¸¸Å­ÀÇ °¡¿ë RAMÀÇ ¾çÀ» È®º¸ÇØ µÎ¾î¾ß ÇÑ´Ù. ±×·¯´Ï±î, µ¥ÀÌÅͺ£À̽º°¡ 1±â°¡ÀÇ ¸Þ¸ð¸®¸¦ Â÷ÁöÇÏ°í, 4°³ÀÇ replica¿Í 8°³ÀÇ ³ëµå·Î Ŭ·¯½ºÅ͸¦ ±¸¼ºÇÏ°íÀÚ Çϸé, °¢ ³ëµå´ç ÃÖ¼Ò 500MBÀÇ ¸Þ¸ð¸®°¡ ÇÊ¿äÇÏ´Ù. ±×¸®°í OS¿Í ´Ù¸¥ ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥ÀÌ ¾²´Â ¸Þ¸ð¸®°¡ Ãß°¡·Î ÇÊ¿äÇÏ´Ù.


Table

°ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡¼­´Â tableÀº ÀϹÝÀûÀ¸·Î µ¿ÀÏÇÏ°Ô ±¸Á¶È­µÈ ·¹ÄÚµåÀÇ setÀ» °¡¸®Å²´Ù. MySQL Ŭ·¯½ºÅÍ¿¡¼­ µ¥ÀÌÅͺ£À̽º Å×À̺íÀº fragmentÀÇ setÀ¸·Î½á µ¥ÀÌÅÍ ³ëµå¿¡ ÀúÀåµÇ°í, °¢ fragment´Â Ãß°¡·Î µ¥ÀÌÅÍ ³ëµå¿¡ º¹Á¦µÈ´Ù. °°Àº fragment¸¦ replicateÇÑ µ¥ÀÌÅÍ ³ëµåÀÇ setÀ̳ª fragmentÀÇ setÀ» ³ëµå ±×·ìÀ̶ó ÇÑ´Ù.


Cluster Programs : ¸í·É¾îµé

¼­¹ö µ¥¸ó
  • ndbd : µ¥ÀÌÅÍ ³ëµå µ¥¸ó
  • ndb_mgmd : MGM¼­¹ö µ¥¸ó
Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥
  • ndb_mgm : MGM Ŭ¶óÀ̾ðÆ®
  • ndb_waiter : Ŭ·¯½ºÅÍÀÇ ¸ðµç ³ëµåµéÀÇ »óŸ¦ È®ÀÎÇÒ ¶§ »ç¿ë
  • ndb_restore : ¹é¾÷À¸·ÎºÎÅÍ Å¬·¯½ºÅÍÀÇ µ¥ÀÌÅ͸¦ º¹±¸ÇÒ ¶§ »ç¿ë

Contributors

óÀ½ ÀÛ¼ºÀÚ : ¼ÛÀº¿µ,f405(ccotti22) f405@naver.com (2006.2.1 15:37)

ÀÛ¼ºÀÏ : 2005³â 8¿ù 10ÀÏ ¼ö¿äÀÏ

ÀÌ ¹®¼­´Â MySQL Cluster 4.0´ëÀÇ ¸Å´º¾óÀ» ¹ø¿ª, Á¤¸®ÇÑ °ÍÀ¸·Î Ʋ¸° ºÎºÐÀ» ´Ù¼Ò Æ÷ÇÔÇÒ ¼ö ÀÖÀ¸¸ç, Àú´Â ±×¿¡ ´ëÇÑ Ã¥ÀÓÀ» ÁöÁö ¾Ê°Ú½À´Ï´Ù.

ºÎÁ·ÇÏÁö¸¸ ´Ù¸¥ ºÐµéµµ °øºÎÇϴµ¥ µµ¿òÀÌ µÇ±æ ¹Ù¶ø´Ï´Ù.

±×¸®°í ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇϱâ Àü Âü°íÇÑ ¸®´ª½º ¹× MySQL ¹®¼­µéÀ» ÀÛ¼ºÇϽŠ¸¹Àº ¼±¹è´Ôµé¿¡°Ô °¨»çÀÇ ¸»¾¸À» µå¸³´Ï´Ù. ±×¸®°í ÀÌ °æ¾î´Â »ý·«ÇÏ¿´½À´Ï´Ù. ¾çÇØÀÇ ¸»¾¸À»...





ID
Password
Join
It is the wise bird who builds his nest in a tree.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-04-04 13:34:53
Processing time 0.0127 sec