DB를 무엇을 쓸지 정했는데, 생각해보니 전체적인 System Architect도 진행되어야할 것 같아서, 여러가지 설계를 진행해보았다. 설계를 안해본 것은 아니지만, 대부분 "잘" 만들어져있는 서비스를 클론코딩을 하거나, "잘" 예시가 되어있는 것들을 만들어봐서 이런 경험은 적었던 것 같다.
우리는 이 과정을 "인프라 구축하기"라는 말로 불렀다.
설계의 첫 과정은 아주 원초적인 것 부터 시작을 했다. 어떤 목적을 위해 이 서비스를 구축하고, 이 서비스를 위해서 어떤 기능들이 필요한지 정의를 해보았다.

우선 , 중심되는 "서버"가 있을 것이고, 이 서버는 HTTP 통신을 위한 "웹"서버의 기능을 포 함하게 될지, TCP/IP 통신이나 와이파이 통신을 위한 네트워크 프로그래밍 영역으로 갈지는 명확하게 정의하진 않았다. 어쩌면 둘 다 해야할 수도 있었기 때문이다.
우리의 목적은 HW에서 발생되는 데이터들을 쌓게 하고, DB로 전송시키는 시스템을 구축하려고 한다.
여기서 중요한 건 초당 300개의 데이터가 발생해서 초당 300개의 INSERT가 날라간다는 점이다. 이 Writing이 자주 되는 문제점을 해결해야한다.

하하하하핳하하하
온프레미스로 직접 구축을 해야한다는 이야기네요. 하하하하하하
DB Server도 구축을 해야하고 , Service가 돌아가야할 로직도 작성해야하는데 인프라부터 구축을 해야한다? 하지만 나, 컴퓨터공학도 "서버"란 것 또한 컴퓨터일 뿐. 하나씩 해보자.
우선, 하드웨어적인 성능을 "최대한" 뽑아내야한다. 연구실의 안쓰는 본체가 3개가 있어서, 3개를 하나로 합치는 과정을 실행해보려고 한다.
메인보드가 제일 최신이고, GPU 소켓이 많은 친구를 기반으로 연성을 시작했다.

메모리: 64GB
CPU: intel i7-12700K
GPU: RTX 3080 + RTX 3060 2장
POWER : 1000W + 850W(보조)
결과물은 무슨 채굴기처럼 생기게 되어버렸지만,(실제로 졸업작품비 지원받는 과정에서 채굴하냐고 물어봤다), 엄연히 GPU를 사용해서 AI를 빠르게 돌리기 위한 서버이다.
나중에 찾아보니까, 이런 PC를 WorkStation이라고 하더라구요.. 이거 사달라고 할걸...
( 내 노력 돌려줘요 )
Linux Server를 설치한 줄 알았는데 , ubuntu Desktop 이었다. Ubuntu는 GUI가 특징인줄 알았는데, 생각해보니, 내가 다루어보았던 Server들은 다 CLI였어서 위화감에 찾아보니까
Desktop을 신나게 설치한거 였다.

어제 한글패치랑 , ssh 설정까지 해놨는데, 그게 Desktop이었다. 음. 역시 사람은 합리화하는 동물인 것같다. GUI가 Ubuntu의 특징이라고 "합리화"시키며, 거기에 생각을 안한 것 같다. 하지만, 조금만 생각해보면 CLI기반으로 해서, SSH로 붙는건데 서버는..
다음글은 ubuntu Server 설치와 ssh 설정과 보안설정을 하는 이야기가 될 것 같다.
(계정관리 + SSH 통신관리 + 방화벽 설정) 그 다음 GPU 사용을 위한 그래픽 드라이버 설치, gcc , vim , 한국어 패치 등을 진행하면서 글을 적을 것 같다.