Database°ü·Ã °í·Á»çÇ×
DataBase¸¦ »ç¿ëÇϸé¼, °¡Àå ¹®Á¦°¡ µÇ´Â °ÍÀº overheadºÎºÐÀÌ´Ù. Áï, ÀϹÝÀûÀ¸·Î CGI°¡ DBÀÛ¾÷À»
Æ÷ÇÔÇÏ´Â °æ¿ì¿¡ ÀÚÁÖ ¹ß»ýµÇ´Âµ¥, °¢ CGI¸¶´Ù database¿¡ Á¢¼ÓÇØ¼ ÀÛ¾÷À» Çϵµ·Ï ±¸¼ºÇÏ°Ô µÇ¸é, À¥À̶ó´Â
»óȲ(µ¿½Ã¿¡ ´Ù¼öÀÇ »ç¿ëÀÚ Á¢±Ù)¿¡¼´Â ¾öû³ª°Ô ¸¹Àº CGI°¡ µ¿½Ã¿¡ ½ÇÇàµÉ ¼öµµ ÀÖ´Ù´Â Á¡ÀÌ´Ù.
ÀÌ·¸°Ô µÇ¸é, process°¡ °ú´Ù ¹ß»ýÇϸé¼( ´õ±¸³ª DB±îÁö ¹°°í¼ ) ½Ã½ºÅÛ ¸®¼Ò½º¸¦ ´Ù Àâ¾Æ¸Ô°ÔµÈ´Ù
. »ç¿ëÀÚ´Â ´ç¿¬È÷ ¾Æ¹«·± ÀÀ´äÀ» ¹ÞÁö ¸øÇÏ°í °è¼Ó ±â´Ù¸®´Â »óȲÀÌ ¹ß»ýÇϸç, ½ÉÇÑ °æ¿ì À¥¼¹ö°¡ ¿ÏÀüÈ÷
¸ÔÅëÀÌ µÇ¼ rebootingÇØ¾ß ÇÏ´Â °æ¿ìµµ ÀÖ´Ù. ÁÖ¿ä ¿øÀÎÀº Database connection°ü¸®¿¡ ¹®Á¦°¡ Àֱ⠶§¹®ÀÌ´Ù.
ÀÌ·± Çö»óÀº ÀϹÝÀûÀÎ CGI°³¹ß½Ã¿¡ ½Å°æ¾²Áö ¾ÊÀ¸¸é, ¸ðµÎ ¹ß»ýµÉ °¡´É¼ºÀ» ³»Æ÷ÇÏ°Ô µÈ´Ù. ƯÁ¤
DBMS¿¡¼ Á¦°øÇÏ´Â À¥¼¹öÀÇ °æ¿ì´Â ÀÌ·¯ÇÑ DatabaseÀÇ connectionÀ» ¾Ë¾Æ¼ °ü¸®ÇØÁÖÁö¸¸, C, perl°ú °°Àº
¾ð¾î·Î ÀÛ¼ºÇÏ°Ô µÇ¸é ¾ÈµÈ´Ù°í ºÁ¾ß ÇÑ´Ù. ÀϺΠS/W´Â ÀÌ·¯ÇÑ ±â´ÉÀ» Ãß°¡·Î Á¦°øÇÏ´Â °Íµéµµ ÀÖÀ¸³ª,
º°µµÀÇ ºñ¿ëÀ» ÁöºÒÇØ¾ßÇÑ´Ù.(»ç¾ßÇÑ´Ù´Â ¸»ÀÌ´Ù.)
±×·¯³ª, SSJS¿¡¼´Â ÀÌ·¯ÇÑ ±â´ÉÀ» ±âº»À¸·Î Á¦°øÇÏ°Ô µÈ´Ù.(¹°·Ð ±×³ÉµÇ´Â °ÍÀº ¾Æ´Ï°í, ÇÁ·Î±×·¥
ÀÛ¼º½Ã °í·ÁÇÏ¿© ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù´Â ¸»ÀÌ´Ù. ) ¹«½¼ ¸»ÀÎÁö ¾î·Æ´Ù¸é ±×³É ³Ñ¾î°¡µµ ÁÁ´Ù. ±×·¯³ª, DataBase
Connection°ü¸®´Â À¥¼¹ö¿î¿µ½Ã¿¡ Áß¿äÇÑ ¿äÀÎÀ̹ǷÎ, ÀÎÁöÇϰí ÀÖ¾î¾ß ÇÑ´Ù. ¾î´À³¯ °©ÀÚ±â ÇÁ·Î¼¼½º´Â
»ì¾ÆÀִµ¥, ÀÀ´äÀÌ ¾ø°Å³ª, ÀÀ´ä¼Óµµ°¡ ÇöÀúÇÏ°Ô ÀúÇϵǸé, ÇÁ·Î¼¼½ºµéÀ» ÃßÀûÇØ¾ß Çϰí, ´ëºÎºÐÀÇ ¹®Á¦´Â
Database connectionÀ̶ó°í º¸¸é µÈ´Ù.
¶ÇÇѰ¡Áö °í·ÁÇÒ »çÇ×ÀÌ Àִµ¥ ½ÇÇà ¼Óµµ ¹®Á¦ÀÌ´Ù. ¸ðµç CGI°¡ ½ÇÇà½Ã¸¶´Ù Ç×»ó Database¿Í
¿¬°áÇÏ´Â ÀÛ¾÷À» ÇÏ°Ô Çϸé, ±× ¼öÇà½Ã°£ ¸¸Å Áö¿¬µÈ´Ù´Â Á¡ÀÌ´Ù. ÇϳªÀÇ »óȲÀÏ ¶§´Â ¹®Á¦°¡ µÇÁö ¾Ê´Âµ¥,
ÀÌ ¿ª½Ãµµ µ¿½Ã»ç¿ëÀÚ¼ö°¡ ¸¹°ÔµÇ¸é, °¨´çÇÏÁö ¸øÇÒ Á¤µµ·Ñ ´Ã¾îÁö°Ô µÈ´Ù´Â Á¡ÀÌ´Ù.
ÀÌ·¯ÇÑ °æ¿ì´Â ÇϳªÀÇ connectionÀ» ¹Ì¸® ÁغñÇØ ³õ°í, °¢ CGI°¡ À̸¦ °øÀ¯Åä·ÏÇϸé Database
connection°ü¸® »Ó¸¸¾Æ´Ï¶ó, ½ÇÇà¼Óµµ Çâ»óÀ» ±â´ëÇÒ ¼ö ÀÖ°Ô µÇ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ÁغñÀÛ¾÷Àº ¾îÇø®ÄÉÀ̼ǿ¡
´Ü Çѹø¸¸ ¹ß»ýÇØ¾ß ÇÑ´Ù.
¾îÇø®ÄÉÀÌ¼Ç ¸Å´ÏÀú¿¡ °üÇÑ Ãʱ⠼³¸í¿¡¼ initial pageºÎºÐÀÌ ¹Ù·Î ´Ü Çѹø ¼öÇàÇØ¾ßÇÒ ÆäÀÌÁö¸¦
µî·ÏÇÏ´Â ºÎºÐÀÌ´Ù. ¶ÇÇÑ ¾îÇø®ÄÉÀ̼ǿ¡ À¯ÀÏÇÏ°Ô Á¸ÀçÇϹǷÎ, projectÀÇ ÇϳªÀÇ ¼Ó¼ºÀ¸·Î µî·ÏÇØ¼ °øÀ¯ÇÏ¸é µÈ´Ù.
¿¹) ´ÙÀ½°ú °°Àº Á¤ÀǸ¦ initial page¿¡ Æ÷ÇÔ½ÃŲµÚ¿¡,
project.eng = new DbPool("ORACLE", "myserver1","ENG","pp","",3,true);
project.usr = new DbPool("INFOMIX","myserver2","USR","qq","",3,false);
|
°¢ »ç¿ëÀÚÀÇ Á¢±Ù¿¡ ÀÇÇØ ´ÙÀ½°ú °°ÀÌ Ã³¸®ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù.
if( request.name == "ENG" ){
engcon = project.eng.connection("eng");
engcon.SQLTable("select * from eng");
engcon.release();
}
|
¿¹) À§¿Í°°ÀÌ ÁöÁ¤µÈ DBMS¿Í ID°¡ ¾Æ´Ï¶ó °³¼ö¸¦ ¾Ë ¼ö ¾ø°Å³ª, ³Ê¹« ¸¹Àº °æ¿ì´Â
´ÙÀ̳ª¹ÍÇϰ԰ü¸®ÇØ¾ß ÇÑ´Ù.ÀÏ´Ü, ÃÖÃÊ¿¡ °øÀ¯Á¤º¸¸¦ »ý¼ºÇѵÚ
project.sharpool = new Object();
|
°¢, clientÀÇ ¿ä±¸¿¡ µû¶ó ´ÙÀ½°ú °°ÀÌ »ç¿ëÅä·Ï ÇÑ´Ù.
if ( client.id == null )
client.id = ssjs_generateClientID();
project.lock();
if( project.sharpool[client.id] == null ) {
project.sharpool[client.id] = new DbPool(.....);
}
project.unlock();
var clientPool = project.sharpool[client.id];
project.lock();
if( !clientPool.connected() ){
clientPool.connect(..);
}
project.unlock();
|
- Last Update : 2001.7.5 by Deadfire(http://www.deadfire.net)
|