REST API, DB, SQL

0
  • REST API
    : 웹 상에서 상호작용하는 데 사용되는 인터페이스 설계 원칙
  1. Resource: 각각의 자원을 고유한 URI로 표현
  2. Stateless: 각 요청이 서버의 이전 상태를 참조하지 않음 => 서버와 클라이언트 간 의존성 낮아짐.
  3. Cache: 캐시기능 => 응답결과 저장 및 재사용(서버 부하 감소 및 성능향상)
  4. 클라이언트-서버 구조: 클라이언트와 서버가 분리된 구조
  5. 계층화 구조: 여러 계층 구성=> 시스템의 구성과 관리가 용이, 보안성 향상
  6. 표준화된 매소드: GET,POST,PUT,DELETE=> 간결성 및 가독성 향상

  • Database 가 없다면?
  1. 데이터 저장 제한
  2. 데이터 조회 속도 저하 => 사용자 경험 저하 및 앱의 성능 저하
  3. 데이터 일관성 및 무결성 문제
  4. 보안문제 => 암호화, 접근제어 사용 불가능
  5. 확장성 제한
  6. 코드 복잡성 증가 => 유지 보수 어려움

  • RDB
  1. 테이블 구조로 구조화된 데이터

  2. SQL을 통한 조회, 추가, 수정, 삭제

  3. 트랜잭션 지원

  4. 수평확장 지원 제한적 => 성능 저하

  5. 유연성 부족

  • NoSQL
  1. 수평확장 가능 => 성능 뛰어남

  2. 유연성

  3. 다양한 데이터 모델

  4. 일관성 보장 X

  5. 표준화된 질의 언어 X

  6. 트랙잭션 지원 부족


  • GET /memos?sort_by=created&sort_order=desc
  • GET /memos?sort_by=title&sort_order=asc

  • WHERE
    : SELECT * FROM employees WHERE age >30;
    : 기본적인 조건 필터링할 때

  • HAVING
    : 그룹화된 데이터에 조건을 적용하여 필터링 할 때
    : SELECT department,COUNT(*) as employee_count
    FROM employees GROUP BY department HAVING employee_count>10;

profile
제대로 꾸준하게 / 블로그 이전 => https://dailybit.co.kr

0개의 댓글