[Git] Git이란? Git과 사용법에 대해 알아보자!
·
🗃️Git
Git이란?로컬에서 코드를 효율적으로 관리하기 위해서 사용되는 분산 버전 관리 도구로서 코드의 다양한 버전을 관리, 변경 히스토리를 추적, 변경사항을 안전하게 원격 저장소에 저장하는 기능을 제공한다.일반적으로 파일을 새롭게 만들면서 하면 되는데 Git을 왜 사용하나요?🤔일반적으로 파일을 새롭게 만들면서 하는 것은 중복된 내용이 계속 쌓여가기에 용량면으로 비효율적이므로 자원이 낭비된다.하지만 Git을 사용하게 되면 Diff(변경사항)을 기반으로 내용만이 쌓여가기에 용량면으로 효율적이므로 자원을 아낄 수 있다.Git 사용방법Git을 사용하면 1. 로컬 코드를 관리할 수 있으며 나아가 2. Github에 자신이 만든 코드를 공유할 수 있거나 3. 동료 개발자가 만든 코드를 이어서 작성할 수 있다.Git 시작..
[데이터베이스] 조인의 종류와 원리
·
🗂️ Database
조인(Join)이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 의미합니다.MySQL에서는 JOIN이라는 쿼리로, MongoDB에서는 lookup이라는 쿼리로 이를 처리할 수 있습니다.MongoDB를 사용할 때는 lookup은 되도록 사용하지 말아야 합니다. MongoDB는 조인 연산(lookup)에 대해 관계형 데이터베이스보다 성능이 떨어진다고 여러 벤츠마크에서 알려져 있습니다. 따라서 여러테이블을 조인하는 작업이 많을 경우에는 MongoDB보다는 관계형 데이터베이스를 써야 한다고 합니다.조인의 종류조인의 종류 중 대표적인 조인은 내부 조인(inner join), 왼쪽 조인(left outer join), 오른쪽 조인(right outer join), 합집합 조인(f..
[데이터베이스] 데이터베이스의 종류와 인덱스
·
🗂️ Database
관계형 데이터베이스관계형 데이터베이스(RDBMS)는 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리키며 SQL이라는 언어를 써서 조작합니다. 종류로는 MySQL, PostreSQL, Oracle, SQL Server, MSSQL 등이 있습니다.NoSQL 데이터베이스NoSQL(Not only SQL)이라는 슬로건에서 생겨난 데이터베이스입니다. SQL을 사용하지 않는 데이터베이스를 말하며 대표적으로 MongoDB와 Redis가 있습니다. MongoDB는 JSON을 통해 데이터에 접근할 수 있고, Binary JSON(BJSON)로 데이터가 저장되며 와이어드타이거 엔진이 기본 스토리지 엔진으로 장착된 키-값 데이터모델에서 확장된 도큐먼트 기반의 데이터베이스입니다. Redis는 인메모리 ..
[데이터베이스] 트랜잭션과 무결성
·
🗂️ Database
트랜잭션트랜잭션은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 의미합니다. 데이터베이스에 접근하는 방법은 쿼리이므로, 즉 여러 개의 쿼리들을 하나로 묶는 단위를 의미합니다. 이러한 트랜잭션의 특징은 원자성, 일관성, 독립성, 지속성이 있으며 이를 한꺼번에 ACID 특징이 있습니다.트랜잭션의 특징원자성(Atomicity) = "All or Nothing"원자성(Atomicity)는 트랜잭션과 관련된 일이 모두 수행되거나 되지 않았거나를 보장하는 특징을 의미합니다. 예를 들어 트랜잭션을 커밋했는데 문제가 발생하여 롤백하는 경우 그 이후에 모두 수행되지 않음을 보장하는 것을 의미합니다.커밋(commit)커밋(commit)은 여러 쿼리가 성공적으로 처리되었다고 확정하는 명령어입니다. 트랜잭..
[데이터베이스] ERD와 정규화 과정
·
🗂️ Database
ERD(Entity Relationship Diagram)는 데이터베이스를 구축할 때 가장 기초적인 뼈대 역할을 하며 릴레이션 간의 관계들을 정의한 것을 의미합니다. 만약 서비스를 구축한다면 가장 먼저 신경 써야 할 부분이며 이 부분을 신경 쓰지 않고 서비스를 구축한다면 단단하지 않은 골조로 건물을 짓는 것이나 다름없다고 합니다.ERD의 중요성ERD는 시스템의 요구 사항을 기반으로 작성되며 이 ERD를 기반으로 데이터베이스를 구축합니다. 데이터베이스를 구축한 이후에도 디버깅 또는 비즈니스 프로세스 재설계가 필요한 경우에 설계도 역할을 담당하기도 합니다.하지만 ERD는 관계형 구조로 표현할 수 있는 데이터를 구성하는 데 유요할 수 있지만 비정형 데이터를 충분히 표현할 수 없다는 단점이 있습니다.비정형 데이..
[데이터베이스] 데이터베이스의 기본
·
🗂️ Database
데이터베이스(Database, DB)는 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음을 의미합니다. 이러한 데이터베이스를 제어 및 관리하는 통합 시스템을 DBMS(Database Management System)라고 하며, 데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리언어(Query Language)를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있습니다. 또한, 데이터베이스는 실시간 접근과 동시 공유가 가능합니다.앞선 그림처럼 데이터베이스 위에 DBMS가 있으며 그 위에 응용 프로그램이 있습니다. 이러한 구조를 기반으로 데이터를 주고받습니다. 예를 들어 MySQL이라는 DBMS가 있고 그 위에 응용 프로그램에 속하는 Spring Boot에서 해당 데이터베이스 안..