mssql deadlock

카테고리 없음 2016. 8. 11. 17:30

Stored procedure 에서 transaction을 걸때 isolation level을 잘못 쓰면 select 할때도 락을걸어 다른 프로시져에서 기다리게 만든다.

Isolation level:
https://support.microsoft.com/ko-kr/kb/601430

위 상황이 확률이 높고.. 여러개의 procedure들간 테이블 업데이트 순서가 달라도 발생가능성이 있다고 한다.

데드락인 상황을 그려보면,

SP1
Begin tran
Update A
Update B

SP2
Begin tran
Update B
Update A

이 두 프로시져가 다수 호출되는 서비스라면 서로 우연찮게 같은 row를 고치려고 할때 각각의 프로시져가 커밋될때까지 기다리는 데드락 상황이 올수있다.
이와같은 업데이트가 아니더라도 isolation level을 잘못 셋팅하면 셀렉트도 발생시키는 원인이 될수 있다.





블로그 이미지

시간을 거스르는자

,

원문: http://oyc.yale.edu/philosophy/phil-176#sessions

Lecture 5 - Arguments for the Existence of the Soul, Part III: Free Will and Near-Death Experiences [January 30, 2007] 


Chapter 1. The Dualist's Stance on Free Will and the Soul's Existence [00:00:00]

 physicalist의 관점에서, 우리는 그냥 미화된 로봇의 일종이다. 대부분의 공상과학 영화에서 나오는 여러가지 것들을 할수 있는 그런. 또한 우리는 그냥 미화된 physical object라고 볼 수도있다. 좀 더 넓게 말하자면, 그들은 결정론에 의존할 것이다. 그저 자연의 법칙을 따르는 physical object, 정해져있는 형태를 따라서 어떻게 말하자면 정해져있는 시스템을 따라서 처음 시작부터 같은 흐름으로 자연에 법칙에 따라서 흘러가는 것이라고. 그래서 마치 테이프를 되돌려서 들으면 똑같은 소리가 나오듯, 시간에 따라서 그저 정해진 환경에 따라서 움직이고 변화하는 것이라고.

직관적으로 볼때, 사람이 자유의지를 가지지 않고 이미 정해져 있는 법칙을 따른다는 것이 꽤 타당성이 있어 보일 수 있다. 왜냐하면, 사람은 같은 장소, 같은 시간, 같은 상황에 처했을때 다른 선택을 하지 못한다는 것이다. 정해져있는 법칙을 따른다는 것과 자유의지를 가졌다는 것은 공존할 수 없다. 모든 physical object는 결정론을 따른다. 사람은 정말로 자유의지를 가졌는가?

지난 강의에서 마지막에 얘기했던 논의거리를 보자. 4번의 결론을 얻기 위해서는 3개의 전제가 필요했다. 근데 우리가 자유의지를 가졌다는 것이 설득력 있어 보이지 않는다. 그래서 우리는 순수 physical object가 아니라는 결론을 얻기 힘들다.

하지만 아직 각각의 전제들은 그럴싸한 논의 거리다.


Chapter 2. Determinism and Free Will Cannot Coexist – Inspecting Incompatibility [00:04:57]

"1. 우리는 자유의지를 가졌다. 이 첫번째 전제는 우리가 영혼을 가졌다라는 것을 증명할 수 있는 것이다. 우리는 지난시간 우리가 정말 자유의지를 가졌는가?에 대해서 이야기했다. 이번에는 자유의지에 대해서 다시 얘기해 본다.

몇몇 철학자들은 우리가 자유의지를 가졌다고 믿는것은 환상일 뿐이라고 말한다. 실제로는 그렇지 않다고. 왜 그럴까? 그들은 아마도 이렇게 말할 것이다. 

“음 글쎄, 우린 그냥 물질적인 존재이고, 결정론이 우리에게 진실이니까. 결정론을 따르는 object는 자유의지를 가질수 없기 때문에 우리는 자유의지를 갖지 않았어. 우리는 그저 자유의지를 가졌다는 환상속에서 움직이는 물질적인 존재에 불과해. 생각해봐, 너는 자유의지를 볼 수도 없고 너의 마음을 자세히 들여다 볼수도 없고, 네가 자유의지를 가졌다는 것도 볼수 없자나. 그래 우리는 다르게 행동할 수 있을것 같지만 그것은 환상일거야.” 

이런식으로 생각하는 철학자들이 있고, 자유의지를 가졌다는 것을 부정하고 그렇게 결론짓는다면, 우리는 더이상 영혼의 존재를 증명하기 위해서 이 논의(전제1에 대한)를 들고 있을 필요가 없다. 이것은 이 논의를 피하기 위한 방법이다. 그렇지만, 나(교수)는 첫번째 전제가 사실이라고 생각한다. 

