DB 트랜잭션에 대한 궁상

기술 부채가 마냥 나쁘지만은 않은 까닭

by Younggi Seo





테슬라가 자율주행 레벨 3 (감독형 Full-Self Drive)의 라인을 국내에도 출시했다. 아직까지 사고가 나면 운전자에게 책임이 전가되는 수준의 자율주행차다. 그러나 한국과 다른, 미국 특정 주의 법망에서는 충돌 사고를 FSD가 막지 못했을 경우 테슬라가 책임을 분담하게 될 수도 있다고 한다.



IaaS, PaaS, SaaS에서 고객과 CSP 간의 관리 영역 [사진=베스핀글로벌 ]


위의 표, '클라우드 책임공유 모델'에서 IaaS (인프라로써 클라우드 서비스)와 PasS (플랫폼으로써 클라우드 서비스) 그리고 SaaS (소프트웨어로써 클라우드 서비스)와 같이, 시스템 영역에 포함한 한계가 있기 때문에 자율주행차에서도 FSD를 이용한 사고는 구체적인 상황에 따라 운전자와 테슬라가 책임을 공동으로 져야 할 가능성이 있다고 말한다.


완전 독립형 운전이 가능한 레벨 5 수준이 상용화되는 시기를 전문가들은 2035년 전후로 예상하고 있다. 필자는 올해로 11년간 몰고 있는 아방이(Avante 2015) 모델을 2035년에 완전자율주행차가 도입되는 시기에 한 번 바꿀 생각을 가지고 있다. 아직은 내비게이션 맵이나 시스템 업데이트를 통신으로 자동업데이트 해주는 기능을 썩 믿을 수 없는 게 가장 큰 까닭이다.



차라리 맘 편하게 이러한 무선 자동업데이트 기능이 없는 지금의 기본 옵션이 오히려 안전할 거 같다. 왜냐하면, 도로 위의 스마트카가 해킹으로부터의 위협이나 서비스업체의 일방적인 개인정보 수집 법적 규제에서 완전한 신뢰(Transparency)가 구축되려면, 레벨 5의 자율주행차가 도입되기 전 시점에 어느 정도 안정화가 이루어질 거라 보기 때문이다.



그럼에도 불구하고 아직까지, 뭔가 외부 통신으로부터 차의 소프트웨어를 일정 부분 노출 시켜야 한다는 거 자체가 꺼림칙하다. 내연기관차를 21세기에 끌고 다니더라도, 이러한 기술부채*는 오히려 자신의 신변을 위해서 유지하는 게 나을 성싶다.




자율주행차에서 어떤 제어가 수행될 때, 데이터베이스 관리 시스템에서 말하는 '트랙잭션'이라는 작업단위가 굉장히 중요하다고 생각한다.


트랜잭션 (Transaction)

DBMS에서 데이터를 다루는 논리적인 작업의 단위

DB에서 데이터를 다룰 때 장애가 일어난 경우 데이터를 복구하는 작업의 단위가 된다.

DB에서 여러 작업이 동시에 같은 데이터를 다룰 때가 이 작업을 서로 분리하는 단위가 된다.

트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야 한다.(All or Nothing)


은행의 ATM(자동현금입출금기)에서 이 작업의 단위는 어떤 장애가 터졌을 경우, 데이터를 복구하는 작업의 단위가 되고, 또한 한 번의 작업으로 전체가 수행되거나 또는 전혀 수행되지 않아야 한다. 현금 백만 원을 해외에 있는 친구에게 송금을 하려는데, 해킹에 의해 중간에 가로채더라도(하이재킹), 작업을 취소하면 계좌이체 작업이 완전히 취소되어야 한다. 이른바 '롤백(rollback)'을 통해 데이터를 복구할 수 있기 때문에, 금전 또는 인간의 생명이 달려 있는 경우 이 트랜잭션의 역할은 더욱 중요하다.


인간의 생명이 왔다 갔다 하는 운전 간에 어떤 장애로 인한 사망사고가 발생한다면, 사고 후 법적 책임공방이나 기술부채 따위를 논할 문제의 성격으로만 치부하기에는 어렵다. 잘못된 데이터나 악성코드의 유입으로 인한 프로세스를 감지와 동시에 운전과 관련된 제어프로세스의 원상복구가 바로 이루어져야 한다. 그럼에도 불구하고 레벨 3의 현재 자율주행차가 시범케이스로 테슬라가 레벨 5로 기술발전을 도약하는데 얼마나 많은 기술적 시행착오(데이터)를 가져다줄지의 귀추가 주목된다.






*기술부채

IT에선 "이 코드 내가 10년 동안 고쳐가며 썼는데, 아직 돌아가긴 해"라며 리팩토링**을 거부하는 개발자의 심리와 같다. 하지만 그 사이 기술 부채의 이자는 복리로 붙어, 나중에 정말 차가 멈췄을 땐 전환 비용이 지금의 몇 배가 되어 있을 것임.

결국 "기술 부채를 상환할 시점"은 내연기관차를 고쳐 쓰는 비용(이자)이 새 차를 할부로 사는 비용(원금 상환) 보다 커지는 그 임계점일 텐데, 그전까지는 누구나 '부채'인 걸 알면서도 외면함.


**리펙토링(Refactoring) 개념비유


keyword
월요일 연재
이전 11화개정된 정보처리기사에 대한 사설