INTP 개발자
close
프로필 배경
프로필 로고

INTP 개발자

  • 분류 전체보기 (398)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (0)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Infra (0)
    • Docker (7)
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17)
      • Architecture (1)
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
  • 홈
  • 태그
MongoDB MongoDB 배포 형태: Replica Set & Sharded Cluster

MongoDB MongoDB 배포 형태: Replica Set & Sharded Cluster

MongoDB 배포 형태: Replica Set와 Sharded Cluster Replica Set Replica Set은 고가용성(HA)과 데이터 복제를 위해 사용되는 구성입니다. 여러 각 노드는 독립적인 데이터베이스 인스턴스로서 역할을 수행합니다. 때문에 예를 들어 Primary 노드에 장애가 발생하더라도 Secondary 노드들은 여전히 서비스를 제공할 수 있습니다. 이는 시스템의 가용성을 높이고, 사용자가 중단 없이 서비스를 이용할 수 있도록 해줍니다. Primary 노드 Replica Set 중 단 하나의 노드입니다. Primary 노드는 데이터 Read / Write 요청을 모두 처리할 수 있습니다. 다른 Secondary 노드들에게 데이터를 복제합니다. Secondary 노드 Replica ..

  • format_list_bulleted DBMS/MongoDB
  • · 2024. 1. 25.
  • textsms
MongoDB MongoDB: 문서 지향 NoSQL

MongoDB MongoDB: 문서 지향 NoSQL

MongoDB MongoDB는 NoSQL로서, 오픈소스 문서 지향(Document-Oriented) 데이터베이스 시스템입니다. 우리가 기존에 접할 수 있는 RDBMS(MySQL, Oracle)와는 다른 데이터 형식을 갖고 있는 NoSQL에 대해 먼저 설명하도록 하겠습니다. MongoDB의 특징 NoSQL NoSQL은 'Not Only SQL' 또는 'Non-Relational'의 약자로, 관계형 데이터베이스(RDBMS)와는 다른 DB 시스템입니다. NoSQL은 다양한 유형으로 나뉘며, 각 유형마다 특정한 데이터 모델과 사용 사례에 최적화되어 있습니다. 아래와 같은 유형은 NoSQL의 대표적인 유형입니다. Document Store: MongDB Key-Value Store: Redis, DynamoDB ..

  • format_list_bulleted DBMS/MongoDB
  • · 2024. 1. 23.
  • textsms
SQL Transaction(트랜잭션): 데이터의 정합성을 보장하기 위한 방법

SQL Transaction(트랜잭션): 데이터의 정합성을 보장하기 위한 방법

트랜잭션: Transaction 트랜잭션은 DB에서 일련의 작업을 논리적으로 묶은 것입니다. 즉 여러 SQL 쿼리문을 하나의 처리로 묶는 것입니다. 유명한 예를 들어보겠습니다. 예제) 고객 A와 B가 있습니다. 고객 A가 고객 B에게 1,000원을 이체하려는 상황입니다. 문제 1. 고객 A가 고객 B에게 1,000원을 이체하게 된다면 고객 A의 잔고는 -1,000원 연산이 이루어져야 하고, 고객 B의 잔고는 +1,000원 연산이 이루어져야 합니다. 하지만 고객 A의 잔고가 줄어드는 연산은 이루어지고, 그 후 오류가 발생하여 B의 잔고가 오르는 연산이 이루어지지 않으면 고객 A의 돈은 감소하고 고객 B의 돈은 증가하지 않게 됩니다. 우리가 바라는 것은 오류가 발생하게 되어 B의 잔고가 오르지 않는다면, 당..

  • format_list_bulleted DBMS/SQL, RDBMS
  • · 2024. 1. 23.
  • textsms
SQL 조회 성능을 위한 인덱스(Index)

SQL 조회 성능을 위한 인덱스(Index)

인덱스 인덱스(Index)는 DB에서 조회, 정렬, 그룹화 등의 연산을 빠르게 수행하기 위해 사용되는 정렬된 자료구조입니다. 특정 열 또는 열의 조합에 대한 정렬된 키와, 해당 키가 대응한 실제 데이터 레코드의 위치로 이루어져 있습니다. (key-value) 형태 예를 들어 위와 같이 주어진 `user` 테이블에서 나이가 20세 미만인 사용자를 찾는 쿼리(`select * from user where age < 20`)를 실행한다고 가정해봅시다. 해당 쿼리는 모든 데이터를 순차적으로 조회하여 조건을 만족하는 결과를 찾아낼 것입니다. 위 테이블은 데이터가 적게 담겨져 있어서 조회 시간에 큰 문제가 없지만, 만약 테이블에 데이터가 매우 많이 담기게 된다면 조회 기능의 성능은 매우 저하될 것입니다. 우리는 조..

  • format_list_bulleted DBMS/SQL, RDBMS
  • · 2024. 1. 22.
  • textsms
MySQL 데이터베이스(DB)에 배열 넣기 (feat. JSON)

MySQL 데이터베이스(DB)에 배열 넣기 (feat. JSON)

일반적으로 배열의 값을 데이터베이스(DB)에 넣기 보다는, 별도의 테이블에 저장하고, 해당 테이블과 원래 테이블 간의 관계를 생성합니다. 즉 정규화를 하는 것인데 이를 통해 배열 요소의 개별 검색, 수정, 추가가 용이해지는 장점이 있지만, 배열의 크기가 크거나 굳이 정규화를 하지 않아도 될 경우에도 정규화를 하게 되면 성능 문제가 발생할 수 있습니다. 때문에 배열 그대로 테이블에 집어넣는 방법에 대해서 알아보도록 하겠습니다. 문자열로 저장하는 방법 `배열 자료형`을 `문자열`로 변환하고, 그대로 테이블에 문자열 컬럼으로 저장해버리는 방법입니다. 배열을 넣을 때는 문자열로 변환하여 저장하고, 가져올 때는 문자열을 불러와 파싱하여 배열 자료형으로 만들어 사용하면 됩니다. 1) org.json 라이브러리 의존..

  • format_list_bulleted DBMS/SQL, RDBMS
  • · 2023. 6. 13.
  • textsms
[MySQL] port 변경하기

[MySQL] port 변경하기

MariaDB의 포트를 3306으로 설정해줌으로 MySQL의 포트를 따로 설정해주어야 했다. 포트(port)를 변경하기 위해선 다음과 같은 과정을 거치면 된다. 1. my.ini 수정 기본 설정으로 MySQL을 다운로드 하였다면 my.ini의 경로는 다음과 같을 것이다. 경로: C:\ProgramData\MySQL\MySQL Server 8.0 my.ini 파일에서 두 군데 port 번호를 변경해주어야 한다. 2. 서비스에서 MySQL 재구동 my.ini에서 설정한 포트로 정상적으로 구동된다.

  • format_list_bulleted DBMS/SQL, RDBMS
  • · 2022. 10. 5.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (398)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (0)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Infra (0)
    • Docker (7)
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17)
      • Architecture (1)
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
최근 글
인기 글
최근 댓글
태그
  • #게시판
  • #jsp
  • #이펙티브 자바
  • #Java
  • #Docker
  • #mybatis
  • #servlet
  • #회원 관리
  • #JDBC
  • #querydsl
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바