컴퓨터에서 데이터를 다루는 여러가지 방법

By | 2023-08-02

지금은 데이터를 관리하는 방법은 거의 데이터베이스를 사용하고 있다.

하지만, 예전에는 데이터를 어떻게 다뤘을까?

예나 지금이나 어떤 프로그램이 동작을 하려면 어떤 데이터가 필요로 한다.

예전에는 파일로 데이터를 관리하였다.

SAM(sequential access method) 파일이라는 말을 들어본 적이 있을 것이다.

말 그대로 순차적으로 처리하는 파일이다.

자기 테이프라는 말도 우리가 흔히 보는 Flow Chart에 등장한다.

생각해보자.

카세트 테이프를 디스크가 나오기 이전에는 저장장치로 사용하였다.

카세트 테이프는 말 그대로 순차적으로 접근이 가능하다.

예전 가수들 노래는 LP나 카세트테이프로 제공되었는데, 그 카세트테이프에 컴퓨터 데이터를 저장하였다.

순서대로 녹음 되었으니, 다음 곡으로 넘어가고 싶을 때는 빨리 감기와 되감기 기능들을 이용하여 다음 곡으로 이동하였다.

그 녹음의 길이를 Offset 이라고 한다.

그 위치를 미리 적어두면 더 빨리 다음 곡을 찾을 거라는 생각에서 나온 것이 ISAM(Index Sequential Access Method) 파일이다.

이 녀석은 SAM 파일과 똑같은 데 다음 노래를 들으려면 얼만큼 빨리 감기를 해야 해라는 것에 얼만큼에 대한 부분을 INDEX로 가지고 있는 것이다.

자, 여기서 컴퓨터는 0과 1만 쓴다는 것을 잘 알고 있을 것이다.

왜?

간단히 얘기하면 0은 전기가 꺼진 상태이고, 1은 전기가 통하는 상태이다.

그래서, 2진수를 사용하고 이를 더 발전하여 8진수 16진수등을 사용하여 계산능력을 증가시켰다.

왜 갑자기 여기서 이 얘기를 하냐고 의아할 지 모른다.

ISAM 파일에서 더 발전한 방향을 설명하기 위해서이다.

ISAM 파일에서 그 다음은 이 정보들을 바이너리(2진)값으로 가지고 있으면 더 빠르지 않을까?

이런 생각에서 나온 것이 RANDOM 파일이라고 생각하면 된다.

RANDOM 파일은 전부 바이너리 값으로 이루어져 ACCESS 속도가 향상 되었다.

하지만, 단점이 있었다.

빠르게 이동하려다 보니, 데이터의 길이가 일정해야 더 빨리 계산하고 ACCESS이동이 용이하다는 것을 알게 되었다.

그래서 데이터 사이즈를 일정하게 했다.

이 데이터 사이즈를 BYTE OFFSET 줄여서 OFFSET이라고 얘기한다.

개발자여도 전공자가 아닌 분들은 들어보지 못했을 수 있다.

그러다가 보니까 이를 쓰는 데 예전에는 디스크도 비싼 데 낭비되는 부분들이 발생되었었다.

그래도 빠르니 필요한 곳에서 사용하였고, 주로 이를 C언어로 구현하였다.

파일로 관리하던 것이 프로그램들이 커지다 보니까, 이 파일 저 파일 뒤지는 것이 많아졌겠지.

사람들은 여기서 멈추지 않고 더 편하게 관리하고 싶은 생각과 어차피 파일을 쓴다면, 이런 일을 하는 걸 한 곳에서 관리하고 싶었겠지.

그래서, 탄생한 것이 데이터베이스다.

나름 전문가들이 관리하기 편하게 만들어 놓은 녀석이지만, 맨 첨에는 에러나 버그도 많아서 예전 파일형태로 계속 개발을 했겠지.

그리고, 현재도 그런 경우는 종종 있다.

그 얘기는 굳이 데이터를 관리하기 위해 작은 규모의 프로젝트면 파일로도 가능하다는 말이기도 하다.

하지만, 뭔가 연동하려면 많이 불편해 지겠지.

암튼, 데이터베이스가 점점 발전하고 자리를 잡았지.

그래서, 현재에 우리가 데이터를 다룰 때는 다 데이터베이스를 사용한다.

왜 개발자들이 현재 데이터베이스를 사용하는 지는 위와 같은 역사가 있다고 생각하면 된다.

이것으로 오늘 글은 마친다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다