CS
-
카디널리티와 인덱싱CS 2022. 11. 3. 21:57
카디널리티 특정 칼럼에 중복 수치를 나타내는 지표이다. 중복도에 따라 높다 낮다고 표현을 한다. 특정 칼럼을 기준으로 중복도가 높으면 카디널리티가 낮다. 특정 칼럼을 기준으로 중복도가 낮으면 카디널리티가 높다. 유저 테이블이 있다고 가정해보자 칼럼으로는 id, name, gender, age, location 다섯 가지가 존재할 때 성별은 남, 녀로 카디널리티가 2라고 할 수 있다 지역이 만약 도를 기준으로 전국 8도가 있다고 하면 카디널리티는 8이다. 카디널리티가 높다, 낮다를 비교하는 것은 상대적이다. gender는 location 칼럼에 비해 중복도가 높으므로 "location칼럼보다는 카디널리티가 낮다." 그렇다면 인덱싱을 할 때 카디널리티를 이용해 어떻게 거는 것이 좋을까? 결과적으로는 여러 칼..
-
[CS study] 2022.06.29CS 2022. 6. 29. 17:08
Redis 빠른 오픈 소스 인 메모리 키 값 데이터 구조 스토어 보통 데이터베이스는 하드 디스크나 SSD에 저장함 Redis는 메모리(RAM)에 저장하여 디스크 스캐닝이 필요 없어 매우 빠른 장점 캐싱도 가능해 실시간 채팅에 적합하며 세션 공유를 위해 세션 클러스터링에도 활용된다. RAM은 휘발성이 아닌가? 종료를 하면 다 날아가지 않나? 이를 막기 위한 백업 과정이 존재 snapshot: 특정 지점을 설정하고 디스크에 백업 AOF(Append Only File): 명령(쿼리)들을 저장해 두고 서버가 셧다운 되면 재실행해서 다시 만들어 놓음 데이터 구조는 key value 값으로 이루어져 있다 즉 비 관계형 데이터베이스 관리시스템이다. value의 5가지 String (text, binary data):..
-
[CS study] 2022.06.17CS 2022. 6. 17. 18:46
DB index index 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료구조 특정 칼럼에 인덱스를 생성 해당 칼럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 저장됨 이렇게 저장되면 앞으로의 쿼리문에 인덱스를 이용해 검색 속도의 향상을 가져올 수 있음 실제 DB 관련 작업에서 속도 저하는 Select 문 특히 Where문에서 발생하는데 이런 문제의 대안으로 index를 사용 가장 큰 특징으로는 데이터들이 정렬되어 있다 조건 검색이라는 영역에서 굉장한 장점 조건 검색 Where 절의 효율성 테이블을 만들고 데이터가 쌓이면 레코드는 내부적으로 순서가 없이 저장됨 이렇게 되면 Where절에 특정 조건에 맞는 데이터를 찾아낼 때도 레코드의 처음부터 끝까지 다 읽어야 함 하지만..
-
[CS study] 2022.06.13CS 2022. 6. 13. 20:30
파이썬 얕은 복사, 깊은 복사 mutable, immutable 객체에 대해 먼저 알아야 함 immutable 변경 불가능한 객체 (일반적인 자료형, int, string, tuple) # Int a = 1 print(id(a)) #4346364144 a += 1 print(id(a)) #4346364176 # String a = 'a' print(id(a)) #4304480688 a += 'b' print(id(a)) #4304389296 # Tuple a = (1,2) print(id(a)) #4343623232 a += (3,) print(id(a)) #4343656000 immutable 객체들은 값이 변경될때 객체가 변하는 것을 확인 할 수 있다. 여기에 속한 객체들은 call by value의..