- postman excel
- MFC
- 프런트엔드
- LSL_Script
- Interaction developer
- 다빈치 리졸브
- postman automations
- 우수한 프런트 개발자
- web developer
- C++
- c#
- UI/UX Engineer
- postman csv
- Front-end developer
- postman session
- postman html parse
- Java
- postman collection
- Unity
- Intellij
- Android
- postman pre-request
- postman tests
- postman
- Android/iOS Developer
- oracle
- emplace_back
- solidity
- postman collection variables
- 좋은 개발자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Today
- Total
david's daily developer note
[BE] Introduction to DynamoDB 본문
DynamoDB는 AWS에서 서비스하는 NoSQL DB이다.
https://aws.amazon.com/ko/nosql/
NoSQL은 높은 유연성/확장성/쿼리 기반의 설계에 따라서 고성능 쿼리가 가능하다는 장점과 대용량 데이터 모델 처리에 강점이 있다. 그래도 RDB가 안정적이어서 더 많이 쓰이긴한다. 사실 일부 로그나, 대규모 인스턴스 데이터를 다루는데 주로 쓰고 일반적인 서비스에서는 RDB를 더 많이 사용했던 것 같다.
RDB는 수평 확장에 용의하여 복잡한 비니지스 관계가 존재하는 서비스에서 더욱 유리하며, 단순히 적재와 분석을 위한 응용 분야에서는 Vertical Scaling에 장점이 있는 NoSQL이 유리할 수 있다.
NoSQL은 문서 형태의 저장이 가능하여 데이터 활용에 더욱 유연하다는 장점도 있다.
NoSQL은 단순 키&값 조합이기 때문에, 쿼리 위주로 테이블을 구성한다. 또한, 파티션 키 개념이 존재하여 워크로드를 분산할 수 있다. 샤딩(Sharding)은 RDS에도 있는 개념인데, 워크로드에 따라서 테이블을 분산 저장하는 방식이다.
https://techblog.woowahan.com/2687/
NoSQL에서는 접미사를 사용하여 파티셔닝할 수 있다. RDS에서 샤딩은 DB 복잡도를 올리게 되는데, (테이블이 막 늘어남) NoSQL에서는 지정된 접미사를 활용하는 것으로 (약속된 키만 잘 만들면 됨으로) 상대적으로 단순하게 파티셔닝을 구현할 수 있다. 그러나 모든 항목을 쿼리하는 상황에서는 RDS보다 비효율적입니다.
NoSQL에서는 보조 인덱스(GSI : Global Secondary Index)를 활용할 수 있다. 쿼리 설계에서 고려하지 못한 (RDS의 JOIN과 같이) 조합형 쿼리가 필요한 경우에는 보조인덱스를 두어서, 쿼리를 단순하게 할 수 있다. 하지만, 내부적으로는 가상의 테이블이 생기는 개념이라서 과도한 사용은 불필요하다.
Reference :
- Amazon DynamoDB SDK를 활용 JSON CRUD
https://aws.amazon.com/ko/blogs/aws/dynamodb-update-json-and-more/ - Amazon DynamoDB SDK를 활용 CRUD standard
예제: CRUD 작업 - Amazon DynamoDB - DynamoDBMapper 활용한 객체 맵핑
DynamoDB에 사용되는 Java 주석 - Amazon DynamoDB - DynamoDb -> Entity -> Service -> DTO 구조 개발
Entity & DynamoDb Value 와 동일한 JSon 형태 반환 DTO - DynamoDb ORM
https://woowabros.github.io/study/2019/06/05/spring-data-dynamodb-1.html
'[Develop] Web > Back-end' 카테고리의 다른 글
[BE] Spring boot Excel Download (feat. apache.poi) (0) | 2022.07.05 |
---|---|
[BE] Spring @Controller vs @RestController (0) | 2022.07.05 |
[BE] Naver IntelliJ formatter Setting (Code Style) (0) | 2022.06.30 |
[BE] Spring - DI (Dependency Injection) (0) | 2022.06.27 |
[BE] Oracle Local & Distributed Transaction (0) | 2010.08.06 |