본문 바로가기

Development12

[DB] RDB vs. NoSQL 1. RDB (Relational Database)관계형 데이터베이스(RDB)는 1970년 E.F. Codd의 논문 "A Relational Model of Data for Large Shared Data Banks"에서 시작되었습니다. 데이터의 일관성과 무결성을 최우선으로 하며, 정해진 스키마에 따라 데이터를 테이블 형태로 저장하는 모델입니다.핵심 이론스키마 (Schema): 데이터베이스에 저장되는 데이터의 구조와 제약 조건을 명세한 것입니다. 테이블(Table), 컬럼(Column), 데이터 타입(Data Type) 등을 미리 엄격하게 정의해야 합니다.테이블 (Table): 데이터를 행(Row)과 열(Column)으로 구성된 2차원 표 형태로 저장합니다.관계 (Relation): 테이블 간의 관계는 .. 2025. 9. 4.
ELK (Elastic Stack) ELK 스택 (Elastic Stack)ELK의 탄생 배경과거에는 시스템 로그가 각 서버의 파일 형태로 흩어져 저장되었습니다. 시스템 관리자나 개발자는 문제가 발생하면 해당 서버에 직접 접속하여 grep, tail, awk 같은 명령어로 로그 파일을 일일이 뒤져야 했습니다. 이는 시간이 많이 걸리고 비효율적인 작업이었습니다.특히 시스템의 규모가 커지고 여러 서버가 유기적으로 동작하는 분산 시스템이 보편화되면서 문제는 더욱 심각해졌습니다. 수십, 수백 대의 서버에서 쏟아지는 대규모 로그(Log) 데이터 속에서 의미 있는 정보를 찾고 장애의 원인을 분석하는 것은 거의 불가능에 가까워졌습니다.이러한 중앙화되지 않은 로그 데이터의 문제를 해결하기 위해, 모든 로그를 한곳으로 모으고(Collect), 검색하기 쉽.. 2025. 9. 4.
APM (Application Performance Monitoring) APM의 탄생 배경과거의 소프트웨어는 대부분 모놀리식 아키텍처(Monolithic Architecture)로, 하나의 거대한 애플리케이션 안에 모든 기능이 포함되어 있었습니다. 이런 환경에서는 문제가 발생하면 해당 애플리케이션의 로그나 서버의 CPU, 메모리 사용량만 확인해도 원인을 비교적 쉽게 찾을 수 있었습니다.하지만 비즈니스가 복잡해지고 빠른 개발과 배포가 중요해지면서, 시스템은 독립적인 기능 단위로 잘게 쪼개진 마이크로서비스 아키텍처(MSA, Microservice Architecture)로 발전했습니다. 이제 사용자의 요청 하나를 처리하기 위해 수십, 수백 개의 작은 서비스들이 서로 통신하는 시대가 되었습니다.이러한 분산 환경에서는 하나의 요청이 느려지거나 실패했을 때, 그 원인이 수많은 서비스.. 2025. 9. 4.
Forward Proxy, Reverse Proxy 정의와 차이점 Proxy프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킵니다.서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 '프록시', 그 중계 기능을 하는 것을 '프록시 서버'라고 부릅니다. 프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장해 둡니다.프록시는 크게 Forward Proxy와 Reverse Proxy로 나뉩니다.Forward Proxy클라이언트(사용자)가 인터넷에 직접 접근하는게 아니라 포워드 프록시 서버가 요청을 받고 인터넷에 연결하여 결과를 클라이언트에 전달해줍니다.프록시 서버는 Cache를 사용하여 자주 사용하는 데이터라면 요청을 보내지 않고 캐시에서 가져올.. 2025. 8. 26.