[정리] 데이터베이스(33)
-
MySQL Read ISOLATION
Read isolation 이름 구현 방식 특징 READ UNCOMMITED Commit 이 되지 않은 내용일지라도 반영해서 읽는다. Dirty read READ COMMITED Commit 이 된 내용만을 읽는다. Phantom read Non Repeatable read REPEATABLE READ Snapshot 에서 데이터를 읽는다. SERIALIZABLE Lock 을 걸고 데이터를 읽어온다. 특징 이름 비고 Dirty read 아직 commit 되지 않아 신뢰할 수 없는 내용을 읽어온다. Phantom read commit 전후로 새로운 레코드가 생겨날 수 있다. Non Repeatable read commit 전후에 read 내용이 다르다. 잘 요약된 포스팅 : https://jupiny.co..
2020.01.03 -
ES Search query depth 정리 2019.08.03
-
Influx DB 개요
포스팅 참조 (1) 포스팅 참조 (2) 시계열 데이터 데이터가 Timestamp 와 같이 저장된 데이터 가로축이 Timestamp 가 와야 시계열 데이터다. Timestamp 를 지정안해줘도 자동으로 지정되서 저장됨 테이블 Measurements 인덱싱된 칼럼 Tags 인덱싱되지 않은 칼럼 (실질적인 값이 저장되는 곳) Fields (or point) 기본키 Series (or key) TSDB 시계열 데이터를 다루는 데이터베이스 Influx DB는 TSDB의 일종이다. Influx DB는 Line protocol 를 사용한다 Influx DB는 스키마를 가지지 않는다. 특정 measurments(table)에 존재하지 않는 필드가 들어오면 칼럼이 새로 생긴다. 단 이때 생긴 필드의 타입은 최초에 들어온..
2019.07.26 -
TSDB 개요
강의 출처 RDB 의 목적 -> ACID 보장 RDB 의 문제점 - 스키마에 벗어난 데이터를 저장하는 것이 불가능하다. - 시계열 데이터를 담는데는 부적합하다. Time series data = 시간에 따라 인덱싱 된 데이터 TSDB = 시간을 최우선 축으로 두고 시계열 데이터를 다루는 DB TSDB = Create Read 에 성능을 집중한다. Update 와 delete 가 잦은 작업에는 부적합하다. 데이터 공간은 한계가 있으니 데이터를 지우고 아카이빙 하는 작업을 주기적으로 한다. cron job 을 따로 등록해줄 필요가 없다. ex) influxdb druid prometheus opentsdb
2019.07.26 -
MySQL 특정 칼럼에 중복 제거된 값으로 페이징하기
DROP TABLE item; CREATE TABLE item ( id BIGINT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(200), first_seen BIGINT, group_id BIGINT ); INSERT INTO item(name, first_seen, group_id) VALUES("A", 15100, 1); INSERT INTO item(name, first_seen, group_id) VALUES("B", 15654, 2); INSERT INTO item(name, first_seen, group_id) VALUES("C", 46812, 3); INSERT INTO item(name, first_seen, group_id) VALUES("D", 15412..
2019.05.10 -
조인 정리
Scheme CREATE TABLE races ( races_id BIGINT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(200) ); CREATE TABLE friends ( friends_id BIGINT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(200), races_id BIGINT, CONSTRAINT character_races FOREIGN KEY(races_id) REFERENCES races(races_id) ); INSERT INTO races(name) VALUES("동물"); INSERT INTO races(name) VALUES("과일"); INSERT INTO races(name) VALUES("사람"); INSERT ..
2019.05.10