DB 3

MYSQL/성능개선을 위한 인덱스 정의시 알아두면 유용한 정보(쿼리 실행 계획)

흔히 쿼리의 검색결과를 최적화 할때 새로운 인덱스를 정의하거나 명시적으로 인덱스를 정의하곤 한다. 인덱스에 대해서 쓰는 글은 아니므로 자세히 어떻게 정령되는지에 대한 정보는 나중에 따로 포스팅을 하겠습니다.인덱스 정의 프로세스문제가 되는 쿼리의 실행계획을 먼저 DB에 질의를 던저봐야합니다.EXPLAIN SELECT ~~~EXPLAIN 을 사용해서 mysql 옵티마이져가 쿼리를 어떻게 연산할것인지에 대한 정의가 테이블로 출력시킬 수 있는데 해당 결과를 보고 인덱스가 잘 먹히고는 있는지 검색되는 rows는 얼마나 많은지 비 효율적인 연산이 일어나지는 않는지 먼저 체크를 해봐야합니다.EX)[ { "id": 1, "select_type": "SIMPLE", "table": "test", ..

DB 2023.10.23

Spark 개념

Apache Spark?Apache Spark는 대규모 데이터 처리를 위한 오픈 소스 분산 컴퓨팅 시스템입니다.용어 정리기본 개념RDD (Resilient Distributed Dataset): Spark의 기본 데이터 구조.DAG (Directed Acyclic Graph): 작업의 실행 계획을 나타냅니다.Partitioning: 데이터의 분할 방식.Transformation and Action: Spark에서의 주요 작업 유형들.Spark ArchitectureDriver와 Executor의 역할과 동작 방식Spark Application, Jobs, Stages, Tasks의 관계와 흐름Spark APIsDataFrame & Dataset API: 선언적 데이터 처리를 위한 인터페이스Spark St..

DB 2023.08.16

백터 데이터베이스 개념

백터 데이터 베이스는 복합 비 정형 데이터를 임베딩으로 변환하여서 유사도에따라 사용자의 쿼리를 유추해서 데이터를 조회하는 데이터베이스입니다.뉴럴네트워크가 발달되면서 복합 비정형 데이터를 임베딩으로 빠르고 정확하게 변환할 수 있게됐습니다. 즉 어떠한 데이터가 들어오면 숫자로 변환한 다음 벡터형태로 변환하여서 저장할 수 있게 된것입니다.  딥 러닝 모델에 의한 임베딩 이후 시각화 한 데이터의 결과를 보면 비슷한 데이터끼리 응집돼 있는 결과가 나온 것을 발견했고, 기존의 key:value기반의 DB를 쓰자니 속도도 느리고 위 경우에 가장 적합한 데이터베이스를 찾은것이 백터 데이터베이스입니다.   Vectorizers임베딩된 데이터에서 새로운데이터가 임베딩되서 들어왔을때 두가지 속성을 가진 아티클을 추가하게되면..

DB 2023.05.24