개발을 하면서 서버에 요청을 하면서 굉장히 당연스럽게 POST, GET을 겸해서 사용해왔습니다. GET방식과 POST방식은 도대체 무슨 차이점이 있을까요? 일단은 왜 사용하는 지에 대해서 일단 정리를 하겠습니다. "GET, POST 방식의 request는 서버로 본인이 가지고 있는 data를 전달하기 위해서 사용합니다." Data를 전달한다라는 본질적인 기능적 측면에서는 똑같다고 볼 수 있습니다. 그런데 세부적으로 보안, 전달형식, 전달할 수 있는 data의 량 적인 측면에서 봤을 때 차이점이 발생합니다. 이제 GET과 POST 방식이 가지고 있는 특징을 살펴보겠습니다. *GET 방식- 클라이언트로가 입력한 query의 이름과 값이 결합되어 스트링 형태로 서버에 전달됩니다.- TAG의 METHOD 속성의..
맥 SSH(Secure SHell) 접속할 때 오류가 발생하는 경우가 생겼습니다. 맥 SSH를 사용해서 리눅스 서버에 접속할 시에 사용하는 방법은 다음과 같습니다. ssh -i "pem키 경로" "연결하려고 하는 서버의 Public DNS" 우분투를 사용하는 경우ex) $ ssh -i Desktop/folder/example.pem ubuntu@ec2-23-78-14-22.ap-northeast-2.compute.amazonaws.com 리눅스를 사용하는 경우는 ubuntu 대신 root로 바꾸어 주시면 됩니다. *참고pem키의 접속 권한은 read권한만 주는 것을 추천합니다. 그래서 "chmod 400 X.pem" 명령어로 owner에게 read 권한을 줍니다.(나머지 Group, Other의 권한은 ..
다음 글에서는 관계형 데이터베이스와 NoSQL의 차이점을 알아보고, DynamoDB의 기본개념을 설명합니다. 그리고 DynamoDB에 맞게 데이터 구조를 설계해보고,DynamoDB 테이블을 생성하는 방법과 데이터를 추가하는 방법,데이터를 검색하는 하는 방법에 대해서 이야기 하겠습니다. DynamoDB는 NoSQL 데이터베이스를 제공하는 서비스입니다. 아마존에서 개발한 NoSQL 데이터베이스이며, 사용자가 따로 설치, 운영, 확장을 하지 않아도 원할 때 바로 서비스를 이용할 수 있습니다. DynamoDB를 사용하는 이유는 다음과 같습니다. 1. 성능과 편의성, 대규모 DB 구축에 필요한 인적자원과 비용을 절감할 수 있습니다.왜냐하면, DB를 구축하고 서비스에 맞게 사용이 가능하게 하려면 전문가가 필요하고 ..
AWS를 사용하는 사용자라면, NoSQL을 사용하려고 고려하는 사용자라면, 누구나 한번쯤 들어봤을 수 있는 DB 솔루션입니다. Google의 BigTable 과 NoSQL의 발전을 위해 노력하고 있는 AWS DynamoDB에 대해서 설명하겠습니다. DynamoDB의 특징 - 배포가 단순하고 신속합니다. 이 의미는 설계를 해서 그 데이터베이스를 적용하기까지 오랜 시간이 걸리지 않는다는 이야기입니다. - 확장이 단순하고 신속합니다. 수백만 IOPS를 처리할 수 있는 시스템 설계해두었기 때문에 단순한 인터페이스의 조작만으로 규모를 확장시키기 수월합니다. - 데이터는 자동으로 복제됩니다. 데이터의 손실을 방지하기 위해서 데이터 베이스를 자동으로 백업해서 복사본을 두고 손실율을 낮추고 있습니다. - 빠르고 일관된..
AWS를 사용하는 사용자라면, NoSQL을 사용하려고 고려하는 사용자라면, 누구나 한번쯤 들어봤을 수 있는 DB 솔루션입니다. Google의 BigTable 과 NoSQL의 발전을 위해 노력하고 있는 AWS DynamoDB에 대해서 설명하겠습니다. DynamoDB의 특징 - 배포가 단순하고 신속합니다. 이 의미는 설계를 해서 그 데이터베이스를 적용하기까지 오랜 시간이 걸리지 않는다는 이야기입니다. - 확장이 단순하고 신속합니다. 수백만 IOPS를 처리할 수 있는 시스템 설계해두었기 때문에 단순한 인터페이스의 조작만으로 규모를 확장시키기 수월합니다. - 데이터는 자동으로 복제됩니다. 데이터의 손실을 방지하기 위해서 데이터 베이스를 자동으로 백업해서 복사본을 두고 손실율을 낮추고 있습니다. - 빠르고 일관된..
NoSQL 데이터 모델링 패턴 NoSQL 데이터 모델링 패턴은 Key/Value Store 구조의 PUT/GET 밖에 없는 단순한 DBMS에 대해서 다양한 형태의 Query를 지원하기 위한 테이블을 디자인하기 위한 가이드이다. 특히, RDBMS에는 있는 기능들인,1. Order by를 이용한 Sorting2. Group by를 이용한 Grouping3. Join 등을 이용하여,Entity 간의 Relationship정의 그리고 Index 기능을 활용하여 데이터를 쿼리하는데, 상당히 유용하게 사용합니다. NoSQL은 이러한 기능들을 가지고 있지 않기 때문에, NoSQL 내에서 데이터 모델링을 통해서 이러한 기능들을 구현하는 방법에 대한 가이드를 제공합니다. 크게 3가지의 모델링 패턴에 대해서 설명합니다.1..
NoSQL 데이터 모델링에서 데이터 모델과 모델링 절차에 대해서 이야기를 해보겠습니다. 최근 SNS, 빅데이터, 클라우드와 같이 트랜드와 같이 가는 기술 서비스에 대해서 관심이 많습니다. 사실 이런 최신 기술 트랜드라고 하는 것들이 나온지는 꽤 되었지만 RDBMS처럼 범용적으로 사용되고 있지는 않습니다. 이렇게 범용되지 않은 이유는 기존에 선점했던 관계지향형 데이터베이스(RDB)로 많은 사람들이 데이터 베이스를 만들기 시작해서 많은 서비스를 하는 프로그램을 만들었습니다. 이러한 이유로 RDBMS 전문가들이 생겨나게 되었고, 현재 사용되어지고 있기 때문이다. NoSQL은 데이터베이스이기도 하지만 RDBMS와는 전혀 다른 성격을 가지고 있고, 접근 방식과 모델링 방식이 다르기 때문에 관계지향형 데이터베이스(..
1. RDB는 Entity를 정의하고 데이터 모델링을 하고 한후, 모델에 맞는 사용을 하기 위해서 쿼리와 APP을 개발합니다.NoSQL은 App을 먼저 디자인하고, 필요한 쿼리 결과를 먼저 정의 한 후에, 그에 맞춰서 데이터 모델링을 하는 것으로 합니다. 2.절대 Normalization은 하지말고, DeNormalization을 해야합니다. 데이터 중복을 허용하여 성능을 높이고, 데이터 안에 데이터를 넣는 (Composition) 모델 들을 사용하여 Query 수를 줄여야 한다. 3. 내 어플리케이션의 서비스 특성과 이에 맞는 NoSQL을 선택합니다. 내가 하려는 서비스를 완전히 이해를 한 다음에 시작해야 실수를 막을 수 있기때문에 서비스에 맞는 NoSQL을 선택해서 개발을 진행해야한다. 4. NoSQ..