-Ðóáðèêè

 -Ìóçûêà

 -Ïîäïèñêà ïî e-mail

 

 -Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â TheLenka

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 03.01.2009
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 265


Îñíîâíûå ïîëîæåíèÿ òåîðèè ìàññîâîãî îáñëóæèâàíèÿ (òåîðèÿ î÷åðåäåé).

Ñðåäà, 09 Èþíÿ 2010 ã. 11:43 + â öèòàòíèê

 

Ìîäåëèðîâàíèå - îäèí èç íàèáîëåå ðàñïðîñòðàíåííûõ ìåòîäîâ èññëåäîâàíèÿ ïðîöåññîâ ôóíêöèîíèðîâàíèÿ ñëîæíûõ ñèñòåì. Èçâåñòíî äîñòàòî÷íî áîëüøîå êîëè÷åñòâî ìåòîäîâ ïîñòðîåíèÿ ìàòåìàòè÷åñêèõ ìîäåëåé è ñðåäñòâ ðåàëèçàöèè ìîäåëèðóþùèõ àëãîðèòìîâ. Íàèáîëåå ðàñïðîñòðàíåííûìè èç íèõ ÿâëÿþòñÿ ñèñòåìû è ñåòè ìàññîâîãî îáñëóæèâàíèÿ.

Ñèñòåìà ìàññîâîãî îáñëóæèâàíèÿ - îäíà èç îñíîâíûõ ìîäåëåé, èñïîëüçóåìûõ èíæåíåðàìè-ñèñòåìîòåõíèêàìè. Êàê ìîäåëü ÑÌÎ ðàññìàòðèâàåòñÿ â òåîðèè ìàññîâîãî îáñëóæèâàíèÿ (äðóãîå íàçâàíèå - òåîðèÿ î÷åðåäåé).

Òåîðèÿ ìàññîâîãî îáñëóæèâàíèÿ ñâÿçàíà ñ ðàçðàáîòêîé è àíàëèçîì ìàòåìàòè÷åñêèõ, ò.å. àáñòðàêòíûõ, ìîäåëåé, êîòîðûå îïèñûâàþò ïðîöåññ îáñëóæèâàíèÿ íåêîòîðûõ îáúåêòîâ, ïîñòóïàþùèõ íà âõîä îáñëóæèâàþùåãî ïðèáîðà â âèäå íåêîòîðîãî ïîòîêà, è îáðàçóþùåãî â îáùåì ñëó÷àå î÷åðåäü íà âõîäå îáñëóæèâàþùåãî ïðèáîðà.

Ïîñêîëüêó ðàññìàòðèâàþòñÿ àáñòðàêòíûå ìîäåëè, ñîâåðøåííî íå âàæíà ïðèðîäà îáñëóæèâàåìûõ îáúåêòîâ è èõ ôèçè÷åñêèå ñâîéñòâà (áóäü òî âûçîâû, óïðàâëÿþùèå èëè èíôîðìàöèîííûå êàäðû â ñåòè ñâÿçè èëè ïîñåòèòåëè ìàãàçèíà, èëè äåòàëè íà àâòîìàòè÷åñêîé ëèíèè è ò.ï.). Ñóùåñòâåííûì ÿâëÿþòñÿ ìîìåíòû ïîÿâëåíèÿ ýòèõ îáúåêòîâ è ïðàâèëà, è çàêîíû (ìàòåìàòè÷åñêèå) èõ îáñëóæèâàíèÿ, òàê êàê îò ýòèõ ìîìåíòîâ è çàêîíîâ çàâèñèò àäåêâàòíîå îòîáðàæåíèå ýâîëþöèè ìîäåëèðóåìîãî îáúåêòà âî âðåìåíè.