아직 2개의 전제가 남아있다. 3번 전제를 보자. “모든 순수 물질적인 시스템은 결정론을 따른다.”
자유의지와 결정론을 양립할 수 없다는 말이다. 하지만 만약 자유의지와 결정론이 양립할 수 있다면? 자유의지와 함께 결정론을 따른다면? 3번 전제역시 rejected될 수 있다.

사실 고백하자면, 3번 전제는 실증적 과학에 대한 주장이다(17세기). 그러나, 양자 역학(19세기)의 표준해석에 따르면 물리학의 기본법칙들은 사실 결정론을 따르지 않는다고 한다.

이것이 무슨말일까? 우리가 방사성 물질을 가지고 있다고 해보자. 그리고 이 물질은 다음 24시간 안에 반감할 가능성이 80%라고 하자. 이 말은, 20%는 반감이 안될 수 있다는 말이다.          

하지만, 결정론을 따른다면, 일정한 주기나 법칙에 의해서 정확하게 결정된 데로 동작해야 한다. 그러나 방사성 물질은 이렇게 반감하지 않는다. 
기초 물리학 레벨에서는 결정론을 따르지 않고 확률론을 따른다. 그리고 이것이 사실이라면 3번 전제는 거짓이 된다. 모든 물질적 존재가 결정론을 따르는 것이 아니기 때문에 이것이 우리가 순수 물질적 존재라는 가능성을 배제해주진 않는다. 따라서 결정론과 자유의지를 함께 가질순 없지만, 순수 물질적존재이며, 자유의지를 가질수도 있다는 말이다.

2번째 전제를 보자, “결정론을 따르지 않는 것은 자유의지를 갖는다” 그러나, 몇몇 철학자들은, 자유의지와 결정론. 둘은 양립할 수도 있다라고 생각한다. 따라서, 우리가 결정론을 따른다고 해서 우리가 자유의지를 가졌다는 것을 배제할 수 없다는 것이다. 즉, 결정론과 자유의지는 양립할 수 있다는 주장이다.

이 주장을 따른다면, 즉, 우리는 결정론을 따르며 자유의지를 갖고 또한 여전히 순수 물리적 존재일 수 있다는 것이다. 오늘, 여러분이 이 양립가능성을 믿게 하기 위해서 나(교수)는 아무말도 하지 않았고, 앞으로도 하지 않을 것이다. 

하지만 요점은, 우리가 자유의지를 가졌다는것을 설명하기 위해서 영혼이 존재한다고 성급하게 믿지 말아야 한다는 것이다. 영혼의 존재를 결론짓기 위해서는 많은 전제들을 필요로 한다. 그리고 각각의 전제들은 난해할 수 있다. 각각의 전제들에 대해서 많은 철학적 견해와 과학적 근거가 있을 수 있다. 앞으로 영혼의 존재를 증명해 나가는 것은 여러분의 몫이다.


Chapter 3. Positing the Soul's Existence for Near-Death Experiences [00:15:22]

...


블로그 이미지

시간을 거스르는자

,

Lecture 4 - Introduction to Plato's Phaedo; Arguments for the Existence of the Soul, Part II [January 25, 2007] 

Chapter 1. Introduction to Plato's Phaedo [00:00:00] 

 이건 좀 듣기 어려움. 아무튼 대충 내용은 플라톤의 파이돈을 다음주까지 읽어와야 토의를 진행할 수 있다는 말과 함께 어떤 개념이 플라톤이 말한것이건 소크라테스가 말한 것이건 각각의 view가 무엇이 있는지가 중요하지 그 개념이 어디서 왔는지는 이 수업에서는 중요하지 않다고 함. 

Phaedon(파이돈)의 주제는 소크라테스의 마지막 날에 맞춰져 있다.  대화의 끝에서  그는 독약을 먹고 죽지만 아마도 죽기직전까지 그가 친구들과 토의했던 것은 영혼의 불멸성일 것이다. 그는 놀랍게도 그의 죽음에 대해서 불안해하지도 걱정하지도 않았었다. 그는 그의 영혼의 불멸성을 믿었기 때문에 그의 죽음을 기꺼이 받아들였다. 

