CS

· CS
NoSQL의 등장 배경 NoSQL은 기본 RDBMS의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터베이스로, 분산 환경에서 대용량의 데이터를 빠르게 처리하기 위해서 개발되었다. RDBMS의 한계 NoSQL이 등장하기 20년간, 데이터를 저장하는데는 RDBMS가 주로 사용되었다. 하지만 2009년 이후로 폭발적으로 데이터가 늘어나면서 RDBMS는 데이터를 처리하는 비용의 증가로 난관에 부딪힌다. 스키마 문제: 빅데이터를 RDB의 스키마에 맞춰 저장하려면 매우 긴 시간이 걸린다. 스케일업의 한계: 성능을 올리는 데에 비용의 한계가 있으며, 스케일 아웃 환경에서 RDBMS를 조작하는 것은 어렵다. Relational SQL vs NoSQL Relationl SQL NoSQL 데이터 저장 행과 열을 가진 ..
· CS
프록시(Proxy)란? “대리”, “대신”의 의미로, 내부 네트워크에서 인터넷 접속을 할 때에, 빠른 엑세스나 안전한 통신 등을 확보하기 위한 중계서버를 프록시 서버라고 한다. 클라이언트와 웹 서버의 중간에 위치하여 중계기로서 대리로 통신을 수행하는 역할을 한다. 이를 통해 클라이언트에겐 빠른 속도의 서비스를, 서버에게는 불필요한 부하를 줄이는 효과를 낼 수 있게 된다. 프록시(Proxy)의 종류 프록시는 포워드 프록시와 리버스 프록시로 나뉘며, 포워드 프록시는 클라이언트, 리버스 프록시는 서버쪽의 설정을 담당한다. 포워드 프록시 클라이언트 뒤에 위치한다. 내부망에서 클라이언트와 프록시 서버가 통신하여 인터넷을 통해 외부에서 데이터를 가져온다. 클라이언트가 인터넷에 직접 접근하는 것이 아니라, 프록시 서..
· CS
힙(Heap) 힙은 완전 이진 트리의 일종으로, 부모 노드와 자식 노드 간에 특정한 조건을 만족하는 자료구조를 말한다. 완전 이진 트리란 부모 노드 밑에 자식 노드가 최대 2개까지 있을 수 있고, 마지막 레벨을 제외한 모든 레벨에 노드가 완전히 채워져 있는 트리 구조를 말한다. 힙의 종류 작은 값이 부모가 되는 힙 형태를 min-heap(최소 힙), 큰 값이 부모가 되는 트리 구조를 max-heap(최대 힙)이라고 한다. 최소 힙은 맨 위의 Node의 값이 가장 작고, 최대 힙은 맨 위의 Node의 값이 가장 크다. 힙의 특징 배열에 데이터를 넣고, 최대값과 최소값을 찾으려면 O(n)의 시간 복잡도가 소요되지만, heap에서 최대값과 최소값을 찾을 때 시간복잡도는 O(logN)이다. 힙에서 부모는 최대 ..
· CS
OOP란? OOP는 Object Oriented Programming의 줄임말로, 많은 객체(Objcet)들이 모여서 상호 협력하면서 데이터를 처리하는 방식의 프로그래밍 설계 방법을 일컫는다. 즉, 현실 세계를 프로그래밍으로 옮겨와 프로그래밍하는 것을 말한다. 현실 세계의 사물들을 객체라고 보고 그 객체로부터 개발하고자 하는 애플리케이션에 필요한 특징들을 뽑아와 프로그래밍하는 것이다. 이처럼 객체 지향 프로그래밍은 객체들을 레고 블럭 조립하듯 유연하고 변경이 용이하다. 또한 각각의 객체들이 독립적인 역할을 가지기 때문에 코드의 변경을 최소화하고 유지보수를 하는 데 유리하다. 뿐만 아니라 코드의 재사용을 통해 반복적인 코드를 최소화하고, 코드를 최대한 간결하게 표현할 수 있다. 이러한 장점으로 인해 대규모..
· CS
본 게시글은 [10분 테코톡] ✌️ 영이의 Replication을 들으며 작성한 글입니다. Replication이란? 한 서버에서 다른 서버로 데이터를 동기화하는 것을 말한다. 원본 데이터를 가진 소스 서버 복제된 데이터를 가지는 레플리카 서버 Relication 서버를 구축하는 목적 스케일 아웃 갑자기 늘어나는 트래픽을 대응하는 데 유연한 구조이다. 데이터 백업 레플리카를 안하더라도 백업은 필요하다. 백업 과정은 실제 실행 중인 쿼리들에 영향을 줄 수 있으므로, 레플리카 서버에서 데이터 백업을 실행하여 소스 서버에서 백업 시 발생하는 문제들을 해결한다. 데이터 분석 분석용 쿼리는 대량의 데이터를 조회하고 쿼리 자체가 무거운 경우가 많다. 이를 소스 서버에서 진행할 경우 실제 서비스에 문제가 될 수 있다..
jyjyjy25
'CS' 카테고리의 글 목록