일단은 SQL 쪽은 초보입니다.
데이터는 간신히 웹서핑해가면서 import 했습니다.
연구용 건강보험 데이터인데요
대략 구조가 테이블 6개 정도
레코드는 아주 작은 size 로 10억건 정도 됩니다.
primary key 는 모든 table 에 없습니다. (ID 나 청구번호 등이 중복되어서요)
이것에 대한 쿼리를 처리해주는 서버를 하나 올려야 되는데요.
DB server 는 무조건 스토리지에 투자하라는 글을 여러번 읽어서
SSD 4개로 raid0 (백업은 따로) 볼륨으로 사용을 해보았더니
쿼리 처리 속도가 SSD 단일 보다 빠르지 않았습니다.
쿼리는 테이블 1에서 환자 ID, 테이블 2에서 청구서 번호, 테이블 3에서 진단코드 를 조인하는 간단한 쿼리인데요
레코드 수가 많아서 그런지 쿼리 한판에 3~10 분 정도 소요가 됩니다.
이 시간을 줄일 수 있는 묘수가 있을까요?
DB 는 innodb 입니다.
DB 튜닝을 하라 하시면 사람을 불러야 되고요
하드웨어를 업글하라고 하시면 사면되겠는데
어느쪽부터 손을 보는 것이 현명한 일인지 여쭙습니다.
¾Æ·¡´Â ±×Àú ÇÏ´Â ¼Ò¸®ÀÔ´Ï´Ù.
SSD raid 0´Â ¿¬¼Ó ¾²±â³ª ÀбⰡ »¡¶óÁú»ÓÀÌ°í DB°°Àº 4k ¼Óµµ´Â ±×´ë·Î°Å³ª ´õ´À·ÁÁö°í
ÀÎÅÚ ³»Àå·¹À̵带 ¾µ°æ¿ì DMIÀÚüÀÇ ´ë¿ªÆø ÇÑ°è°¡ Àֱ⶧¹®¿¡ ¾îÂ÷ÇÇ º´¸ñÀÌ »ý±é´Ï´Ù
NVMe SSD·Î DB¸¦ Çغ¸½Ã´Â°Ç ¾î¶°½ÅÁö¿ä?
4k ¼Óµµ°¡ AHCI¿¡ ºñÇؼ ¸Å¿ì ³ô°í
ÀÚü ·¹ÀÌÅϽõµ ¸Å¿ì ³·±â ¶§¹®¿¡ DB°°Àº°Å¿¡ ÁÁÁö ¾ÊÀ»±îÇÕ´Ï´Ù.
¹°·Ð CPU Ŭ·°»¡µµ ÁÁÀ¸¸é ÁÁÁ®
»ç¿ëÇϽô Çϵå¿þ¾î Àüü¸¦ »ó¼¼È÷ °¡¸£ÃÄ ÁÖ¼¼¿ä..
Âü°í·Î Àü ÇÁ·Î±×·¥, µðºñ°°Àº°Å ÀüÇô ¸ð¸¨´Ï´Ù..
±×·±µ¥, SQL Æ©´×µµ ³ª¸§...´Ü°è°¡ ÀÖÀ¸´Ï....
±¦Âú°Ô Æ©´×ÇÏ´Â »ç¶÷À» ¼·¿ÜÇϽñ⠹ٶø´Ï´Ù.
¸¸ÀÏ ±×·¡µµ, ¾ÈµÈ´Ù¸é....HWÀûÀÎ Æ©´×Àε¥...ÀÌ°Ç, HW ÀÇ ¼º´ÉÇâ»óÆø¸¸Å SQL ¼º´ÉÀÇ Çâ»óÀÌ µÇ´Ùº¸´Ï...
ºñ¿ë°ú È®ÀåÀÇ ÇÑ°èÀÇ ¹®Á¦°ÚÁÒ
±×·±µ¥, 10¾ï°ÇÀε¥...3~10ºÐÀ̳ª °É¸®´Ù´Ï...°³ÀÎÀûÀ¸·Î ±Ã±ÝÇϱä Çϳ׿ä
(¿À¶óŬ DBA/Æ©³Ê ÀÔÀå¿¡¼¿ä....¹¹ MYSQLµµ °£´ÜÇÑ°Ç ÇÏÁö¸¸¿ä....±×³É...¿£Áö´Ï¾îÀûÀ¸·Î ±Ã±ÝÇϱä Çϳ׿ä)
Çѹø Æ©´×Çغ¸°í ½Í±äÇϳ׿ä....
SSD°¡ ¿Âº¸µå SATA³ª ¿Âº¸µå SAS·Î ¹¾ú´Ù¸é ºÎµå·´Áö´Â ¾Ê°Ú³×¿ä..(±×·¸´Ù°í µð½ºÅ© ¹Àº °Íº¸´Ù´Â ÆÛÆ÷¸Õ½º´Â ÁÁ½À´Ï´Ù.)
ij½¬ ´Þ¸° ·¹À̵åÄ«µå¿¡ SAS HDD 4-8°³ Á¤µµ 1+0À¸·Î ¹¾îÁÖ¸é ´õ È®½ÇÇÒ °ÍÀÔ´Ï´Ù..
Àú´Â ÀÏ´Ü ·¹À̵å ÆÄÀÎÁö¶ó..
ÇÁ·Î±×·¥ Æ©´×ÀÌ ´õ Áß¿äÇغ¸ÀÔ´Ï´Ù..
select * where ... ÇÏ·çÁ¾ÀÏ ÀÔ´Ï´Ù..
SELECT * FROM nhid.gj INNER JOIN nhid.gy20 ON nhid.gj.PERSON_ID = nhid.gy20.PERSON_ID;
¿ä°Ô ±×³ª¸¶ 3ºÐ Á¤µµ Äõ¸®±¸¿ä
nhid.gj ´Â ·¹ÄÚµå 220¸¸, nhid.gy20 Àº ·¹ÄÚµå 1¾ï2õ¸¸°ÇÀÇ ºñ±³Àû ÀÛÀº(?) Å×À̺íÀÔ´Ï´Ù.
200¸¸°Ç¿¡¼ 1¾ï2õ¸¸°ÇÀ» ºñ±³ ÇؾߵǴÏ
±×Á¤µµ ½Ã°£Àº °É¸±µí ÇÕ´Ï´Ù..
200¸¸ * 1¾ï2õ¸¸ ....
ÇöÀç Äõ¸®¹®Àº ƯÁ¤ Å°°ª¾øÀÌ µÎ Å×À̺íÀÇ °ªÀÌ ÀÖ´Â³Ä ÀÔ´Ï´Ù..
¹¹¶§¹®¿¡ ÀÌ·±¾¿ÀÇ ºñ±³ Äõ¸®¸¦ ÇؾߵǴÂÁö´Â ¸ð¸£°Ú³×¿ä..
Àμ⹰Àΰ¡¿ä??..
¾î¶² ¾÷¹«¿¡ ÇÊ¿äÇÑ°Ç°¡¿ä??..
¾÷¹«´Â °Ç°º¸ÇèÀû¿ë ÇàÅ ºÐ¼®ÀÔ´Ï´Ù. ( ¹¹ ¹«½¼ Áø´ÜÀº Áø·áºñ°¡ ¾î¼°í ÀÇ·áÀÚ¿øÀÌ ¾î¼°í ÀÌ·±.. )
¾Æ·¡³»¿ëµµ °í·ÁÇÏ°Ú½À´Ï´Ù.
´Ù¸¥ ¹æ¹ýÀº db Å×À̺íÀ» ÂÉ°³¾î »ç¿ë ÇÏ´Â °ÍÀÔ´Ï´Ù..
1¾ï2õ¸¸°ÇÀÇ ÀڷḦ nhid.gy20-1,nhid.gy20-2....
ÀÌ·¸°Ô ³ª´©¾î ±â°£º° °Ë»öÀ¸·Î ÇϽÉÀÌ..
ÀúÀ§ ó·³ Äõ¸®¹® °É¸®¸é ³¡³¯¶§±îÁö ±â´Ù·Á¾ßµË´Ï´Ù..
¾Æ´Ï¸é ¿À¶óŬ....
ÇÏÁö¸¸ ´ëºÎºÐ Á¤È®È÷ À妽º°¡ Àû¿ëµÇÁö¾ÊÀº °æ¿ì°¡ ¸¹½À´Ï´Ù
Äõ¸® ½ÇÇàÈÄ ´Ù¸¥ ÄܼÖÀ» ¿¾î show processlistµîÀ» Çغ¸½Ã¸é µ¿ÀÛÁßÀÇ Äõ¸®¸¦ ¾Ë¼ö ÀÖ½À´Ï´Ù
À妽ººÎÅÍ È®ÀÎÇÏ½Ã°í ±×ÈÄ¿¡ Æ©´×À» ÇÏ½Ã´Â°Ô ¸Â¾Æº¸ÀÔ´Ï´Ù
À쫆 ̴º¸°í ¸Ó¸®Æ©´×ºÎÅÍ Çؾ߰ڽÀ´Ï´Ù.
À妽º´Â ÇÊ¿äÇÏ½Ç°Í °°°í Á¶Àι®À» È°¿ëÇϼŵµ µÉ°Å °°°í.
(ÀÛ¾÷ ÁøÇà½Ã Á¡Â÷ÀûÀ¸·Î ¼¹ö¸®¼Ò½º°¡ cpu , i/o°¡ full load·Î ¿Ã¶ó°£´Ù¸é Æ©´×¹Û¿¡ ´äÀÌ ¾ø±ä ÇÕ´Ï´Ù..)
¿ì¼± slow quaryÇѹø Àû¿ëÇØ ºÐ¼®ÇØ ¼öÁ¤Çغ¸´Â °Íµµ ÁÁÀ»°Í °°½À´Ï´Ù.
H/W·Î ÅõÀÚÇϽǰŶó¸é
Â÷¶ó¸® mysql ÀÌ¸é »§»§ÇÑ ¼º´ÉÀÇ ´ÜÀÏ H/Wº¸´Ù´Â Á»´õ ´ú »§»§ÇÑ? H/WµÎ´ë·Î repliactionÀ¸·Î ±¸¼ºÇÏ½Ã´Â°Ô ÁÁÁö ¾ÊÀ»±î Çϳ׿ä
ÀÏ´Ü select°¡ ¸¹À¸½Ã´Ù¸é Master & Slave Replication ±¸¼ºÀÌ ±¦ÂùÀ»µí ÇÕ´Ï´Ù.
MySQL-Repliction ã¾Æº¸½Ã´Â°Å Ãßõµå¸³´Ï´Ù ^^;
°Ç½ÂÀ» º÷´Ï´Ù. ¤Ì¤Ð
mysql Àº ¸ñÀû¿¡ ÇÕ´çÇÏÁö ¾Ê´Ù´Â °á·ÐÀ» ³»·ÁÁֽþú½À´Ï´Ù.
Ä£ÀýÇϽŠ´äº¯ ¸ðµÎ °¨»çµå¸³´Ï´Ù.
2cpu ¯~
ÃÊ¿ïÆ®¶ó ½´ÆÛ°©ÀÎÁö¶ó Àú¹ø¿¡ Àü¼¼°èÀûÀ¸·Î 3¹è¸¦ °¡°Ý ¿Ã¸®´õ¶ó°í¿ä..
innoDB´Â key°¡ ÀÖ¾î¾ß ÁÁ½À´Ï´Ù.
1¹ø° Ä÷³¿¡ unique key¸¦ auto·Î Àâ¾ÆÁÖ´Â°Ô ¼Óµµ¿¡ ÁÁ½À´Ï´Ù.
½ºÅ丮Áö´Â SSD¸¦ raid 0 ÀâÀ» ÇÊ¿ä ¾ø½À´Ï´Ù.
±×³É SSD 1°³ ¾²³ª ¸î°³ Àâ¾Æ¼ 0 ¸¸µå³ª ±×°Ô ±×°Ì´Ï´Ù.
Á¦´ë·ÎµÈ ÄÚµùÀº disk io°¡ Å©Áö ¾Ê½À´Ï´Ù.
ÀÌ°ÍÀº SQLÀÇ ¹æ¹ý·ÐÀÌ À߸øµÈ °æ¿ì ÀÔ´Ï´Ù.
10¾ï°Ç. º°·Î ¸¹Áö ¾Ê½À´Ï´Ù.
Çѹø¿¡ full joinÀ» ÇÏ´Â °ÍÀº ¾öû³ ºÎÇÏ°¡ ¼Ò¿äµÇ´Â °ÍÀÌ°í temp db¸¦ disk¿¡ »ý¼º ÇÕ´Ï´Ù.
±×·¡¼, temp db¸¦ ¸Þ¸ð¸®¿¡ »ý¼ºÇϵµ·Ï my.cnf ¼³Á¤À» ¹Ù²ã¾ß ÇÕ´Ï´Ù.
RDBÀÇ °æ¿ì 3°³ÀÇ Å×À̺íÀ» 1¹ø¿¡ joinÇÏ´Â °Íº¸´Ù
2°³¸¦ joinÇÏ°í ±× °á°ú¸¦ °¡Áö°í ¸¶Áö¸· Å×À̺íÀ» joinÇÏ´Â °ÍÀÌ ´õ ºü¸¦ ¼ö ÀÖ°í
join º¸´Ù´Â table operationÀÌ ´õ ºü¸¦ ¼ö ÀÖ½À´Ï´Ù.
DB¸¦ Æ©´×ÇÏ°í ÇÁ·Î±×·¥ÇÏ´Â ¹æ¹ý·ÐÀÇ À̽´ÀÌÁö MySQLÀÌ Oracleº¸´Ù ¸øÇؼ ±×·± °ÍÀº Àý´ë·Î ¾Æ´Õ´Ï´Ù.
OracleÀ» »ç¿ëÇصµ ºñ½ÁÇÑ »óȲÀ̱¸¿ä.
¾î¶² ¹öÁ¯ÀÇ MySQLÀ» ¾²´ÂÁö ¸ð¸£°ÚÁö¸¸, ¼Óµµ´Â 5.5.x°¡ °¡Àå ºü¸£°í ÁÁ°í
MariaDB´Â 10.0.x ¹öÁ¯´ë¿¡ ÇØ´ç ÇÕ´Ï´Ù.
2CPU°¡ µ¨ R620 Àåºñ 1´ë¿¡¼ À¥+DB ¸ðµÎ µ¹¾Æ°¡Áö¸¸ ¼Óµµ ±¦Ã¯½À´Ï´Ù.
SSDµµ ½Ñ °Í ¾¹´Ï´Ù.
Æ©´×»¡ ÀÔ´Ï´Ù^^
my.cnf´Â ¿Ã·Áµ×À¸´Ï, ÂüÁ¶ ÇϽñ⠹ٶø´Ï´Ù.
http://www.2cpu.co.kr/bbs/board.php?bo_table=PDS&wr_id=11246
¸¹Àº ºÐµéÀÌ ¸»¾¸ÇØÁÖ¼ÌÁö¸¸ ±âº»ÀûÀ¸·Î ¼³°è°¡ À߸øµÈ µðºñ´Â Çϵå¿þ¾î¸¦ ¾Æ¹«¸® º¸°Çصµ ÇÑ°è¿¡ ±Ý¹æ µµ´ÞÇÕ´Ï´Ù.
Å×À̺íÀÌ Å©°í °Å±â¿¡ Å«Å×À̺íµé³¢¸® Á¶ÀÎÀ» °É¾î¼ ÀÛ¾÷ÇÏ¸é ´ç¿¬È÷ ´À¸±¼ö ¹Û¿¡ ¾ø½À´Ï´Ù.