· 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
The person you rejected yesterday could make you happy, if you say yes.


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.0131 sec