Öåëüþ èñïîëüçîâàíèÿ ÑÌÎ êàê ìîäåëè ÿâëÿåòñÿ àíàëèç êà÷åñòâà ôóíêöèîíèðîâàíèÿ óêàçàííûõ ñèñòåì-îðèãèíàëîâ.

 ñâîþ î÷åðåäü, ÑåÌÎ èñïîëüçóþò äëÿ îïðåäåëåíèÿ âàæíåéøèõ ñèñòåìíûõ õàðàêòåðèñòèê èíôîðìàöèîííûõ ñèñòåì: ïðîèçâîäèòåëüíîñòè; âðåìåíè äîñòàâêè ïàêåòîâ; âåðîÿòíîñòè ïîòåðè ñîîáùåíèé è áëîêèðîâêè â óçëàõ; îáëàñòè äîïóñòèìûõ çíà÷åíèé íàãðóçêè, ïðè êîòîðûõ îáåñïå÷èâàåòñÿ òðåáóåìîå êà÷åñòâî îáñëóæèâàíèÿ è äð.

2) Ïðåäëîæåíèå SELECT ÿçûêà SQL. Îáúåäèíåíèå UNION. Êâàíòîð ñóùåñòâîâàíèÿ EXIST è NOT EXIST.

SELECT columns FROM tablesWHERE EXISTS (subquery);

Âûðàæåíèå ñ÷èòàåòñÿ èñòèííûì òîëüêî òîãäà, êîãäà ðåçóëüòàò âû÷èñëåíèÿ subquery ÿâëÿåòñÿ íåïóñòûì ìíîæåñòâîì, ò.å. êîãäà ñóùåñòâóåò êàêàÿ-ëèáî çàïèñü â òàáëèöå, óêàçàííîé âî ôðàçå FROM ïîäçàïðîñà, êîòîðàÿ óäîâëåòâîðÿåò óñëîâèþ WHERE ïîäçàïðîñà.Íàïðèìåð: Îïðåäåëèòü ñïèñîê èìåþùèõñÿ íà ñêëàäå òîâàðîâ:

SELECT Íàçâàíèå FROM Òîâàð                WHERE EXISTS (SELECT ÊîäÒîâàðà FROM Ñêëàä              

WHERE Òîâàð.ÊîäÒîâàðà=Ñêëàä.ÊîäÒîâàðà)

Êëþ÷åâûå ñëîâà EXISTS è NOT EXISTS ïðåäíàçíà÷åíû äëÿ èñïîëüçîâàíèÿ òîëüêî ñîâìåñòíî ñ ïîäçàïðîñàìè. Ðåçóëüòàò èõ îáðàáîòêè ïðåäñòàâëÿåò ñîáîé ëîãè÷åñêîå çíà÷åíèå TRUE èëè FALSE. Äëÿ êëþ÷åâîãî ñëîâà EXISTS ðåçóëüòàò ðàâåí TRUE â òîì è òîëüêî â òîì ñëó÷àå, åñëè â âîçâðàùàåìîé ïîäçàïðîñîì ðåçóëüòèðóþùåé òàáëèöå ïðèñóòñòâóåò õîòÿ áû îäíà ñòðîêà. Åñëè ðåçóëüòèðóþùàÿ òàáëèöà ïîäçàïðîñà ïóñòà, ðåçóëüòàòîì îáðàáîòêè îïåðàöèè EXISTS áóäåò çíà÷åíèå FALSE. Äëÿ êëþ÷åâîãî ñëîâà NOT EXISTS èñïîëüçóþòñÿ ïðàâèëà îáðàáîòêè, îáðàòíûå ïî îòíîøåíèþ ê êëþ÷åâîìó ñëîâó EXISTS. Ïîñêîëüêó ïî êëþ÷åâûì ñëîâàì EXISTS è NOT EXISTS ïðîâåðÿåòñÿ ëèøü íàëè÷èå ñòðîê â ðåçóëüòèðóþùåé òàáëèöå ïîäçàïðîñà, òî ýòà òàáëèöà ìîæåò ñîäåðæàòü ïðîèçâîëüíîå êîëè÷åñòâî ñòîëáöîâ.

Îïðåäåëèòü ñïèñîê îòñóòñòâóþùèõ íà ñêëàäå òîâàðîâ

