CS 질문

- SQL과 NOSQL의 차이

SQL : RDBMS(Relational DataBase Management System)에서 데이터를 저장, 수정, 삭제 및 검색

  • 데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다.(스키마를 준수하지 않은 레코드는 테이블에 추가가 불가함)
  • 데이터는 관계를 통해 여러 테이블에 분산된다.
    => 중복 없이 하나의 데이터를 다뤄 부정확한 데이터를 다룰 위험이 줄어듬.

장.단점
장점

  • 명확하게 정의된 스키마, 데이터 무결성 보장
  • 관계는 각 데이터를 중복없이 한번만 저장


    단점
  • 덜 유연함. 데이터 스키마를 사전에 계획하고 알려야 함. (나중에 수정하기 힘듬)
  • 복잡한 쿼리가 만들어질 수 있음
  • 수직적 확장만 가능함

NoSQL : 스키마도 없고, 관계도 없다!

  • NoSQL에서는 다른 구조의 데이터를 같은 컬렉션에 추가가 가능하다.(한 곳에 넣어서 Join자체가 없다)
    조인을 잘 사용하지 않고 자주 변경되지 않는 데이터일 때 NoSQL을 쓰면 상당히 효율적

장.단점
장점

  • 유연함. 언제든지 저장된 데이터를 조정하고 새로운 필드 추가 가능
  • 데이터는 애플리케이션이 필요로 하는 형식으로 저장됨. 데이터 읽어오는 속도 빨라짐
  • 수직 및 수평 확장이 가능해서 애플리케이션이 발생시키는 모든 읽기/쓰기 요청 처리 가능


    단점
  • 유연성으로 인해 데이터 구조 결정을 미루게 될 수 있음
  • 데이터 중복을 계속 업데이트 해야 함
  • 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 모든 컬렉션에서 수행해야 함 (SQL에서는 중복 데이터가 없으므로 한번만 수행이 가능)

Scaling (서버의 확장성)

  • 수직적 확장 : 데이터베이스 서버의 성능을 향상(ex. CPU 업그레이드) -> SQL은 이거만 지원, NoSQL도 가능.
  • 수평적 확장 : 더 많은 서버가 추가되고 데이터베이스가 전체적으로 분산됨을 의미 (하나의 데이터베이스에서 작동하지만 여러 호스트에서 작동) -> NoSQL에서만 가능

- 정규화(Normalization)

목표 : 테이블 간 중복된 데이터를 허용하지 않는 것
=> 무결성 유지, 용량을 효율적 관리

목적

  • 불필요한 데이터를 최소화
  • 무결성 유지
  • 테이블 구성을 논리적, 직관적
  • 데이터베이스 구조 확장에 용이해진다.

제 1정규화(1NF)

  • 어떤 릴레이션에 속한 모든 도메인이 원자값(1개의 값)만으로 되어 있어야한다.
  • 모든 속성에 반복되는 그룹이 나타나지 않는다.
  • 기본키를 사용하여 관련 데이터의 각 집합을 고유하게 식별할 수 있어야 한다.

제 2정규화(2NF)
기본키가 복합키(키1, 키2)로 묶여있을 때, 두 키 중 하나의 키만으로 다른 컬럼을 결정지을 수 있으면 안된다.

제 3정규화(3NF)
2NF가 진행된 테이블에서 이행적 종속을 없애기 위해 테이블을 분리하는 것이다.
이행적 종속 : A → B, B → C면 A → C가 성립된다
칼럼 간의 관계를 표현할 때 이 들이 모두 동일한 테이블에 있으면 안 된다는 것.

- 페이지 교체 알고리즘

page demanding방식에 의해 필요한 페이지만 메모리에 로딩을 함.
메모리가 가득 찬 경우 추가로 페이지를 가져오려면 공간을 차지하던 페이지를 하나 버려야함.
그 때, 기왕이면 수정이 되지 않는 페이지를 선택해야 좋음 (Why? : 만약 수정되면 메인 메모리에서 내보낼 때, 하드디스크에서 또 수정을 진행해야 하므로 시간이 오래 걸림)

FIFO(First-in First-out) : 메모리에 먼저 올라온 페이지를 먼저 내보내는 알고리즘

맨 처음 RAM이 비어있을 때 가져오는 것도 결국 page falut라서 카운팅을 해야함.

OPT(Optimal Page Replacement) : 앞으로 가장 사용하지 않을 페이지를 가장 우선적으로 내보냄

실질적으로 사용이 어려움 후에 사용되는지 아닌지를 모르니까

LRU(Least-Recently-Used) : 최근에 사용하지 않은 페이지를 가장 먼저 내려보내는 알고리즘
LRU의 경우는 과거를 보고 판단하므로 실질적으로 사용이 가능한 알고리즘 -> 지역성에 의거

- 메모리

메인 메모리(main memory) : CPU가 직접 접근할 수 있는 기억 장치



신문

- 카뱅 직원, 1인당 1억 손실…쪽박 위기 처한 우리사주

주가폭락 속 보호예수해제 임박

물량이 많이 풀릴 예정이다. 큰 하락이후의 작은 반등은 기대해 볼 만하다. 물량으로 인한 하락이라 볼 수 있을 것 같다.

- "빠질만큼 빠졌다"…외국인, 게임株 집중매수

증권가에서는 그동안 낙폭이 과대했다는 시장의 인식이 작용한 것으로 해석하면서도 이전 주가 수준으로 회복하기 위해선 실적 개선이 필요하다고 지적한다.

대부분 이렇게 집중 매수를 할 때면 언제나 길게 가지 않았던 것 같다. 실적 나오기 전에 다 팔고 다시 하락할 흐름이 오지 않을까.

- "오를 땐 좋았는데"…무상증자 테마주 투자 개미들, 한숨

무상증자는 기존 주주에게 무상으로 새로 발행하는 신주를 배정해 주는 것을 뜻한다.

어쩌다가 저게 테마가 되지.. 쭉 내려 박았으면 다들 테마라고 생각도 안 했을 텐데
걍 최근 변동성이 좀 적어서 변동성 큰 곳에 관심이 몰린것이 아닌가?
호재라고 치기는 한단다..



0개의 댓글