Chapter 2. Creativity and Reason in Machines [00:08:27]

 우리는 어떻게 영혼의 존재를 논의할 수 있을까? 저번에 우리는 몇가지 얘기를 했었다. 사람은 단지 기계가 이나라고, 왜냐하면 기계는 추론할 수 없고 생각할 수 없기 때문에. 하지만 이건 주목할 만한 주장은 아닌것 같다. 채스 게임을 하는 컴퓨터는 추론을 할 수 있는것 처럼 보인다. 그들은 목적에 대한 열망을 가졌고 그것을 이루려고 노력한다. 그리고 유저를 패배시키기위해 추론한다.

여기서 우리는 컴퓨터가 무엇인지 적어도 베스트 채스 플레잉 컴퓨터가 못하는 것이 무엇인지 알 필요가 있다. 여러분은 아마도 컴퓨터는 그냥 모든 게임에 대해 모든 가능한 수를 계산해서 움직인다고 생각할 수 있다. 하지만 채스 플레잉 프로그램은 이렇게 작동하지 않는다. 모든 가능한 채ㅡ 게임의 수는 너무 많이 때문이다. 이걸 다 계산하려면 너무 오래 걸린다. 

그렇다면 채스 플레잉 게임 프로그램은 어떻게 동작할까?. 그것들은 당신이 하는것과 똑같은 방버으로 동작한다. 어떤 것을 움직이는것이 좋을까에 대한 몇몇 가능한 수를 가지고 성공적인 수를 선택한다. 만약 당신이 채스 게임에서 진다면 다음엔 좀더 다른 시도를 할 것이다. 컴퓨터도 당신과 같이 작동한다. 만약 당신이 이 채스 프로그램과 채스 게임을 한다면, 프로그램이 어떻게 움직일지 생각하고 두지 않을 것이다. 이 프로그램을 디자인 하는 사람들 또한 “내가 이렇게 프로그램 했으니 저렇게 움직일꺼야” 하고 두지 않는다. 왜냐하면 채스 게임 프로그램은 지속적으로 상황에 맞게 전략을 바꾸기 때문이다. 따라서, 그냥 실력있는 채스 플레이어로 간주하고 채스를 둘 것이다. 현재 채스 프로그램은 사람 채스 챔피언을 이겼다. 지금은 누구도 채스 프로그램을 이기지 못한다. 

Chapter 3. Feelings in Machines, from Marvin to Hal [00:13:43]

“기계는 추론할 수 있는가?”에 대한 질문은 몇몇 영역에서는 “그렇다" 이다. 따라서 추론능력으로 사람이 영혼이 있다고 말하는 것은 타당하지 않은것 같다. 하지만 영혼이 있다고 믿는 사람들은 이렇게 주장할 수 있다. 느낌, 사랑, 두려움, 기분등은 어떤가? 세상에 어떤 기계도 감정을 가질 수 없기 때문에 사람은 단지 physical object가 아니다.

그렇다면, “혹시 무언가를 느낄수 있고 어떤 감정을 가질 수 있는 기계가 있는가?”를 질문해보자. 예전의 TV show중에 어떤 위험상황이 닥치면 위험하다고 계속 외치는 로봇이 있었다. 이것은 로봇이 걱정을 하는것 처럼 보인다.

또 다른 예로, 2001년 A Space Odyssey라는 영화에서는 어떤 행성을 조사하기 위해서 우주비행사들을 파견하는데, 이때 우주선에는 이 중요한 미션을 도와줄 컴퓨터 프로그램 Hal이 함께 탑재되어있었다. 그런데 이 Hal은 사람이 이 중요한 미션을 망친다는 것을 감지하여 사람들을 모조리 죽이고 미션을 수행하려고 한다. 이를 알아챈 우주비행사 Dave가 Hal을 정지시키려고 하는데, Hal이 이것을 감지하고 Dave를 막으려 한다. 영화내용중 Hal은 Dave한테 말한다. 나는 죽는게 두렵다고. 

물론 이건 픽션이지만, “컴퓨터가 말하고 두려워하다니 말도 안돼!”라고 말하는건 편견이라고 본다. 컴퓨터 프로그램이 감정을 느끼는 것은 자연현상이라고 본다. 하지만 컴퓨터는 단지 기계일 뿐이니까 그 안에 회로 이상의것은 없다는 주장이다. 만약에 이것이 맞다면 우리가 감정을 느끼는 것이 영혼의 존재로 설명할 필요가 없다는 것이다.

