| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- elasticsearch
- spring aop
- 데이터베이스
- kibana
- 레드마인
- PM
- PreparedStatement
- 엘라스틱서치
- AOP
- redmine
- 백엔드
- 웹프론트
- java
- 프론트엔드
- Database
- spring
- 프로젝트관리
- It
- Si
- 비전공개발자
- 자바
- 스프링
- frontend
- db
- 인덱스
- 오라클
- 이슈관리
- 일감관리
- 검색
- 개발자
- Today
- Total
목록Dev (52)
리타의 저장소
Table Random Access 최소화 튜닝인덱스 컬럼 추가기존 인덱스에 컬럼 추가PK 인덱스에 컬럼 추가⇒ 인덱스에 컬럼 추가했을 때, 클러스터링 팩터가 나빠질 수 있다.→ 인덱스 내에서 키 값이 같은 레코드는 rowid 순으로 정렬됨. 근데, 여기서 변별력이 좋은 컬럼이 추가되면, 해당 컬럼 순으로 정렬되어 클러스터링 팩터를 나쁘게 만들 수 있음.변별력이 좋지 않은 컬럼 뒤에, 변별력이 좋은 컬럼을 추가 할때는 유의해야할 필요가 있음.IOT (Index Organized Table)테이블을 인덱스 구조로 생성. 테이블 인덱스 구조로 만드는 구문create table index_org_t (a number primary key, b varchar(10)) organization index; 힙 구조..
1. Presigned URL (S3 직접 접근)Presigned URL (미리 서명된 URL) 이란 AWS 자원에 대한 접근 권한을 제공하기 위해서 사용되는,이름 그대로 사전에(미리) 적절한 권한을 가진 자격증명에 의하여 signed된 URL 앱에서 이미지가 저장되는 과정Client에서 이미지를 업로드한다는 요청을 보낸다.Server에서는 이미지 업로드를 하기위해 DB와 S3에 각각 이미지에 대한 정보를 업로드한다.DB, S3에 저장이 에러없이 끝나면 프론트에 response 200을 날린다.프론트에서는 서버에서 200 응답을 받으면 방금 업로드한 이미지를 표시한다. Presigned URL 방식?클라이언트가 서버에 “업로드 URL 주세요”서버가 Presigned URL 발급클라이언트가 직접 S3에 ..
인덱스의 활용 인덱스Key + ValueB*tree 인덱스 구조 RowId (제한된 포맷)데이터파일 (4자리)블록 번호 (8자리)로우번호 (4자리)RowID (확장 포맷)데이터 오브젝트 번호 (6자리)데이터 파일 번호 (3자리)블록 번호 (6자리)로우 번호 (3자리) 인덱스의 탐색 수직적 탐색Root > Branch > Leaf시작점 검색Random Access ROOT : 최상위 노드 BRANCH : ROOT & LEAF 의 연결고리 LEAF : KEY + Rowid (블록주소) > leaf node는 정렬되어 있음수평적 스캔Leaf Block의 시작점 ~ 종료점 까지Sequential Access 테이블 Random Access데이터 블록을 읽는 케이스 인덱스의 손익 분..
스프링 프로젝트 생성하고 ES랑 연동하기spring starter io에서 우선 프로젝트를 생성한다. 생성할때, Spring Data Elasticsearch를 추가. 그외 Lombok, JPA, PostgreSQL 등 기타 프로젝트에 필요한 설정도 추가해줬다. 자 그럼 users Document를 셋팅 해줘보자. (Spring -- Elasticsearch 연동)* 주의 : 처음에는 그냥 실험하는 거니까 라는 마인드로 편의상 @Data 어노테이션을 사용한 코드를 업로드 했었으나, 다들 알다시피 실무에선 지양하는게 좋다. 그래서 그냥 바꿨다... UserDocument package com.salary.backend;import lombok.AllArgsConstructor;import lombok.D..
인덱스 만들기 #이런식으로 만든다.PUT /users # 확인 GET /users# DELETEDELETE /boards 만약 DELETE 문으로 인덱스를 삭제하게 된다면, not found exception이 뜬다. "index_not_found_exception", 인덱스에 매핑 정의하기 쉽게 얘기하면 users 라는 인덱스(테이블)에, name, age, is_active라는 컬럼을 정의해준거라고 생각하면 된다.PUT /users/_mappings{ "properties" : { "name" : {"type": "keyword"}, "age" : {"type": "integer"}, "is_active": {"type": "boolean"} }} 확..
Amazon Q Developer ?? Amazon Q Developer는 AWS의 개발자용 AI 도우미이다.AWS에서 이번에 론칭한 AI Coding Assistant 라고 생각하면 된다.Claude의 Sonnet 기반으로 만들어져있다.그동안 Copilot, Codex, Cursor 등 다양한 AI기반의 Coding Assistant 들이 있었지만 AWS에서도 드디어 출시되었다. 이 Amazon Q Deverloper 관련해서, 회사에서 교육다녀올 사람 있으면 신청하라길래, 재밌어보여서 신청해서 한번 다녀와봤다.AWS 모.각.큐의 주된 내용은, Amazon Q Developer Pro를 이용해서 뭔가 만들어보는 뭐 그런 시간이었는데,우선, 생각보다 너무너무너무너무 코드를 잘짜서 매우 놀랐다;;;; 무엇..
Elasticsearch의 기본 용어vs MySQL Elasitcsearch도 데이터베이스다.고로, Elasticsearch에 데이터를 저장/조회/수정/삭제할 수 있다.데이터를 저장하기 위해 가장 먼저 인덱스(index)를 만든다. (여기서 인덱스는 마치 DB에서의 테이블 같은거라고 생각하면 편하다)인덱스를 만들 때 어떤 유형의 데이터를 넣을 지 매핑(mapping)을 정의한다.테이블의 필드(field)에 맞게 데이터를 저장한다. MySQLElasticsearch테이블(table)인덱스(index)컬럼(column)필드(field)레코드(record), 로우(row)도큐먼트(document)스키마(schema)매핑(mapping)주의)우리가 흔히 사용하는 Oracle, MySQL에서 말하는 Index와 ..
기본 아키텍처 Kibana, Elastic Search 설치 및 실행하기1. compose.yml 파일 설정 수정 services: elastic: image: docker.elastic.co/elasticsearch/elasticsearch:8.17.4 # 8.17.4 버전 ports: - 9200:9200 # 9200번 포트에서 Elasticsearch 실행 environment: # 아래 설정은 개발/테스트 환경에서 간단하게 테스트하기 위한 옵션 (운영 환경에서는 설정하면 안 됨) - discovery.type=single-node # 단일 노드 - xpack.security.enabled=false # 보안 설정 - xpack.se..
MySQL → 3306번 포트 & SQL문으로 요청을 보내서, 데이터 조회 가능!Elastic Search → 9200번 포트 & Rest API로 데이터 조회 가능!그러니까, Elastic Search 의 경우 9200번 포트로 Rest API 형태로 보내면 된다. 예시 (데이터 삽입)MySQLINSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');Elastic Searchcurl -X POST "localhost:9200/users/_doc" -H 'Content-Type: application/json' -d'{ "name": "Alice", "email": "alice@example.com"}' Elastic Search의..
1. Docker 설치 Docker: Accelerated Container Application DevelopmentDocker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.www.docker.com OS 에 맞는 Docker 를 설치하고, 계정 로그인을 해준다.계정이 없다면, 계정 생성 후 로그인.간혹, wsl update 가 필요한 경우가 있다. 그럼그냥 해주면 된다.Ubuntu가 설치되어있지 않다면, Ubuntu도 설치해주면 된다./////////////////////////////..