지난 시간에 Gorm과 MariaDB를 연동해보았었는데요, 아직 안 보신 분은 빠르게 아래 글을 읽고 오시고 시작하도록 하겠습니다. https://hero-space.tistory.com/138 Go와 Database 연동은 Gorm으로 시작! 백엔드 서버를 개발 할때, 데이터의 저장은 DB를 연동해서 하는 것이 일반적인데요. DB의 종류도 SQL로 할 꺼냐, NoSQL로 할꺼냐의 근본적인 결정도 있지만 SQL의 경우 데이터의 모델을 정의하고 이 hero-space.tistory.com 오늘은 Migration에 대해서 설명하면서 진행해보고 진행하면서 발생한 이슈에 대해서 설명드리도록 하겠습니다. AutoMigration 이 머지? DB라는 것은 서비스를 운영하면서 굉장히 중요한 요소입니다. 따라서 DB..
오늘은 눈과 비가 섞여서 오는 글루미한 날입니다. 커피 한잔하면서 정리할 내용은 AWS의 서비스 중에 Lambda를 통해 DynamoDB에 CRUD 하는 방법에 대해서 정리해보도록 하겠습니다. 우선 DynamoDB가 생소하신 분들은 아래 경로에서 상세한 내용을 확인하실 수 있는데 DynamoDB는 AWS의 대표격으로 사용 되는 데이터베이스이며, NoSQL Database 중 하나 입니다. 여기서 NoSQL은 무엇이냐 하면, 표준 SQL 인터페이스를 차용하지 않은 데이터베이스를 뜻하며, 정형화 된 데이터가 아니기 때문에 많은 데이터를 읽고 쓰는데에 능한 데이터베이스 입니다. 대신 SQL보다 검색속도는 느릴수 밖에 없겠지만 그 속도를 최적화 한 것이 DynamoDB라고 소개하고 있습니다. DynamoDB는 ..
백엔드 서버를 개발 할때, 데이터의 저장은 DB를 연동해서 하는 것이 일반적인데요. DB의 종류도 SQL로 할 꺼냐, NoSQL로 할꺼냐의 근본적인 결정도 있지만 SQL의 경우 데이터의 모델을 정의하고 이에 따라 이를 쉽게 처리해줄 수 있는 프로그래밍 스킬이 필요한데 이것이 바로 ORM(Object-relation mapping) 입니다. ORM을 사용할 경우 실질적으로 프로그래밍 언어에서 사용할 수 있는 가상 객체 데이터베이스를 생성하는데, 이 가상 객체 데이터베이스는 클래스(혹은 스트럭쳐)와 매핑됩니다. 결과적으로 개발자는 객체를 다루는 것처럼 데이터를 다룰 수 있으며, 데이터베이스를 코드에 자연스럽게 녹여낼 수 있게 됩니다. RDBMS 란? Relational Database Management S..
nRF 노르딕 칩에서 database로 활용하기 위해서는 flash를 활용해야하는데 별도의 다른 물리적 저장장치가 없기 때문입니다.. 아는 사람은 알겠지만 flash 공간은 wrtie, read 하는 속도도 느리고 제일 중요한 endurance라고 하는 최대 write 가능한 횟수가 그리 많지 않습니다. 우선 nrf52의 flash 영역의 상세 스펙을 확인해보도록 하겠습니다. 10000 이라는 숫자가 눈에 띕니다. 1000번정도 해당 영역이 write 될 수 있다는 뜻인데요, 따지고 보면 Write할때 Erase를 하기 때문에 이것 조차 부가적인 Wrtie Cycle로 인식되어 5000번정도 새로 쓸수 있는 구조라고 볼 수 있습니다. 5000번 자체가 적은 숫자는 아니지만 만약 Wrtie 하는 것이 크리..