Optimistic이냐 Pessimistic이냐?

동시성 제어(Concurrency Control) 관련하여 Optimistic/Pessimistic이란 용어가 있다. 낙관적/비관적이라고 번역하기도 한다. 자세한 설명은 Wikipedia에서

이야기하고자 하는 건 알고리즘 등이 아니고.

이슈가 되는 몇가지 인터넷 관련 정책 - 인터넷 뱅킹, 본인 확인제, 전자상거래, DDoS 관련 보안, 스마트폰 보안 - 들을 보면 우리나라의 정책들은 Pessimistic 쪽에 많이 치우쳤다는 생각이 든다.

Pessimistic 알고리즘이 구현도 편하고 확실히 처리되는 면이 있다. 그래서 Naive하게 구현하긴 쉽지만 성능상 문제도 있고 심각한 부작용이 있을 수도 있다. 상황을 자세히 분석해야 하긴 하지만 보통은 성능면에서도 우선 Optimistic 알고리즘을 고려해보는 게 나은 걸로 알고 있다.

그렇지만 우리나라 정책들은 왜들 일단 막고 보는 스타일의 Pessimistic 알고리즘에 강하게 치우쳐 있을까? 충돌(Conflict)이 자주 발생하지 않은 경우에는 대다수의 일반 프로세스 처리에 오버헤드가 있고 확장성에 문제도 있는데?

한국인들은 영악하기 때문에 일단 막고 보는 게 필요한 걸까? 아니면 무지하거나 게을러서 그것밖에 생각하지 못하는 걸까? 성향이 그래서 그냥 그걸 더 선호하는 것일까?

by Corund | 2010/01/06 12:14 | 트랙백 | 덧글(1)

Commented at 2010/01/06 13:53
비공개 덧글입니다.
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.

◀ 이전 페이지다음 페이지 ▶