이번 시간에는 DB Transaction Isolation Level에 대해서 알아보겠습니다. DB Transaction Isolation Level이란 특정한 트랜잭션이 다른 트랜잭션에 변경한 데이터를 보게 할 지 결정하는 것입니다. 예를 들어, 같은 DB를 사용하는(DBA, Software Engineer, 시스템 사용자..) 사람이 특정 데이터를 조회하려고 하는데, DB Transaction Isolation Level의 설정때문에 데이터를 조회하는데 특정 데이터에 Lock이 걸려 한 없이 기다리고 있을 수도 있고, 커밋되지 않은 데이터를 읽게 설정해 잘못된 데이터를 읽을 수도 있습니다. 따라서! 실무에서는 DB Transaction Isolation Level을 올바르게 설정하고 이해하는 것이 무..
이번 포스팅에서는 인덱스에 대해서 알아보겠습니다. 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조 입니다. 추가적인 쓰기 작업과 저장 공간은 어떻게 이루어져 있을까요? 아래 그림에서 예시를 통해 알아보겠습니다. 오른쪽 테이블에 Data라는 컬럼에 인덱스를 생성한 것이라면,, 해당 Data라는 컬럼의 데이터를 정렬한 후 별도의 메모리 공간에 데이터의 주소와 함께 저장됩니다. 즉, 컬럼의 값과 물리적 주소를 한 쌍으로 저장하는 것이죠 실무에서는 인덱스를 잘 설정하는 것이 매우매우 중요합니다! 실무에서는 정말 복잡한 수백개, 수천개 이상의 SP(Stored Procedure)를 사용하는데.. Index를 설정하지 않아 SP 처리속도가 느리게..
이번 포스팅에서는 2-1포스팅에 이어 System Structure & Program Execution 마저 진행하려고합니다. CPU, Memory를 포함하는 걸 컴퓨터라고 한다. 컴퓨터를 다른말로 호스트라고한다. 호스트컴퓨터에 붙어서 데이터를 input, output하는 디바이스들이 있다. 디바이스들을 전담하기 위한 컨트롤러들이 붙어있다. I/O 디바이스를 통해서 데이터를 읽거나 쓰거나 하면서 LOCAL buffer에 데이터를 저장한다. CPU에 뭔가를 알려주고 싶을 때는 컨트롤러가 인터럽트라는걸 걸어서 뭔가 전달할일이 있다고 알려주게 된다. CPU는 매 순간 메모리 어디에 올라와 있는 기계어를 처리한다. CPU에서 매 순간 메모리에 있는 기계어를 읽어와서 실행한다. CPU안에 있는 레지스터 중에서 메..
이번 포스팅은 System Structure & Program Execution에 대해 알아보겠습니다! 컴퓨터 시스템 구조는 Computer(CPU, Memory), I/O Device(Disk, Keyboard, Printer, Monitor)로 구성되어 있다. 메모리라는건 CPU의 작업 공간을 의미한다. CPU는 기계어를 하나 씩 읽어서 실행한다. I/O Device는 별 개의 디바이스이다. 예를 들어 키보드를 두들기면 정보가 컴퓨터로 들어간다! 키보드는, Input 디바이스이다. 프린터나 모니터같은건 결과를 내보내기 때문에 Output 디바이스이다. 하드디스크는 보조기억장치이지만, I/O Device라고도 볼 수 있다. Input Device로서의 역할도 하고, Output Device의 역할도 수..
https://friendshipkim97.tistory.com/41?category=1035110 [Mentoring] 청년고민해결단 온라인 멘토링 회고록 2022.04.02 청년고민해결단 온라인 2차 멘토링을 받았다! 사실 2주 전에 1차 멘토링이 있었지만,, 불가피하게도 코로나에 걸려 참여하지 못했다.. 그래서! 이번 2차 멘토링에 열정가득한 마음으로 참 friendshipkim97.tistory.com 저번 청년고민해결단 온라인 멘토링에서 멘토님이 KOCW 반효경 교수님의 운영체제강의를 추천해주셨었다! 평소에 CS지식에 대한 부족함을 많이느껴 들어야겠지라는 막연한 생각만 가지고 있었는데, 방학을 맞이해 반효경 교수님의 강의를 통해 제대로 정리해보고자 한다! 먼저! 운영체제란 컴퓨터 하드웨어 바로 ..
비트코인, 이더리움, 에이다 등등이 돌아갈 수 있는 기반은 바로 블록체인이라는 개념 때문이다. 블록체인이란 무엇일까? Block + Chain의 합성어로 블록들이 모여 있는 체인이다. 블록체인은 위의 그림과 같이 구성되어 있다. 그렇다면 블록은 무엇일까? 블록은 추가만 되는 데이터베이스이다. 즉 편집이 불가능한 데이터베이스 인 것이다. 이 데이터베이스의 데이터는 결혼증명서, 운전면허증, 대학교 학위와 같은 것들이 저장될 수 있다. 비트코인같은 경우에는 이 데이터가 거래내역들(누가 얼마 갖고 있고, 누가 누구에게 얼마나 보냈고..)이 저장되는 것이다. 위에서 설명했듯 이 블록은 그 누구도 삭제할 수 없다는 특성 때문에 중요한 정보들을 그대로 잘 보관할 수 있다! 또한 블록체인은 '탈중앙화' 구조인데, 이는..