본문 바로가기
DB 공부하기

230417_DB복습

by 보랏 2023. 4. 17.

안녕하세요. 보랏입니다. 

 

이번주 또 새롭게 한 주가 시작되었는데 

오늘은 파이썬 알고리즘 문제와 SQL문제를 위주로 풀었습니다.

 

그래서 문제를 올리기에는 좀 이상할거 같아 배웠던 알고리즘과 

개인적으로 공부했던 AWS정리내용을 올리도록 하겠습니다.

 

복습 시작하겠습니다. 

 

1. 이진 탐색 알고리즘

  • 데이터가 오름차순 또는 내림차순으로 정렬된 상태에서 유효한 탐색법

  • 탐색 범위의 하한을 low, 상한을 upper라고 하고, x = (low+uppe) / 2 위치의 데이터와 키를 비교
  • 키가 더 크면 키의 위치가 x보다 위에 있으므로 low를 x+1로 지정
  • 반대로 키가 더 작으면 키의 위치는 x보다 아레에 있으므로 upper를 x-1로 지정, 이 과정을 계속해서 low <= upper인 동안 반복 진행
    • 최최 low=0, upper=9므로 x=(0+9)/2 = 4가 된다. 4번 데이터인 31을 찾을 데이터 50과 비교하면 50이 더 크므로 low=4+1 = 5로 설정
    • low=5, upper=9므로 x=(5+9)/2 = 7이 된다. 7번 데이터인 70과 50을 비교하면 50이 더 작으므로 upper=7-1=6이 된다.
    • low=5, upper=6일 때 x=(5+6)/2=5가 되고, 5번 데이터인 50과 찾는 데이터 50을 비교해서 원하는 데이터를 찾게 된다.
N = int(input())
A = list(map(int, input().split()))
A.sort()
M = int(input())
target_list = list(map(int, input().split()))


for i in range(M):
    find = False 
    target = target_list[i]
    
    # 이진 탐색(Binary Search)
    start = 0 
    end = len(A) - 1
    while start <= end:
        midi = int((start+ end) / 2)
        midv = A[midi]
        if midv > target:
            end = midi - 1
        elif midv < target:
            start = midi + 1
        else:
            find = True 
            break
    if find:
        print(1)
    else:
        print(0)

 

 

 

2. AWS 인스턴스

  • 클라우드 컴퓨팅에서 인스턴스는 타사 클라우드 서비스에서 제공하는 서버 리소스
  • 데이터 센터에서 하드웨어를 유지 및 관리하고 인스턴스라는 형태로 컴퓨팅 리소스에 대한 가상 엑세스를 제공
  • 컨테이너, DB, 마이크로 서비스, 가상 머신 등의 집약적인 워크로드 실행 가능
  • 클라우드 인스턴스는 가상 머신 기술을 사용하여 물리적 컴퓨팅 인프라를 추상화 -> 클라우드 자체 서버 시스템을 두는 것과 비슷
  • 인스턴스 특징
    • 클라우드 인스턴스를 통해 소프트웨어 개발자는 기존의 물리적 경계를 넘어 조정 가능
    • 워크로드 요구 사항에 따라 클라우드 인스턴스의 컴퓨팅 리소스를 조정
    • 백업을 위해 여러 중복 인스턴스를 사용하여 중복성을 생성
  • 인스턴스 패밀리
    • 범용(t2, t3, m5, m4, m3 등)
      • 트래픽이 적은 웹 사이트와 웹 애플리케이션
      • 소형 데이터베이스 및 중형 데이터베이스
    • 컴퓨팅 최적화 (c5, c4, c3 등)
      • 고성능 프론트 엔드 집합
      • 비디오 인코딩
    • 메모리 최적화 (r5, r4, x1 등)
      • 고성능 데이터 베이스
      • 분산 메모리 캐싱
    • 스토리지 최적화 (h1, i3, i2, d2)
      • 데이터 웨어하우징
      • 로그 또는 데이터 처리 애플리케이션
    • GPU인스턴스 (p3, p2, g2)
      • 3D 애플리케이션 스트리밍
      • 기계 학습

 

3. AWS 프로비저닝 

  • 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것
  • 프로비저닝 유형
    • 서버 프로비저닝 : 물리 또는 가상 하드웨어를 설정하고, 운영체제, 애플리케이션과 같은 소프트웨어를 설치 및 구성하여 미들웨어, 네트워크, 스토리지 구성 요소에 연결하는 프로세스
    • 클라우드 프로비저닝 : 네트워킹 요소 설치, 서비스 등과 같은 조직의 클라우드 환경에 맞는 기본 인프라를 생성하는 작업
    • 사용자 프로비저닝 : 이메일, 데이터베이스, 네트워크와 같은 기업 환경 내부의 서비스 및 애플리케이션에 권한을 부여하는 작업
    • 네트워크 프로비저닝 : IT인프라와 관련하여 라우터, 스위치, 방확벽과 같은 구성요소 설정 및 IP주소 할당

 

오늘은 정리할 내용이 많지 않아 금방 끝났네요.

이렇게 마무리 하도록 하겠습니다. 

 

감사합니다.

'DB 공부하기' 카테고리의 다른 글

230419_DB복습  (0) 2023.04.19
230418_DB복습  (0) 2023.04.18
230411_DB복습  (0) 2023.04.11
230410_DB복습  (0) 2023.04.10
230406_DB복습  (0) 2023.04.07