DB4 인덱스란 ? 인덱스란 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 만약 우리가 책에서 원하는 내용을 찾는다고 하면 책의 모든 페이지를 찾아보는것은 오랜 시간이 걸린다. 그렇기 때문에 책의 저자들은 책의 맨앞 또는 맨뒤에 색인을 추가하는데 데이터베이스의 index는 책의 색인과 같다. 데이터베이스에서도 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이터와 데이터의 위치를 포함한 자료구조를 생성하여 빠르게 조회할 수 있도록 돕는다. 인덱스를 활용하면, 데이터를 조회하는 SELECT 외에도 UPDATE나 DELETE의 성능이 함께 향상된다. 그러한 이유는 해당 연산을 수행하려면 해당 대상을 조회해야만 작업을 할 수 있기 때문이다. // Mang이라는 .. 2021. 8. 3. NoSQL NoSQL 비 관계형 데이터베이스는 구조화 되지 않고 분산되어 있다. 기본적으로 SQL(관계형 데이터베이스)와 반대되는 접근방식을 따르기 때문에 지어진 이름이다. 스키마가 없고 관게도 없다. NoSQL DB 종류 NoSQL 데이터베이스의 종류는 키-값 데이터베이스, 도큐먼트 데이터베이스, 칼럼 패밀리 데이터베이스, 그래프 데이터베이스로 나뉘며 아래 그림은 관계형 데이터베이스와 4가지 종류의 NoSQL 데이터베이스를 각각의 대표 제품과 함께 나타낸 그림입니다. 키-값 데이터베이스 : 키와 값으로 구성된 배열구조의 데이터베이스로 NoSQL 데이터베이스 중 가장 단순한 구조입니다.(※ redis는 "개발자를 위한 레디스 튜토리얼 01 - https://meetup.toast.com/posts/224" 참조) .. 2021. 7. 24. Redis란? 왜 사용할까? Redis란 무엇인가? Remote Dictionary Server의 약어인 Redis는 키-값 기반의 인-메모리 데이터 저장소 이다. 키-값 기반이기 때문에 쿼리를 따로 할 필요 없이 결과를 바로 가져올 수 있다. 또한 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 속도가 상당히 빠르다. Redis의 데이터구조 Strings : 단순한 키-값 매핑구조이다. Lists : Array형식의 데이터구조이다. List를 사용하면 처음과 끝에 데이터를 넣고 빼는 것은 속도가 빠르지만 중간에 데이터를 삽입할 때는 어려움이 있다. Sets:순서가 없는 Strings 데이터 집합이다. Sets에서는 중복된 데이터는 하나로 처리하기 때문에 중복에 대한 걱정을 할 필요가 없다. Sorted S.. 2021. 7. 24. 트랜잭션과 트랜잭션의 특징 트랜잭션 이란?? - 하나의 논리적 작업 단위를 구성하는 인련의 연산들의 집합이다. 예) 한계좌에서 10만원을 인출하여 다른 계좌로 10만원 입금하는 이체 작업은 전체 작업이 정상적으로 완료되거나, 만약 정상적으로 처리될 수 없는경우에는 아무것도 실행되지 않은 처음 상태로 되돌려야 한다. 이러한 트랜잭션은 다양한 데이터 항목들을 액세스하고 갱신하는 프로그램 수행의 단위가 된다. commit or rollback (모두 실행되거나 아무 쿼리도 실행되지 않는다). 트랜잭션은 ACID 성질이라고 하는 네가지 성질을 가진다. Atomicity(원자성) :트랜잭션의 모든 연산들이 정상적으로 수행완료 되거나 아니면 전혀 어떠한 연산도 수행되지 않은 상태를 보장해야 한다 이체과정중에 트랜잭션이 실패하게 되어 예금이 .. 2021. 6. 29. 이전 1 다음