SELECT Íàçâàíèå FROM Òîâàð WHERE NOT EXISTS      (SELECT ÊîäÒîâàðà FROM Ñêëàä                 

WHERE Òîâàð.ÊîäÒîâàðà=Ñêëàä.ÊîäÒîâàðà)

ÎÁÚÅÄÈÍÅÍÈÅ ÇÀÏÐÎÑÎÂ UNION [SQL Statement 1]                        UNION    [SQL Statement 2]

SELECT Date FROM Store_Information      UNION             SELECT Date FROM Internet_Sales;

Ïîëó÷àåì: Date Jan-05-1999 Jan-07-1999 Jan-08-1999 Jan-10-1999 Jan-11-1999 Jan-12-1999

SELECT Date FROM Store_Information

                  UNION ALL

SELECT Date FROM Internet_Sales

3)Èçîëèðîâàííîñòü ïîëüçîâàòåëåé, óðîâíè èçîëèðîâàííîñòè.

Âî ìíîãîïîëüçîâàòåëüñêèõ ñèñòåìàõ ñ îäíîé áàçîé äàííûõ îäíîâðåìåííî ìîãóò ðàáîòàòü íåñêîëüêî ïîëüçîâàòåëåé èëè ïðèêëàäíûõ ïðîãðàìì. Ïðåäåëüíîé çàäà÷åé ñèñòåìû ÿâëÿåòñÿ îáåñïå÷åíèå èçîëèðîâàííîñòè ïîëüçîâàòåëåé, ò.å. ñîçäàíèå äîñòîâåðíîé è íàäåæíîé èëëþçèè òîãî, ÷òî êàæäûé èç ïîëüçîâàòåëåé ðàáîòàåò ñ ÁÄ â îäèíî÷êó.

 ñâÿçè ñî ñâîéñòâîì ñîõðàíåíèÿ öåëîñòíîñòè ÁÄ òðàíçàêöèè ÿâëÿþòñÿ ïîäõîäÿùèìè åäèíèöàìè èçîëèðîâàííîñòè ïîëüçîâàòåëåé. Äåéñòâèòåëüíî, åñëè ñ êàæäûì ñåàíñîì ðàáîòû ñ áàçîé äàííûõ àññîöèèðóåòñÿ òðàíçàêöèÿ, òî êàæäûé ïîëüçîâàòåëü íà÷èíàåò ðàáîòó ñ ñîãëàñîâàííûì ñîñòîÿíèåì áàçû äàííûõ, ò.å. ñ òàêèì ñîñòîÿíèåì, â êîòîðîì áàçà äàííûõ ìîãëà áû íàõîäèòüñÿ, äàæå åñëè áû ïîëüçîâàòåëü ðàáîòàë ñ íåé â îäèíî÷êó.

Ïðè ñîáëþäåíèè îáÿçàòåëüíîãî òðåáîâàíèÿ ïîääåðæàíèÿ öåëîñòíîñòè áàçû äàííûõ âîçìîæíû ñëåäóþùèå óðîâíè èçîëèðîâàííîñòè òðàíçàêöèé:

·     Ïåðâûé óðîâåíü - îòñóòñòâèå ïîòåðÿííûõ èçìåíåíèé. Ðàññìîòðèì ñëåäóþùèé ñöåíàðèé ñîâìåñòíîãî âûïîëíåíèÿ äâóõ òðàíçàêöèé. Òðàíçàêöèÿ 1 èçìåíÿåò îáúåêò áàçû äàííûõ A. Äî çàâåðøåíèÿ òðàíçàêöèè 1 òðàíçàêöèÿ 2 òàêæå èçìåíÿåò îáúåêò A. Òðàíçàêöèÿ 2 çàâåðøàåòñÿ îïåðàòîðîì ROLLBACK (íàïðèìåð, ïî ïðè÷èíå íàðóøåíèÿ îãðàíè÷åíèé öåëîñòíîñòè). Òîãäà ïðè ïîâòîðíîì ÷òåíèè îáúåêòà A òðàíçàêöèÿ 1 íå âèäèò èçìåíåíèé ýòîãî îáúåêòà, ïðîèçâåäåííûõ ðàíåå. Òàêàÿ ñèòóàöèÿ íàçûâàåòñÿ ñèòóàöèåé ïîòåðÿííûõ èçìåíåíèé. Åñòåñòâåííî, îíà ïðîòèâîðå÷èò òðåáîâàíèþ èçîëèðîâàííîñòè ïîëüçîâàòåëåé. ×òîáû èçáåæàòü òàêîé ñèòóàöèè â òðàíçàêöèè 1 òðåáóåòñÿ, ÷òîáû äî çàâåðøåíèÿ òðàíçàêöèè 1 íèêàêàÿ äðóãàÿ òðàíçàêöèÿ íå ìîãëà èçìåíÿòü îáúåêò A. Îòñóòñòâèå ïîòåðÿííûõ èçìåíåíèé ÿâëÿåòñÿ ìèíèìàëüíûì òðåáîâàíèåì ê ÑÓÁÄ ïî ÷àñòè ñèíõðîíèçàöèè ïàðàëëåëüíî âûïîëíÿåìûõ òðàíçàêöèé.

·     Âòîðîé óðîâåíü - îòñóòñòâèå ÷òåíèÿ "ãðÿçíûõ äàííûõ". Ðàññìîòðèì ñëåäóþùèé ñöåíàðèé ñîâìåñòíîãî âûïîëíåíèÿ òðàíçàêöèé 1 è 2. Òðàíçàêöèÿ 1 èçìåíÿåò îáúåêò áàçû äàííûõ A. Ïàðàëëåëüíî ñ ýòèì òðàíçàêöèÿ 2 ÷èòàåò îáúåêò A. Ïîñêîëüêó îïåðàöèÿ èçìåíåíèÿ åùå íå çàâåðøåíà, òðàíçàêöèÿ 2 âèäèò íåñîãëàñîâàííûå "ãðÿçíûå" äàííûå (â ÷àñòíîñòè, îïåðàöèÿ òðàíçàêöèè 1 ìîæåò áûòü îòâåðíóòà ïðè ïðîâåðêå íåìåäëåííî ïðîâåðÿåìîãî îãðàíè÷åíèÿ öåëîñòíîñòè). Ýòî òîæå íå ñîîòâåòñòâóåò òðåáîâàíèþ èçîëèðîâàííîñòè ïîëüçîâàòåëåé (êàæäûé ïîëüçîâàòåëü íà÷èíàåò ñâîþ òðàíçàêöèþ ïðè ñîãëàñîâàííîì ñîñòîÿíèè áàçû äàííûõ è â ïðàâå îæèäàòü âèäåòü ñîãëàñîâàííûå äàííûå). ×òîáû èçáåæàòü ñèòóàöèè ÷òåíèÿ "ãðÿçíûõ" äàííûõ, äî çàâåðøåíèÿ òðàíçàêöèè 1, èçìåíèâøåé îáúåêò A, íèêàêàÿ äðóãàÿ òðàíçàêöèÿ íå äîëæíà ÷èòàòü îáúåêò A (ìèíèìàëüíûì òðåáîâàíèåì ÿâëÿåòñÿ áëîêèðîâêà ÷òåíèÿ îáúåêòà A äî çàâåðøåíèÿ îïåðàöèè åãî èçìåíåíèÿ â òðàíçàêöèè 1).

