키
- 참조 무결성 : 참조할 수 없는 외래키 값을 가질 수 없음
- 개체 무결성 : 기본키에 속하는 속성은 비어 있을 수 없음
테이블 vs 릴레이션
- 테이블 : 데이터베이스의 데이터가 저장된 물리적 구조를 가리키는데 주로 쓰이는 용어
- 릴레이션 : 데이터베이스 모델링에서 주로 쓰이는 용어
트랜잭션이 가지는 속성
- ACID
- 원자성 (atomicity) : 하나의 트랜잭션은 모두 실행되거나 전혀 실행되지 않아야 함
- 일관성 (consistency) : 트랜잭션의 실행 전후에 데이터베이스 상태가 일관되어야 함
- 독립성 (isolation) : 여러 트랜잭션이 병렬 실행되는 경우에도 서로 간섭하지 않도록 격리 되어야 함
- 영구성 (durability) : 완료된 트랜잭션의 실행 결과는 데이터베이스에 영구 보존되어야 함
ORM (Object-Relation Mapper)
- 관계형 데이터베이스의 테이블과 객체지향 프로그램의 클래스 사이를 연결
- 장점
- SQL 문장이 아닌 클래스의 메서드를 이용한 데이터베이스 접근/조작
- 코드의 용이성 향상
- DBMS에 대한 종속성 감소
- 단점
- 객체와 릴레이션 사이의 불일치에 기인하여 발생하는 비효율
벡터 데이터베이스 (Vector DB)
- 벡터
- 데이터 객체를 수치화하여 표현한 것
- 떄로는 백터의 차원이 매우 높을 수 있음
- 벡터 임베딩 (Vector Embedding)
- 주제/단어/이미지 또는 기타 데이터를 숫자로 표현한 것
- 대규모 언어 모델(LLM) 및 기타 AI 모델에 의하여 생성되는 것이 일반적
LSH
- 유사도가 높은 입력 값들이 높은 확률로 같은 버킷에 해시되도록 하여 낮은 시간 복잡도로 유사한 벡터를 찾을 수 있는 기법
- Audio/Video fingerprinting 등에 널리 이용됨
ANNOY
- Approximate Nearest Neighbours Oh Yeah
- 최근접 이웃의 정확도를 다소 포기하고 시간 비용을 크게 절감하는 근사 검색 기법
활용
- AI/ML 응용
- 유사도 기반 추천 시스템
- NLP (Natural Language Processing:자연어처리) 응용
- 이미지 인식 및 검색 응용
'Database' 카테고리의 다른 글
[Database] 서브쿼리 vs JOIN (0) | 2024.07.30 |
---|---|
[Database] 트랜잭션 / 뷰 (0) | 2024.07.26 |
[Database] 종류 (0) | 2024.07.23 |
[Database] DB ~~~ (0) | 2024.07.23 |
[데이터베이스 선택 가이드] (0) | 2024.06.20 |