데이터 중심 애플리케이션 설계 서평

신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 시스템을 지탱하는 핵심 아이디어

데이터 중심 애플리케이션 설계

코드숨 스터디로 (22.05.18 ~ 22.07.20) 두달 간 진행을 했다. 기나긴 여정이었다. 11명으로 시작해 반도 안되는 인원만 남아 스터디를 무사히 마쳤다.




이 책은 무엇을 말하고 있지? 🤔

전체적인 관점에서 바라보자면 데이터는 엄청난 속도로 변화하고 있는데 이 데이터들을 가지고 어떻게 해야 신뢰할 수 있고 확장 가능하며 유지 보수하기 쉬운 시스템을 만들 수 있을까? 에 대한 이야기를 하고 있다. 데이터에 맞춰 설계 방향이 바뀌어야 하고 상황에 따라 최적의 방법이 달라진다. 그렇다면 엔지니어는 데이터 시스템의 동작 방식뿐만 아니라 왜 그렇게 동작하는지 알아야 하고 선택할 수 있어야 한다. 정답은 없다. 이제는 데이터에 맞게 설계, 개발을 해야 한다. 이 책은 지도와 같다.


무엇을 알게되었지? 💡

애플리케이션마다 요구사항이 다르기 때문에 데이터베이스 시스템 또한 저마다 다양한 특성을 가지고 있다. p14

어찌 보면 당연한 말이지만 이 책을 읽기 전에는 데이터 베이스 시스템을 선택할 때 요구사항에 따른 설계보다는 ‘요즘은 이게 좋다던데?’ 와 같은 인기도(?)로 생각을 했던 거 같다. 하지만 이제는 상황에 따라 시스템을 다르게 선택해야 하며 발생하는 문제에 대한 해결책도 달라진다는 것을 알았다.

가장 기억에 남았던 단원은 7장(트랜잭션)에 들어가면서부터 쭉 기억에 남는다. 사실 그 앞장이 기억이 가물가물하다. 트랜잭션, 분산 시스템, 대용량 처리, 스트림 등 낯선 개념들이 많아서 어려웠지만 그만큼 재밌었다.

부하를 줄이기 위해, 내결함성/고가용성, 지연 시간을 줄이기 위해 분산된 데이터 베이스가 필요하고 분산하는 방법과 이때 발생하는 제약 조건과 문제에 대해 알게 되었다.

대규모 데이터 일괄 처리 방식이 갖는 문제점들이 무엇이 있는지 알게 되었고 일괄 처리 방식이 적합한 데이터와 적합하지 않는 데이터는 무엇인지 알게되었다. 끊기지 않는 데이터를 처리하는 스트림 처리에 대해서도 알게되었다. (자세한 부분은 너무 길어질거 같으니 WIKI에 점차 업데이트 하도록 하자)


무엇을 할 수 있게 되었지? 🔍

요구사항에 따라 어떤 데이터 베이스를 사용해야 하는지 고민하게 되었다. 한 애플리케이션에서도 기능(요구사항)에 따라 DB 시스템을 선택해서 여러 시스템을 사용할 수 있구나로 생각이 확장되었다.


Action! 🎈

  • DDIA wiki에 큰 흐름도를 정리해서 업데이트
  • 요구사항에 맞게 데이터베이스 시스템을 선택하고 사용해보기



후기 📝

어려웠던 책이었지만 데이터에 대한 생각이 많이 확장되었고 흥미가 더욱더 생겼다. 데이터를 다루는 게 재밌어서 프론트엔드보다는 백엔드 직무를 선택했었다. 그 진로에 대한 고민이 남아있었는데 이 책을 하면서 확고해졌다. 데이터가 재밌다. 아쉬웠던 것은 이 책에서 나오는 많은 내용들 중에 내가 알고 있고 실제로 경험하고 있는 부분은 매우 작은 부분이라는 점이 아쉬웠다. 이 책에서 나온 문제 상황들이나 여러 시스템들을 더 많이 경험해 보고 싶다는 생각이 들었다.

이 책은 특히나 여러 사람과 공유하면서 읽어야겠다는 생각이 드는 책이다. 데이터에 따라 요구사항에 따라 시스템을 선택 하는 것에 대한 이야기를 하고 있으니 다른 사람들의 실무에서는 어떻게 적용하고 있는가를 나누는 것이 이 책을 아주 효과적으로 읽는 법이 아닐까 생각이 든다.

내용 정리 👉 데이터 중심 애플리케이션 WIKI (업데이트 중📇)

results matching ""

    No results matching ""