[Database] OLTP vs OLAP: 개발자라면 꼭 알아야 할 데이터 처리 방식
·
CS/Database
개발을 하다 보면 '트랜잭션'이라는 용어는 익숙하지만, OLTP와 OLAP이라는 단어는 생소하게 느껴지는 경우가 많습니다. 하지만 이 둘은 우리가 일상적으로 다루는 시스템의 데이터 처리 목적과 방식을 결정짓는 중요한 개념입니다.이번 글에서는 OLTP와 OLAP의 개념, 차이점, 그리고 각각 어떤 상황에서 사용되는지 예시를 통해 쉽게 설명해보겠습니다.🔹 OLTP (Online Transaction Processing)실시간 트랜잭션 처리 시스템개념OLTP는 다수의 사용자가 동시에 입력, 조회, 수정, 삭제와 같은 작업을 실시간으로 수행할 수 있도록 하는 시스템입니다. 흔히 우리가 말하는 “트랜잭션 처리”가 바로 OLTP입니다.예시은행에서 이체하는 기능쇼핑몰의 장바구니 및 결제 시스템로그인, 회원가입, 예..
[Database] 🔎 RDBMS와 NoSQL의 차이점
·
CS/Database
데이터베이스는 모든 시스템의 핵심입니다. 우리가 앱에서 로그인할 때, 상품을 검색할 때, 혹은 SNS에서 친구의 게시글을 볼 때도 데이터베이스는 항상 뒤에서 작동하고 있습니다.이번 포스팅에서는 두 가지 대표적인 데이터베이스 관리 시스템인 RDBMS와 NoSQL의 차이를 명확하게 비교해보려 합니다.🧱 Database, DBMS, SQL 간단 정리 Database: 데이터를 구조화하여 저장한 집합체DBMS (Database Management System): 데이터를 저장하고 관리하는 소프트웨어SQL (Structured Query Language): 관계형 데이터베이스에서 데이터를 다루기 위한 언어🗂️ RDBMS란?RDBMS (Relational DataBase Management System)는 데이..
[error][mysql/mariadb] Error executing DDL "alter table .. drop foreign key if exists...
·
CS/Database
✅ ddl-auth: create ➡️ 테이블을 drop 하고 create 하려고 해보면 이런 에러를 본 적이 있을 것이다. fk 때문에 즉, 연관관계 때문에 발생한 error 자식 테이블들부터 지워나가야 하는데 아무렇게 테이블을 지우려하다보니 에러가 발생한다. ex) user를 삭제하려면 likes 때문에 삭제를 못 한다. ➡️ likes 삭제 후 user 삭제 가능 💡 참고 spring: jpa: hibernate: ddl-auto: create: 기존테이블을 삭제 후 다시 생성한다.(닫을 때 삭제하지는 않는다) create-drop: create와 비슷하지만, 종료시점에 테이블을 삭제한다. update: 삭제하지 않고 계속 업데이트한다. validate: 엔티티와 테이블이 정상 매핑되었는지만 확인한..
soft delete 와 hard delete 란?
·
CS/Database
📌 soft delete 란 논리 삭제 UPDATE 명령어를 사용하여 삭제 여부를 알 수 있는 flag를 사용하여 표현 ❗️단점 실수로 삭제하였을 시에 복원이 가능해야 할 때 사용 ❗️단점 데이터베이스의 용량이 커질 수 밖에 없음(계속 누적되어 쌓임) SELECT 조회 시 불필요한 검색 조건을 추가해야 함(없다고 쳐야하는 데이터이기 때문) where을 꼭 써야 하기 때문에 직관적이지 않음 📌 hard delete 란 물리 삭제 테이블에서 제거하는 것 DELETE 명령어를 사용하여 직접 데이터를 삭제 ❗️장점 삭제 처리를 통해 디스크 사용량을 줄일 수 있음 SQL 작성이 편하다. ❗️단점 데이터를 복구할 수 없음 Reference Soft Delete vs Hard Delete Valar Codilis. ..