일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바스크립트
- 개발공부
- 프로그래머스
- 비동기
- java
- 컴퓨터공학
- OS
- context switching
- Zerobase
- codestates
- 파이썬
- 파이썬 알고리즘 인터뷰
- algorithm
- 운영체제
- Operating System
- 자료구조
- 글또
- 알고리즘
- typeScript
- JavaScript
- 코드스테이츠
- react 기초
- useState
- 자바
- REACT
- execution context
- node.js
- Computer Science
- python algorithm
- Python
- Today
- Total
목록Backend Development/DATABASE (5)
Back to the Basics
주로 단일 인덱스를 많이 사용해 왔고 복합인덱스를 가끔 사용하곤 한다. 최근 면접 질문에서 관련 이야기가 나왔고 제대로 대답을 하지 못했다. 복합인덱스가 어떻게 저장되는지, 복합인덱스의 순서를 어떻게 해야 효과적으로 사용할 수 있는지에 대한 것은 사용하는 입장에서 당연히 알아야 할 개념이었다. 무턱대고 설정해 놓는다면 인덱스가 소용없게 될 수도 있다. 이번에 인식한 김에 정리를 해보았다.참고로 postgresql을 기준으로 하였다.목차는 아래와 같다1. 복합인덱스란?2. 복합 인덱스의 구조, 어떻게 생겼고 어떻게 작동하나?3. 복합인덱스는 어떻게 설계해야할까?4. 정리1. 복합인덱스란?복합인덱스는 하나 이상의 컬럼을 을 조합하여 만든 인덱스이다. 예를 들어 "name" 과 "age" 라는 두 열에 대해 ..
자체 서비스에서 주소 검색 서버를 개발하는 프로젝트를 진행했던 적이 있다. 주소 데이터베이스 구축부터 검색 서버까지 개발하는 프로젝트였다. 서드 파티를 사용하면 되지, 왜 자체 주소 검색 서비스를 만드는가에 대한 의문도 있겠지만 이는 도메인 특성상 주소나 영역에 대해서 서드파티로는 한계가 있던 부분이 많았기 때문이었다.이때 사용했던 postgresql의 full text search에 대해 조사했던 것을 다시 정리해 보았다. (나중에는 postgresql > elasticsearch로 개발하였다.)내용이 조금 많기에 순차적으로 포스팅할 예정이다. 이번 포스팅에서는 Full text search에 사용되는 기본 개념을 소개하고 다음 포스팅에서는 정확한 주소 검색을 위해 고민했던 방법에 대해서 정리해 보려고..
서론 .. 주저리주저리이번에 진행하는 프로젝트에서 full text search를 하기위해 Elastic Search를 적용하게 되었다.(여담이지만 개발공부를 할 때에는 MySQL, 회사에 들어와서는 PostgreSQL등 관계형 DB들만 사용해봤는데 No SQL을 직접 사용해 볼 기회가 와서 좋다)full text search를 해야하는 이유는 바로 통합검색을 하기 위함이었다.기존에 사용하던 방식은 postgreSQL 에서 통합검색을 하는 방식이었는데 자유분방한 사용자 입력에 대해 부분검색을 구현하는데 한계가 있어 결국 elasticSearch를 사용하기로 하였다.참고로 full text search란 DB 내에서 특정 키워드나 문서와 일치하는 텍스트를 찾는 검색 방법이다. 일반 검색과 다른점은 일반 검..
Page 는 데이터베이스에서 데이터를 읽어오는 하나의 단위이다. SELECT query를 할 때 내가 원하는 행만 disk에서 가져오는 것이 아니라 page라는 단위로 disk에서 캐싱을 한다. 지금까지는 Database를 단순히 사용하기만 했었다. 하지만 느린 쿼리는 결국 문제를 발생시켰고 쿼리 최적화에 대해 고민을 하다보니 Index의 원리에 대해 알아야 했다. 그러다보니 Database에서 파일을 저장하고 관리하는 방법에 대해 알아야 하는 필요성이 생겼다. 그래서 이번 블로그에는 데이터베이스 페이지의 개념, 디스크에 읽기 및 쓰기 방법, 디스크에 저장되는 방법, Postgres에서 페이지 레이아웃에 대하여 정리해보았다. [목차] Page란? Database에서 읽고 쓰기 과정 Page에 들어가는 ..
SQL이란 SQL은 Structured Query Language의 약자로 국제 표준 데이터베이스 언어이다. 관계형 데이터베이스(RDB)를 지원하는 언어로 주로 사용된다. 관계 대수와 관계 해석을 기초로 한 혼합 데이터이다. 질의어(Query Language)의 기능 뿐 아니라 데이터 구조 정의, 데이터 조작, 데이터 제어 기능을 갖추고 있다. SQL 분류 SQL은 사용 용도에 따라 DDL(데이터 정의어), DML(데이터 조작어),DCL(데이터 제어어)로 구분된다. DDL (Data Difine Language) 데이터 정의어 DDL은 데이터를 정의할 때 사용한다. Schema, Domain, Table, View, Index를 정의 , 변경, 삭제할 때 사용하는 언어이다. DDL은 번역한 결과가 Dat..