(실제로 있지 않는 픽션으로 이끌어내는 결론이 좀 맘에 안들긴 하는데, 고도의 지능에 국한된 기능으로 본다면 그럴수 도 있다고 생각한다.) 

 Chapter 4. Qualia in Emotion and Consciousness: The Dualist's Defense and Its Weakness [00:20:34]

 Dualist의 입장에서 생각해보면, 감정과 느낌은 각각 두가지 관점으로 나눌수 있다. 하나는 행동적인 측면이다. 어떤 환경적 변화나 위험을 감지하고 어떠한 행동을 하는 것. 사람과 로봇 둘다 할 수 있는것이 있는 측면이 있고, 또 다른 하나는 경험의 질적인 측면인데, 행동적인 측면과 동시에 일어나는 내면의 느낌이다. 어떤 행동을 하는것이 아닌 내면에 느껴지는 것. 로봇은 이것이 없다는 주장이다.

만약에 빨간색을 본다면, 사람과 로봇 모두 그것을 보고 빨간색이라고 할 수 있다. 하지만 로봇은 이 경험의 질적인 측면을 가질 수 없다. 만약 태어날 때 부터 장님이 사람이 있다면, 그는 빨간색을 알 수 있을까? 만약 그가 과학자라서 어떤 결과로 부터 그것이 빨간색임을 알아낼 수는 있지만 그는 빨간색을 본것이 아니고 상상할 수도 없다. 따라서 이 질적인 경험을 가질 수 없다. 또한 우리의 삶은 이런 측면들로 채워져있다. 색깔, 소리, 냄새등. 이런것엔 경험의 질적인 측면이 있다.

우리는 우리자신에게 물어볼 수 있다. “빨간색을 보면 어떤 기분이 들까?, 커피나 파인애플을 먹으면 어떤기분이 들까?” 컴퓨터는 이런 질적 경험을 모르기때문에 우리는 로봇과 다르다고 주장할 수 있다.

그렇다면 이에 대해서 Physicalist는 어떤 생각일까? 기계한테 의식을 넣을 수 있는 방법이 있다면, 기계또한 내면의 질적 경험을 가질 수 있다. 하지만 지금시점에서, 우리는 어떻게 의식을 넣을 수 있는지 모른다. 만약 이 의식을 우리의 정신적 삶의 질적 측면이라고 한다면, phisical term으로는 설명할 수 없다. 바로 이것이 dualist가 "이것을 설명하기 위한건 soul뿐이야” 라고 말하는 것을 그냥 무시할 수 없는 것이다. 하지만 이것이 soul을 믿는다는 것은 아니다. 아직 우리가 의식에 대해서 물리적으로 설명할 수 없을 뿐이라는 것이다.

14세기에 인간의 삶에 대해서 물리적으로 설명할 수 있었을까? 지금은? 완벽히는 아니지만 14세기에 보다는 좀더 삶에대해서 잘 이해할 수 있는 위치에 있을 것이다. 의식도 마찬가지로 아직 그 영역에 대해서 모를뿐이라는 것이다. dualist들에게 그럼 의식은 어떻게 동작하냐고 물어보면 그들도 그것에 대해서 설명할 수 없다. 만약 soul의 구조와 동작원리에 대해서 누군가가 설명할 수있다면 나는 그 주장을 받아들이겠다. 하지만 설명할 수 없다면 이것은 better explanation이 아니다.

감정말고 창의성(Creativity)에 대해서 생각해 보자. 우리는 음악을 만들 수 있고, 시를 지을 수 있다. 기계는 못하지 않는가? 아니다. 기계도 창의적인 행동을 할 수 있다. 채스 챔피온을 이긴 컴퓨터가 한 행동은 세상 그 누구도 하지 않았던 독창적인 행동이다. 그리고 사람이 들었을때 멜로디를 느낄 수 있는 랜덤이 아닌 세상에 없던 음악을 만드는 기계도 있다. 따라서 이것은 soul을 설명하기에 적합하지 않다.

Chapter 5. Free Will as a Defense of the Soul and Conclusion [00:42:20]

 창의성은 적합하지 않다. 하지만 창의적인 컴퓨터 프로그램은 그냥 일련의 코드를 실행할 뿐이다. 로봇은 그냥 자동으로, 필요에의해서, 기계적으로 프로그램을 따른다. 바로 자유의지를 가지고 있지 않다. 

이건 soul에 대한 새로운 논의 거리다.
1. 우리는 자유의지를 가졌다
2. 결정론을 따르지 않는 것들은 자유의지를 가졌다. (컴퓨터 처럼 state와 코드 라인에 따라서 결과가 결정되는 것들을 결정론을 따르는 것이라고 봄)
3. 모든 순수히 물질적인 시스템은 결정론을 따른다.

4. 위 3개의 전제로부터 결론은 우리는 순수 물질적인 시스템이 아니라는 것이다.


블로그 이미지

시간을 거스르는자

,