데이터베이스를 고를 때 고려해야 하는 요소

1️⃣ 확장성 확장성은 데이터베이스를 고르는 데 아주 중요한 요소다. 데이터베이스마다 확장 방법이 다르다. 예를 들어 관계형 데이터베이스는 수평적 확장에 어려움을 겪을 수 있지만 NoSQL 데이터베이스는 수평적 확장에 뛰어나다. 데이터베이스를 선택할 때는 예상 성장률과 확장을 얼마나 잘 처리할 수 있는지를 고려해야 한다. 데이터베이스 확장을 잘하려면 단순히 서버를 더 추가하는 게 아니라 시스템의 설계와 아키엑쳐(schema 등등 포함)을 잘 이해해야 한다. 2️⃣ 성능 쿼리 효율성과 write 및 read 성능 간의 균형을 고려해야 한다. 읽기(read) 작업에 최적화된 데이터베이스도 있고 쓰기(write) 성능을 우선시하는 데이터베이스도 있다. NoSQL은 전반적으로 심플한 데이터 모델과 schema 덕분에 쓰기에 최적화되어 있고, 관계형 데이터베이스는 join과 aggregation 등 좀 더 복잡한 쿼리에 최적화되어 있다. 시계열 데이터베이스는 타임시리즈 데이터에 적합하다. 3️⃣ Consistency 데이터베이스의 정보가 정확하고 일관성 있어야 한다. 일관성을 달성하기 위해 데이터베이스는 종종 ACID 속성과 CAP Theorem에 의존한다. 데이터베이스에 따라 이러한 측면의 우선순위가 달라지므로 시스템을 설계할 때 요구사항을 정확하게 파악하고 그에 알맞는 데이터베이스를 선택해야 한다. 📌 시스템 설계 및 면접 면접 준비 중이라면 단순히 구성 요소 파악보다는 스토리지을 선택할 때 위 3가지 요구 사항을 처음에 먼저 파악합니다. 예를 들어, 데이터 일관성이 중요하고, 복잡한 쿼리를 지원해야 하고, write에 최적화된 데이터베이스가 필요한 시스템을 설계한다면 이에 알맞은 데이터베이스를 고르는 게 좋지만 무엇보다도 그 이유를 잘 설명하면서 절충점을 찾는 게 중요합니다. 아티클에는 언급되지 않았지만 추가적으로 비용, 자동 확장 기능 그리고 다양한 컨피규레이션을 통해 원하는 기능을 지원할 수 있는 세세한 디테일은 시스템 디자인 면접에서 디테일하게 언급할 필요는 없지만 실제 설계할 때 의논하면 도움 됩니다. 🔗 유익한 읽을거리라 원문 읽어보는 걸 추천합니다 🪴 함께 읽으면 좋은 글: 면접과 설계에 필요한 분산 시스템의 주요 특성 https://careerly.co.kr/comments/83900

Factors to Consider in Database Selection

Bytebytego

Factors to Consider in Database Selection

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 5월 28일 오후 11:04

 • 

저장 75조회 4,983

댓글 0

    함께 읽은 게시물

    첫 출근을 응원합니다

    

    ... 더 보기

    Anti-OOP : if 를 피하고 싶어서

    ... 더 보기

    Anti-OOP : if 를 피하고 싶어서

    DevOOOOOOOOP

    Anti-OOP : if 를 피하고 싶어서

     • 

    댓글 4 • 저장 202 • 조회 8,383


    프론트엔드 개발자가 MCP 에 대해 알아야 할 것들은 무엇일까요?

    M

    ... 더 보기

    - YouTube

    youtu.be

     - YouTube

    기술, 개발 학습 자료 7가지

    최근 자주 사용하고 있는 기술, 개발 및 자기 계발 학습 자료를 모아서 공유합니다. 1️⃣ Educative.io 퀄리티가 상당히 높은 기술 관련 코스가 많은 것 같아요. 현재까지 코스 3개를 들었습니다. 책처럼 읽으면서 배우는 코스라 듣는 것보다 읽으면서 학습하는 걸 선호하는 분들에게 추천합니다. 주제를 깊이 파고들고 코드나 설계 예시가 많아서 잘 사용하는 것 같습니다. 최근에 Concurrency관련 코스를 듣고 있습니다. https://www.educative.io/ 2️⃣ Designing Data Intensi... 더 보기

    Educative: Interactive Courses for Software Developers

    Educative

    Educative: Interactive Courses for Software Developers

     • 

    댓글 9 • 저장 951 • 조회 21,935


    OpenAI가 GPT-4.1을 발표했네요. GPT-4o와 GPT-4.5 등을 두리두리 섞어서 좋은 성능을 내는 모델을 만든게 아닌가 싶습니다.


    그동안 상대적으로 부족했던 코딩 성능쪽의 발전을 중요하게 내세우고 있는데요. 그보다 제게 눈에 띄는 건 복합적인 지시문을 잘 따른다는 것이었네요. 다목적의 기능으로 훨씬 더 유용해질 것 같습니다.


    ... 더 보기

     • 

    저장 5 • 조회 2,108


    초당 1억 건의 요청 S3 스케일의 스토리지 구축, 운영, 관리

    초당 평균 1억 건의 요청이 발생하는 AWS S3를 구축, 운영 그리고 관리하면 어떤 점을 배울까요? 대용량 트래픽이 발생하고 그에 맞는 라지 스케일 시스템을 구현하고 관리하는 건 클래스를 들으며 배우는 데 한계가 있고 실무 경험이 아주 중요한 것 같습니다. 제가 AWS S3에서 일하며 배운 점을 선임이 쓰신 글에 잘 정리되어 있어서 간략하게 내용 정리해서 공유합니다. https://www.allthingsdistributed.com/2023/07/building-and-operating-a-pretty-big-... 더 보기

    Building and operating a pretty big storage system called S3

    www.allthingsdistributed.com

    Building and operating a pretty big storage system called S3

     • 

    저장 211 • 조회 9,934