·     Òðåòèé óðîâåíü - îòñóòñòâèå íåïîâòîðÿþùèõñÿ ÷òåíèé. Ðàññìîòðèì ñëåäóþùèé ñöåíàðèé. Òðàíçàêöèÿ 1 ÷èòàåò îáúåêò áàçû äàííûõ A. Äî çàâåðøåíèÿ òðàíçàêöèè 1 òðàíçàêöèÿ 2 èçìåíÿåò îáúåêò A è óñïåøíî çàâåðøàåòñÿ îïåðàòîðîì COMMIT. Òðàíçàêöèÿ 1 ïîâòîðíî ÷èòàåò îáúåêò A è âèäèò åãî èçìåíåííîå ñîñòîÿíèå. ×òîáû èçáåæàòü íåïîâòîðÿþùèõñÿ ÷òåíèé, äî çàâåðøåíèÿ òðàíçàêöèè 1 íèêàêàÿ äðóãàÿ òðàíçàêöèÿ íå äîëæíà èçìåíÿòü îáúåêò A.  áîëüøèíñòâå ñèñòåì ýòî ÿâëÿåòñÿ ìàêñèìàëüíûì òðåáîâàíèåì ê ñèíõðîíèçàöèè òðàíçàêöèé, õîòÿ, êàê ìû óâèäèì íåìíîãî ïîçæå, îòñóòñòâèå íåïîâòîðÿþùèõñÿ ÷òåíèé åùå íå ãàðàíòèðóåò ðåàëüíîé èçîëèðîâàííîñòè ïîëüçîâàòåëåé.

Çàìåòèì, ÷òî ñóùåñòâóåò âîçìîæíîñòü îáåñïå÷åíèÿ ðàçíûõ óðîâíåé èçîëèðîâàííîñòè äëÿ ðàçíûõ òðàíçàêöèé, âûïîëíÿþùèõñÿ â îäíîé ñèñòåìå áàç äàííûõ (â ÷àñòíîñòè, ñîîòâåòñòâóþùèå îïåðàòîðû ïðåäóñìîòðåíû â ñòàíäàðòå SQL 2). Êàê óæå îòìå÷àëè, äëÿ ïîääåðæàíèÿ öåëîñòíîñòè äîñòàòî÷åí ïåðâûé óðîâåíü. Ñóùåñòâóåò ðÿä ïðèëîæåíèé, äëÿ êîòîðûõ ïåðâîãî óðîâíÿ äîñòàòî÷íî (íàïðèìåð, ïðèêëàäíûå èëè ñèñòåìíûå ñòàòèñòè÷åñêèå óòèëèòû, äëÿ êîòîðûõ íåêîððåêòíîñòü èíäèâèäóàëüíûõ äàííûõ íåñóùåñòâåííà). Ïðè ýòîì óäàåòñÿ ñóùåñòâåííî ñîêðàòèòü íàêëàäíûå ðàñõîäû ÑÓÁÄ è ïîâûñèòü îáùóþ ýôôåêòèâíîñòü.

Óðîâíè èçîëÿöèè â MS SQL Server 2000:

Ïî óìîë÷àíèþ, óñòàíàâëèâàåòñÿ èçîëÿöèÿ Read Committed, è ýòà óñòàíîâêà äåéñòâóåò â ðàìêàõ ñåàíñà. Îñíîâíîé ïðèíöèï ñîñòîèò â òîì, ÷òî ïèøóùàÿ òðàíçàêöèÿ âñåãäà áëîêèðóåò ÷èòàþùèå òðàíçàêöèè, åñëè îíè èìåþò óðîâíè èçîëÿöèè âûøå å¸, èñêëþ÷àÿ Read Uncommited.

Êîãäà óñòàíîâëåí óðîâåíü Read Uncommited, ïèøóùàÿ òðàíçàêöèÿ íå áëîêèðóåò ÷èòàþùèå, à ÷èòàþùèå íå áëîêèðóþò çàïèñü. Òàêèì îáðàçîì, Âû èìååòå âîçìîæíîñòü ñîñòàâèòü çàïðîñ òàêèì îáðàçîì, ÷òî ïîëó÷èòå ãðÿçíûå äàííûå, êîòîðûå åù¸ íå ñîõðàíåíû â áàçå äàííûõ, è ýòèì áóäåò íàðóøåí ïðèíöèï ïîñëåäîâàòåëüíîñòè.

