개요SQL에서 NULL의 의미와 Three-Valued Logic(3값 논리)에 대해 명확히 이해한다.NULL은 단순히 "값이 없다"가 아니라, 여러 상황을 통칭하는 특별한 상태이며,이 때문에 SQL의 비교 연산 및 조건 처리에서 독특한 동작을 보인다.내용SQL에서의 Null의 의미NULL은 단일한 개념이 아니라 다음과 같은 여러 의미를 포함한다.Unknown — 값이 존재하나 현재 알 수 없음예) 생일 정보가 아직 입력되지 않음.Unavailable or Withheld — 값은 있으나 공개하지 않음예) 민감한 개인정보라서 비공개 처리.Not Applicable — 해당 속성 자체가 적용되지 않음예) 집 전화가 없는 경우.SQL에서는 이 모든 경우를 하나의 값 NULL로 표현한다.따라서 NULL을 다룰..
전체 글
개요데이터베이스(Database)는 개발자뿐 아니라 기획자, 데이터 분석가 등 모든 IT 직군이 기본적으로 이해해야 하는 핵심 개념이다. 이번 글에서는 데이터베이스의 기초를 다시 훑어보며, 주요 용어의 의미와 그들 간의 관계를 명확히 정리한다. 내용데이터베이스의 정의데이터베이스(Database)는 전자적으로 사용되는 관련 데이터의 조직화된 집합을 뜻한다.데이터는 같은 목적이나 같은 출처로 묶이며,조회와 갱신이 쉽도록 구조화되어 있다.예를 들어, 쇼핑몰의 데이터베이스는 ‘상품 정보’, ‘고객 정보’, ‘주문 내역’처럼 서로 관련된 데이터를 체계적으로 저장한다. DBMS의 정의DBMS(Database Management System)는 데이터베이스를 정의·생성·접근·관리하는 소프트웨어를 말한다.대표적으로 O..
개요URL 단축(URL Shortening) 서비스는 긴 URL을 짧은 형태로 변환해주는 웹 서비스이다. 예를 들어, https://example.com/very/long/pathasdasdasd 같은 URL을 https://tinyurl.com/2ee6n3sn처럼 훨씬 짧은 주소로 바꾸어준다. 이렇게 생성된 단축 URL을 클릭하면 원래의 긴 URL로 리디렉션된다. 대표적인 예로 TinyURL이나 Bitly 등이 있으며, 트위터와 같이 글자 수 제한이 있는 플랫폼에서 인기를 끌었다. 이러한 서비스는 긴 URL을 짧게 공유하기 쉽게 만들어주고, 데이터베이스에 그 매핑 정보를 저장하여 사용자의 접근 시 원래 주소로 안내해준다. 이제 이러한 URL Shortener 서비스를 설계하는 방법에 대해 단계별로 살펴..
개요 데이터 엔지니어와 백엔드 개발자들이 자주 다루는 Apache Parquet 포맷은 일반적인 텍스트 데이터를 zip으로 압축한 것보다 훨씬 빠른 쿼리 성능을 보여준다. 이번 포스트에서는 Parquet가 왜 그렇게 빠른지, 열 지향(columnar) 구조가 어떤 원리로 쿼리 성능을 높이는지, 그리고 Parquet에서 사용되는 주요 압축 및 인코딩 기법들을 살펴보자. 또한 Trino, Spark, Hive 같은 분산 쿼리 엔진이 Parquet 데이터를 효율적으로 읽는 방법과, 일반 zip 압축 파일과 열 지향 압축 방식의 성능 차이도 비교해보자. Parquet가 일반 Zip 압축보다 빠른 이유일반적인 zip 등의 파일 압축은 모든 데이터를 통째로 묶어 압축하는 반면, Parquet 포맷은 열 단위로 데이..