본문 바로가기

DynamoDB: Building NoSQL Database-Driven Applications 노트 발생일: 2021.02.16 키워드: DynamoDB, 다이나모디비 문제: DynamoDB에 코세라 강좌가 있어 들으면서 정리했던 노트다. https://www.coursera.org/learn/dynamodb-nosql-database-driven-apps 지금보면 너무 기초적인 것 같은데, 당시 흐릿하게 개념이 잡혔던 터라 전체 컨셉을 이해하기에 좋았다. 지금 보더라도 유심히 기억해야할 만한 특징인 볼드로 표시해뒀다. 내용: Relational Databases and the Problem that Need Solving - RDS(Relational Data System)의 특징 - 정형 데이터를 분석하기 좋음 - 스토리지를 많이 차지하고 - 컴퓨팅 비용이 큼 - CAP 정리: 다음과 같은 세 가지.. 더보기
구글 앱스 스크립트에서 비동기 작업 추가하기 발생일: 2021.03.10 키워드: 구글 앱스 스크립트, 구글 앱 스크립트, Google Apps Script, gas, background, setTimeout 문제: 구글 스프레드시트와 슬랙, 구글 앱스 스크립트로 간단한 자동화 태스크를 구축해뒀다. 슬랙을 API 창구로, 구글 앱스 스크립트를 앱 서버로, 스프레드시트를 디비로 사용하고 있다. 예를 들면 이런 작업이다. 1. 슬랙에서 /find_stock_price 같은 슬래시 명령을 치면 2. 구글 앱스 스크립트에서 요청을 받아서 3. 스프레드시트의 값을 수정하거나 조회한 후에 슬랙으로 응답해주는 것이다. 태스크가 조금 복잡해지면서 작업의 응답 시간이 길어지게 됐다. 문제는 슬랙 커맨드의 타임아웃이 3초라는 것... 슬랙 요청에 대해 짧은 응답을 .. 더보기
DynamoDB: 파티션키와 정렬키의 이해 발생일: 2021.03.09 키워드: DynamoDB, 다이나모디비, Partition Key, Sort Key, 파티션키, 정렬키, PK, SK, GSI 문제: 동료들이 다이나모디비의 파티션키(Partition Key)와 정렬키(Sort Key)의 관계를 헷갈려한다. 해결책: 처음엔 개념이 잘 잡히진 않았는데, 알고보니 간단하고 명확한 개념이었다. 다이나모디비로 설계하면서 자꾸 복잡하다고 느끼는 건, 설계 시점부터 스케일 아웃을 고려하고 있기 때문인 것 같다. RDS에선 스케일을 고려했다기보단, 이름 그대로 관계(relation)에 집중해 설계했던 것 같다. 사용할 땐 쿼리를 조합하면 되니, 설계 시점엔 확장이나 호출 샘플보단 관계를 고민했다. (다른 디비를 설계할 때에도 지금처럼 스케일을 고려해 설계.. 더보기