Êîãäà óñòàíîâëåí Read Committed, ïðî÷èòàòü ìîæíî òîëüêî ñîõðàí¸ííûå äàííûå. Íî êàê òîëüêî ÷èòàþùàÿ òðàíçàêöèÿ çàâåðøèò ïðîöåññ ÷òåíèÿ äàííûõ, äàæå åñëè ñàìà òðàíçàêöèÿ ê ýòîìó ìîìåíòó åù¸ íå çàâåðøåíà, å¸ áëîêèðîâêà óæå íå áóäåò ïðåïÿòñòâîâàòü èçìåíåíèÿì â ýòèõ äàííûõ.

Ïðè èñïîëüçîâàíèè Repeatable Read, êîãäà â îäíîé òðàíçàêöèè ÷èòàþòñÿ ïîðöèè äàííûõ, îäíè è òå æå äàííûå áóäóò ñ÷èòàòüñÿ êàæäûé ðàç, êîãäà ïðîèñõîäèò ÷òåíèå â ýòîé òðàíçàêöèè. Ïîýòîìó, äàæå â ìîìåíòû, êîãäà ÷òåíèå äàííûõ íå âûïîëíÿåòñÿ, äðóãèå òðàíçàêöèè íå ñìîãóò èçìåíÿòü äàííûå, íî îíè ñìîãóò îñóùåñòâëÿòü âñòàâêè íîâûõ äàííûõ â òàáëèöó èëè â äèàïàçîíû äàííûõ, êîòîðûå â ýòîò ìîìåíò íå áëîêèðîâàíû.

Óðîâåíü Serializable èä¸ò íà øàã äàëüøå ïî îòíîøåíèþ Repeatable Read è çàùèùàåò âñå äðóãèå áëîêè äàííûõ îò âñòàâîê. Ýòî íàçûâàåòñÿ ïðåäîòâðàùåíèåì ôàíòîìíûõ ÷òåíèé.

Ñåðèÿ ñîîáùåíèé "Áàçû äàííûõ":
×àñòü 1 - Ôàéëîâûå ñèñòåìû. Íàçíà÷åíèå ôàéëîâûõ ñèñòåì.
×àñòü 2 - Îñîáåííîñòè îðãàí õðàíåíèÿ äàííûõ
...
×àñòü 31 - Ïîíÿòèå ñåòåâîé îðãàíèçàöèè äàííûõ. Ñòðóêòóðû òèïà «çâåçäà»,
×àñòü 32 - Îñíîâíûå ðåëÿöèîííûå ÑÓÁÄ: IBM DB2, ORACLE, MS SQL Server, Informix. Ñðàâíåíèå.
×àñòü 33 - Îñíîâíûå ïîëîæåíèÿ òåîðèè ìàññîâîãî îáñëóæèâàíèÿ (òåîðèÿ î÷åðåäåé).
×àñòü 34 - Ìàøèíû áàç äàííûõ. Îñíîâíûå àðõèòåêòóðû èñïîëüçóåìûå â ìàøèíàõ áàç äàííûõ.
×àñòü 35 - Âîçìîæíîñòè ÿâíîãî áëîêèðîâàíèÿ. Ïðåäëîæåíèå LOCK TABLE.
...
×àñòü 43 - Ìåòîä âñïîìîãàòåëüíîé òàáëèöû äëÿ ñëó÷àÿ ïðîèçâîëüíîãî ãðàôà. Îòëè÷èÿ îò ñëó÷àÿ ìîäåëèðîâàíèÿ èåðàðõèé
×àñòü 44 - Îáúåêòíî-îðèåíòèðîâàííàÿ ìîäåëü è ðåëÿöèîííàÿ ìîäåëü. Ñõîäñòâî è îòëè÷èÿ.
×àñòü 45 - Èñïîëüçîâàíèå «êîîðäèíàòíîãî» ìåòîäà äëÿ ìîäåëèðîâàíèÿ èåðàðõèé è ïðîèçâîëüíûõ ãðàôîâ. Åãî äîñòîèíñòâà è

Ðóáðèêè: 

 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó