해당 게시글은 (케인)멘토님께 멘토링 세션을 통해 주고받은 질의응답의 내용을 정리한 글 입니다.😲 Q1. NoSQL에서 no의 해석에서는 의견이 갈린다고 들었습니다. 멘토님께서는 NoSQL에서 no를 어떻게 해석하시나요?- no- not only- non-relational operational- non-relational database 👨🎓 A1. no는 not only의 NO라고 봅니다.SQL이 DB에서 우선순위가 높은 선택지였을때 나온것이 noSQL이라 불리우는 범주의 DB였기 때문입니다.즉, RDB만으로는 해결하기 어려운 문제가 점차 가속되던 상태에서 나온것이 noSQL입니다.(데이터가 늘어나는데 RDB에서는 그를 따라갈만한 RDB 퍼포먼스가 잘 나오지 않았고, DB가 못견뎌서 램을..
해당 게시글은 (케인)멘토님께 멘토링 세션을 통해 주고받은 질의응답의 내용을 정리한 글 입니다.😲 Q1. 특정 entity에 1:1 관계로 여러 개의 entity가 묶여있는 상황에서 특정 entity를 포함한 연계 entity들을 통합 조회하는 경우, 연계 entity의 값이 없는 경우에 대한 처리방법을 고민하고 있습니다.특정 entity에 여러개의 entity가 1:1관계로 묶여있습니다. 특정 entity에 1:1 관계로 여러 개의 entity가 묶여있기 때문에 entitygrapth를 이용해 일시에 값을 받아오고자 합니다. 하지만 연계되는 entity가 실제로 존재할지 아닐지는 알 수 없으며, 연계되는 entity값이 아직 생성되지 않았을 수 있습니다. 이러한 상황에서 현재 떠올린 방법은 두가지가..
오늘 수강한 강의 : 【한글자막】 데이터 역량 강화를 위한 SQL 부트캠프오늘의 강의 정리 📗Data typesPostgresql의 데이터 타입 참조제약조건(Constraints)컬럼 제약조건NOT NULL: 해당 null 값이 들어갈 수 없다UNIQUE: 해당 컬럼에는 중복되는 값이 들어갈 수 없다PRIMARY KEY : 기본키 UNIQUE + NOT NULL 의 결합과 같음FOREIGN KEY : 기본키를 참조하는 컬럼 or 컬럼들의 집합 (외래키는 기본키나 유니크가 아니면 생성 제약)REFERENCES: Foreign key 에서 참조되는 테이블의 이름은 REFERENCES 키워드 다음에 명시CHECK: 컬럼의 값을 어떤 특정 범위로 제한EXCLUSION: ?테이블 제약조건CHECK (condit..
프론트엔드와 백엔드 개발자의 협업에 대해 이야기 나누던 도중, 기능 개발 분업 관련 이슈에 대한 대응방법중 하나로 GraphQL에 대한 이야기가 나왔다. 사실 GraphQL이라는 키워드는 몇번 들어 본 적이 있는데 graphQL이라는 이름만 듣고 'SQL과 같은 RDBMS를 다루는 일종인가?'라는 추측만 해왔던지라, 어떻게 graphQL이 프론트엔드와의 협업에서 하나의 방인이 될 수 있는지 궁금해져 찾아보게 되었다. GraphQL 페이스북(Meta)에서 만든 쿼리 언어 : 또 페이스북인가…! Graph QL(이하 gql)은 Structed Query Language(이하 sql)와 마찬가지로 쿼리 언어 SQL과 GraphQL 차이 목적 SQL : 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 ..
오늘 수강한 강의 : 【한글자막】 데이터 역량 강화를 위한 SQL 부트캠프오늘의 강의 정리 📗HAVING : 집계가 수행된 '이후’에 진행할 필터링AGG()와 같은 값(GROUP BY 이후 알게될 값)을 기준으로 필터링시 사용cf) WHERE : 집계가 수행되기 전 실행할 필터링따라서, GROUP BY절 뒤에 위치한다.SELECT column_name1, column_name2, AGG() FROM table_name WHERE cloumn_name1 != "value" GROUP BY cloumn_name1 HAVING AGG() conditions도전과제1. We are launching a platinum service for our most loyal customers. We will assig..
오늘 수강한 강의 : 【한글자막】 데이터 역량 강화를 위한 SQL 부트캠프오늘의 강의 정리 📗데이터베이스란데이터베이스란 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 집합데이터를 구조화하여 저장함효율적인 검색, 삽입, 업데이트 및 관리를 위해 조직되어짐.왜 데이터베이스를 사용해야 하는가파일 처리 시스템문제점중복 : 각 파일마다 필요한 데이터를 각각 가지고 있어야 하므로 전체적인 시간과 노력, 경제비용에 있어서 효율이 낮음비일관성 : 데이터에 변경사항이 조금만 있어도 각 파일에서 해당되는 데이터를 모두 변경해야 -> 한꺼번에 수정이 되지 않으면 데이터값이 서로 다름(비일관성)응용프로그램 개발 문제데이터 추가 및 검색 문제데이터 베이스의 특징데이터의 독립성물리적 독립성 : 데이터베이스 크..
1. 안녕하세요? AWS에 벽돌 12,000장쯤 사준 YanaKo94입니다. RDB 인스턴스를 줄여야할 필요성의 대두..(feat 비용절감... 어디부터 해볼까..!) 그렇다, 프로젝트를 AWS RDS와 EC2를 통해 배포한 지 어언 1년가량이 흘렀고... 나의 AWS 관련 비용 지출은 이제는 조금 자신 있게 "아마존에 벽돌 낭낭히 사줬습니다"라고 할 수 있을 정도가 되어버렸다. 프로젝트를 내리고 싶지 않았기에 결국 비용 절감을 위해 기존 배포방식을 변동하기로 결심했고, EC2의 경우 인스턴스를 합치기 전에 CD를 구축하면서 업로드받는 resorce를 인스턴스 내부에 저장하는 방식에서 S3 storage로 변경하는 것이 필요하다고 판단해 우선 RDB부터 정리를 시작했다. 2. mysqldump, 뭐하는 ..
💬 RDB와 NoSQL의 차이점은 무엇인가요? ✅ 관계형 데이터베이스(RDB)는 사전에 엄격하게 정의된 DB schema를 요구하는 table 기반 데이터를 구조를 갖는데 반해, 비관계형 데이터베이스인 NoSQL은 table 형식이 아닌 비정형 데이터를 저장할 수 있도록 지원합니다. NoSQL은 애자일 개발 등 확장 가능성이 있거나 정확한 데이터 구조가 정해지지 않아 수정 가능성이 있을 때 유연하게 대처가 가능하다는 장점이 있지만, RDB는 엄격한 Schema로 인해 데이터의 중복이 없기 때문에, update가 많거나 데이터 테이블 간에 상관관계가 복잡할 때 유리합니다. 반면 NoSQL은 데이터 중복으로 인해 update시 모든 컬렉션에서 수정이 필요하기 때문에 update가 적고 조회가 많을 때 유리합..
💬 Primary Key란 무엇인가요? ✅ 데이터베이스의 테이블에 있는 튜플을 유일하게 식별할 수 있는 Key를 기본키, primary key라고 부릅니다. 예시로 국민이라는 테이블의 PK는 주민등록번호가 될 수 있으며, Nosql에서는 Key 값이 Primary Key 가 될 수 있습니다. 또한 Primary Key의 경우 단일 칼럼뿐 아니라 여러 개의 칼럼이 합쳐져 PK가 될 수 있는데, 예를 들면 운동선수라는 테이블에서 id가 PK가 될 수 있지만, 더불어 팀 이름과 등번호를 합친 것 또한 PK가 될 수 있습니다. Primary key Primary key(기본 키)란? 📌 SQL 데이터에서 데이터베이스 테이블의 설계를 고유하게 식별하는 키(A uniquely identifying key in th..
ORM(Oject-Relational-Mapping) Framework 💬 ORM(Oject-Relational-Mapping) Framework란 무엇인가요? 더보기 ✅ 추상화와 상속 다형성의 특징을 지닌 객체지향과, 데이터 중심구조인 RDB사이에서 발생하는 패러다임의 불일치 문제를 해결하기 위해 개발된 프레임워크로, SQL문이 아닌 메서드로 데이터를 조작합니다. SQL Mapper가 코드상으로는 JDBC API와 SQL을 구분 지었다 하더라도, 논리적으로 강한 의존성이 지속되고 있었습니다. 각각의 DB마다 쿼리문이 다를 경우, 개발자가 각 DB의 쿼리문을 사용할 줄 알아야만 DB를 사용할 수 있는 점을 예로 들 수 있습니다.. ORM Framework란? 📌 객체-관계 매핑. 사물을 추상화시켜 이해하..