1. Key-value Database
- 서브용 db로 많이 사용
- Redis
- 데이터를 하드디스크에 저장하지 않고 1차적으로 Ram에 저장시켜줌
- 메인DB에서 사용자들이 자주 쓰는 데이터를 뺌
- 데이터를 요구하면 redis에서 빠르게 받아옴
- 자주쓰는 데이터 캐싱
- 채팅을 위한 pub/sub
- 영상 스트리밍
- 로그인기록저장 등등
2. Relational Database
- Mysql (많이 쓰는 순서)
- PostgreSQL
- SQLite
- SQL Server
- mariaDB
- Oracle
- ACID Trasaction 기능 like 돈거래
- 실패시 롤백도 가능
- 정확도가 중요
3. Graph Database
- neo4j (유명)
- *Sparsity
- OrientDB
- ArangoDB
- 노드를 만들고 데이터 저장 가능
- 노드끼리 어떤 관계인지 엮기 가능
- Graph Query Language를 작성
- 비행기 노선, sns 친구 관계, 코로나전염맵, 추천서비스
4. Document Database
- MongoDB
- CouchDB
- Cloude FireStor
- Collection 폴더 만들어서 json형태로 document 저장
- 정규화 없이 사용
- 분산처리 매우 잘해줌
- sns, 실시간 채팅, 게시판
- 일관성 떨어질 수 있음
5. Column-family Database
- cassandra
- hbase
- google cloud bigtable
- 표 형식으로 저장
- 복제 분산 잘함
- 정규화 필요x
- 데이터 일관성 부족
- 시간 기록에 좋음
7. Search engine
- elastic
- Amazon cloudSearch
- Google Cloud Search
- Index 보관에 특화됨
- 빠른검색을 도와줌
- 실시간 검색어, 추천 검색어, 검색어 오타 교정
요약
- 입출력이 매우 잦으면
- Document Database가 일반적
- 정확도와 일관성이 중요하면
- Relational Database가 일반적
'Database' 카테고리의 다른 글
[Database] 이런저런 내용 (0) | 2024.08.06 |
---|---|
[Database] 서브쿼리 vs JOIN (0) | 2024.07.30 |
[Database] 트랜잭션 / 뷰 (0) | 2024.07.26 |
[Database] 종류 (0) | 2024.07.23 |
[Database] DB ~~~ (0) | 2024.07.23 |