트랜잭션과 ACID: 은행 이체가 ‘정확하게’ 처리되는 기술적 원리
왜 은행 이체는 거의 틀리지 않을까인터넷 뱅킹이나 모바일 앱으로 이체를 할 때 사용자는 몇 초 안에 “이체가 완료되었습니다”라는 메시지를 본다. 계좌에서 돈이 빠져나가고, 상대 계좌에 돈이 들어가는 과정은 눈에 보이지 않지만, 거의 항상 정확하게 처리된다.그러나 내부에서는 여러 가지 위험이 상존한다.이체 도중 서버가 다운될 수도 있고,네트워크가 끊길 수도 있고,같은 이체 요청이 두 번 들어올 수도 있다.그럼에도 불구하고 은행 시스템이 안정적으로 동작하는 이유는 데이터베이스 트랜잭션(Transaction)과 ACID 특성(Atomicity, Consistency, Isolation, Durability) 덕분이다.이 글에서는 트랜잭션, ACID, 은행 이체, 데이터베이스, 일관성을 핵심 키워드로 삼아,트랜..
데이터베이스 기초: 엑셀과 무엇이 다르고 어디에 쓰이는가
엑셀로 시작했는데, 왜 데이터베이스가 필요해지는가많은 사람이 데이터 관리를 시작할 때 가장 먼저 떠올리는 도구는 엑셀이다. 판매 내역, 고객 명단, 재고 관리, 학습 기록 등 대부분의 업무가 엑셀 한 파일로도 어느 정도는 처리 가능하기 때문이다. 초반에는 시트 몇 개로도 충분해 보이고, 필터와 정렬만 잘 써도 “이 정도면 됐다”라고 느끼기 쉽다.그러나 데이터가 점점 많아지고, 함께 일하는 사람이 늘어나고, 정보가 복잡해질수록 엑셀만으로는 한계가 드러난다. 파일이 자꾸 깨지거나, 버전이 여러 개 생기고, 같은 고객이 여러 행에 중복되며, 누군가 필터를 잘못 건 채 저장해 전체 정렬이 꼬이는 일도 흔하다. 이 시점에서 등장하는 개념이 바로 데이터베이스(Database)이다.이 글에서는 데이터베이스, 엑셀, ..
패킷과 포트 번호: 하나의 인터넷 회선으로 여러 서비스가 동시에 동작하는 비밀
인터넷 회선 하나로 왜 이렇게 많은 일이 될까집이나 회사에서 사용하는 인터넷 회선은 보통 하나이다. 그런데 이 한 회선 위에서웹 서핑,유튜브 동영상 재생,메신저,화상 회의,클라우드 파일 동기화가 동시에 돌아가도 대체로 큰 문제 없이 동작한다.겉으로 보면 “선 하나”에 불과한데, 어떻게 서로 다른 네트워크 서비스들이 섞이지 않고 각자 제자리로 정확히 도착하는지 궁금해질 수 있다. 이 비밀을 이해하려면 패킷, 포트 번호, TCP/IP, 인터넷 회선이라는 키워드를 알아야 한다.이 글에서는 전산학 비전공자도 이해할 수 있도록인터넷에서 데이터를 잘게 나누는 단위인 패킷이 무엇인지,하나의 IP 주소 안에서 여러 포트 번호가 왜 필요한지,이 구조 덕분에 하나의 인터넷 회선으로 여러 서비스가 동시에 동작하는 원리가 무..
HTTP와 HTTPS: 웹 브라우저가 웹사이트와 대화하는 규칙과 보안
HTTP와 HTTPS를 알면 주소창 자물쇠의 의미가 보인다사용자는 웹 브라우저 주소창에 웹사이트 주소를 입력하고, 별다른 고민 없이 로그인, 쇼핑, 결제를 진행한다. 화면만 보면 단순히 “페이지가 잘 뜨는지” 정도만 신경 쓰게 된다. 그러나 그 뒤에서는 HTTP, HTTPS, 웹 브라우저, SSL/TLS, 암호화 같은 기술이 웹사이트와 브라우저 사이의 대화를 지키고 있다.특히 주소창 왼쪽에 있는 자물쇠 아이콘은 사이트의 보안 상태를 간단히 보여주는 신호이다. 같은 사이트 주소라도 http://로 시작하는지 https://로 시작하는지에 따라,아이디와 비밀번호,카드 번호,주민등록번호, 주소 같은 개인정보가중간에서 쉽게 노출될 수도 있고, 강하게 보호될 수도 있다.이 글은 전산학 비전공자도 이해할 수 있도록..
라우터와 스위치: 집·회사 네트워크에서 트래픽을 나누는 방법
인터넷 선 하나로 여러 기기가 동시에 통신하는 이유집이나 사무실에서 인터넷을 사용할 때 보통 하나의 인터넷 회선을 공유한다. 하지만 실제로는 PC, 노트북, 스마트폰, 프린터, TV 등 여러 기기가 동시에 인터넷을 사용한다. 동영상 스트리밍, 파일 다운로드, 화상 회의가 한꺼번에 이루어지는데도 대부분 큰 문제 없이 동작한다.이 구조를 가능하게 해 주는 핵심 장비가 라우터(router)와 스위치(switch)이다. 겉으로 보기에는 모두 “인터넷 선을 여러 개로 나눠 주는 상자”처럼 보이지만, 내부에서 하는 역할과 네트워크 트래픽을 처리하는 방식은 분명히 다르다.이 글에서는 라우터, 스위치, 네트워크 트래픽, 가정용 공유기, 회사 네트워크를 핵심 키워드로 삼아,라우터와 스위치가 각각 하는 일을 구분하고,집과..
TCP/IP 네트워크 기초: 인터넷에서 데이터가 ‘정확히’ 도착하는 이유
인터넷에서는 어떻게 길 잃지 않고 도착할까우리가 인터넷을 사용할 때는 주소창에 웹사이트 주소를 입력하거나, 메신저로 메시지를 보내고, 동영상을 스트리밍하는 일이 자연스럽게 이루어진다. 화면만 보면 모든 데이터가 한 번에 쭉 이어져서 전달되는 것처럼 보이지만, 실제로는 수많은 작은 조각들이 전 세계를 돌아다니며 목적지에 도착한다. 그 과정에서 중간 경로의 일부가 고장 나거나, 혼잡해지거나, 일시적으로 끊어지는 일도 계속 생긴다.그럼에도 불구하고 대부분의 경우 웹 페이지는 온전하게 뜨고, 파일은 손상 없이 잘 내려받아진다. 이 “정확한 도착”을 보장하기 위해 사용되는 핵심 기술이 TCP/IP, 네트워크 프로토콜, 패킷, 신뢰성, 재전송 같은 개념이다.이 글에서는 전산학 비전공자도 이해할 수 있도록,인터넷에서..