B-tree

이진트리를 확장한 자료구조로, n개의 자식을 가질 수 있어 적은 횟수로 많은 데이터를 탐색할 수 있습니다.
B-tree에서 추가로 확장되어 부모는 키만 가지고, 자식 노드만 데이터를 보유하며 Linked list 구조를 가지는 B+ tree가 있습니다.
B+ tree는 데이터 조회 성능이 우수해 실제로 DB 자료구조로 많이 사용됩니다.

Hash table

키를 해시함수로 변환하여 인덱스로 삼아 데이터를 저장하는 자료구조입니다.
보통 O(1)의 시간복잡도를 가지며, 데이터 조회 속도가 매우 빠르지만 해시 충돌의 위험이 있습니다.
해시 충돌을 피하기 위해 Linked list 구조를 사용하거나, 추가 연산을 사용할 수 있습니다.

EDA

Exploratory Data Analysis의 약자로, 데이터를 여러 방면에서 분석하여 가설이나 패턴을 찾는 과정을 말합니다.

N+1 Query

DB 쿼리를 실행할 때 가지고 있는 연관관계까지 조회하게 되면서 N번의 추가적인 쿼리가 발생하는 문제를 말합니다.
Eager Loading을 사용할 수 있지만 근본적인 해결은 아니며, JOIN 문 등 쿼리 최적화 기법을 사용해서 해결하는 것이 좋습니다.

Serverless

개발자가 서버를 직접 관리하지 않고도 앱을 개발하고 실행할 수 있는 구조입니다. AWS Lambda가 가장 대표적인 서비스입니다.
사용량에 따라 자동으로 확장되며, 사용한 만큼만 비용을 지불할 수 있습니다.
하지만 디버깅이 상대적으로 어려워지고, Cold start 문제가 있어 지연 시간에 민감한 서비스에는 적합하지 않습니다.