[북클럽 챌린지] DAY 10
2023-01-224 min read
DAY 10
🔖 오늘 읽은 범위 : 에피소드 30 ~ 34
- 코로나가 준 레거시 시스템의 교훈
- 데이터와 단짝 친구, SQL
- NoSQL이 뭐죠?
- 깃&깃허브, 똑같은 거냐고?
- 버전을 표기하는 방법도 있어요?
😃 기억하고 싶은 내용
-
레거시 시스템: 레거시(legacy)는 유산이라는 뜻. 오래 전에 개발된 시스템
→ 우리가 지금 쓰는 언어도 결국은 옛날 언어가 될 테니까!- 프로그램은 책임있게 만들어야 한다.
- 프로그램은 끊임없이 관리해야 한다.
시스템은 한번 구축하면 끝이 아니야.
개발자라면 코드를 살아있는 생명체처럼 대해야 해. 꾸준히 관리 해야 하지. -
SQL : structured(구조화된) query(질문/문의) language(언어)
데이터베이스에 어떤 질문 또는 문의를 하기위해 어떤 구조를 가진 언어- DBMS : database management system (MySQL, Oracle, MariaDB 등)
SQL은 데이터베이스를 관리해주는 DBMS와 대화하기 위한 언어 - ORM : object relational mapping 개발자에게 SQL번역기 같은 도구
- DBMS : database management system (MySQL, Oracle, MariaDB 등)
-
NoSQL : 기존 SQL과 성격이 아예 다름. 데이터베이스의 성질도 다름.
- 도큐먼트 데이터베이스(document DB) : 행과 열의 개념으로 저장하는 표의 표현이 아닌 JSON 도큐먼트 형태로 대괄호와 중괄호로만 구성하면 되고, 데이터마다 구성이 같은 필요가 없어. 매우 자유로운 선택지. (예: 몽고디비 MongoDB)
- 키값 데이터베이스(key-value DB) : 읽고 쓰는 속도가 엄청 빨라서 대용량 데이터를 빠르게 저장하거나 읽어야 할 때 좋은 선택지. (예: 카산드라디비 CassandraDB, 다이나모디비 DynamoDB)
- 그래프 데이터베이스(graph DB) : 노드로 관계를 표현함. 페이스북처럼 각각 관계망으로 연결하는 데이터일 경우 좋은 선택지.
기술에는 좋고 나쁨이 없어. 용도에 맞게 쓰면 되니까!
🤔 오늘의 파트에 대한 소감
- 오늘 파트를 요약하자면 프로그램은 나 혼자만 짜는 것이 아니다. 함께하므로 책임감있게 그리고 늘 변화하므로 계속해서 관리해줘야하는 것.
- SQL에서 사용하는 DBMS마다 각각 사투리처럼 조금씩 다르게 언어를 쓰는지 전혀 몰랐다.
NoSQL처럼 전혀 다른 방식으로 DB를 저장하는 것도 있구나! 특히 노드로 관계를 표현하는 그래프데이터베이스 방식이 흥미로웠다.
🔎 추가로 알게 된 것
(책 내용 +알파로 궁금한 것, 이해가 가지 않는 것 등)
🤟소감 3줄 요약
- 다양한 기술방식에는 좋고 나쁨같은 비교의 시선보다는 용도에 맞게.
- 코드는 살아있는 생명체다.
- SQL의 기초정도는 익혀두자.