[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)는 데이..
[알고리즘] 정수론 : 유클리드 호제법(Euclidean Algorithm)
·
CS/알고리즘
💡 유클리드 호제법이란?유클리드 호제법은 두 수의 최대 공약수(GCD)를 구하는 효율적인 알고리즘입니다.일반적으로 최대 공약수를 구할 때 소인수분해를 이용할 수 있지만, 유클리드 호제법을 사용하면 더욱 간단하게 해결할 수 있습니다.유클리드 호제법(euclidean-algorithm)은 두 수의 최대 공약수를 구하는 알고리즘이다. 일반적으로 최대 공약수를 구하는 방법은 소인수분해를 이용한 공통된 소수들의 곱으로 표현할 수 있지만 유클리드 호제법을 사용하면 좀 더 간단하게 구현 가능하다💡 유클리드 호제법의 핵심 원리이 알고리즘은 MOD(나머지 연산)을 기반으로 작동합니다.MOD 연산: 두 수를 나눈 후 나머지를 구하는 연산예) 10 MOD 4 = 2🔢 유클리드 호제법 구현 과정1️⃣ 두 수 중 더 큰 ..
[알고리즘] 정수론 : 오일러의 피
·
CS/알고리즘
📌 오일러 피 함수 P[N]란?오일러 피 함수 'φ(N)'은 1부터 N까지의 자연수 중에서 N과 서로소인 자연수의 개수를 구하는 함수서로소란 두 수의 최대공약수(GCD)가 1인 경우를 의미예를 들어, φ(6) = 2 ➡️ 1과 5가 6과 서로소이기 때문😊📌  오일러 피 함수의 핵심 이론✨오일러 피 함수는 에라토스테네스의 체와 유사한 방식이라고 생각할 수 있다.1️⃣ 구하고자 하는 범위만큼 배열 초기화P[i]=i로 초기화하여 각 숫자 i에 대해 일단 후보 값을 그대로 설정2️⃣ 소수인 경우만 처리2부터 시작하여 P[i]=i인 경우, 해당 숫자는 소수이때, 현재 선택된 숫자 K의 배수에 해당하는 값들을 업데이트업데이트 방식:P[i]=P[i]−P[i]/K (소수 K에 대해 모든 배수 i에 적용)3️⃣ 모..