분류 전체보기
-
데이터베이스 정규화오늘/Today I.. 2024. 4. 7. 22:12
데이터베이스 정규화란? 데이터베이스 설계에서 데이터의 중복을 최소화하고 데이터 무결성을 유지하기 위해 데이터를 구조화하는 과정 이상현상이 있는 릴레이션을 분해하여 이상현상을 제거하여 중복된 데이터를 허용하지 않게 함 결과적으로 데이터 무결성을 유지하고 데이터베이스 저장공간을 확보할 수 있다. 데이터베이스 정규화 절차 일반적으로 제 3 정규형 또는 BCNF까지 진행하면 데이터베이스 설계에 무리가 없다. 제 4, 제 5 정규형까지 가서 중복을 완전히 제거해버릴경우 다른 문제가 발생할 수 있다. 제 1정규형부터 BCNF까지는 기본 정규형 제 4정규형, 제 5정규형은 고급 정규형으로 분류한다. 제 1 정규형 (1NF) 제1 정규형은 모든컬럼의 값이 원자값이어야 한다. 즉, 각 필드는 반드시 하나의 값만을 가져야..
-
memcacedClient.set에 대해flash 2024. 3. 31. 21:46
게시글을 작성하면 열람권한을 2시간을 얻는 로직을 구현해야한다. 원래는 redis를 사용하려 하였으나, 라이센스 문제가 생겨 memcached를 사용하게 되었고 로직을 완성하기 위해 memcached를 공부한 내용들을 포스팅하며 프로젝트를 진행하고자 한다. 게시글을 작성하면 userId를 key값으로 사용하고 memcachedClient.set 메서드를 사용하여 서버에 데이터를 저장하였다. key 는 저장할 데이터에 대한 고유한 키이며, 나중에 이 키를 사용해서 데이터에 접근할 수 있다. exp는 만료시간이며 memcached에 데이터가 보관될 시간을 초 단위로 지정한다. 0 설정 시 만료되지 않는다. value는 저장할 데이터 객체이며 나중에 해당 키를 사용해서 검색할 수 있다. 1. set메서드는 동..
-
memcached 설치flash 2024. 3. 30. 22:58
memcached 설치 첫번째. 도커 이미지 다운로드 memcached:1.6.25 설치 alpine을 설치하지 않은 이유는 일반 버전도 용량이 그리 크지않기 때문에 일반버전을 설치함 두번째. spymemcached와 xmemcached 중에서 고민 spymemcached 특징 1. 직관적인 API 2. 문서화 및 커뮤니티 지원이 잘 되어있음 3. 동기 비동기 작업 지원 4. 단일 연결 - 각 spymemcached 인스턴스는 memcached 서버에 단일 연결만을 유지함. 리소스 사용량을 줄이는 대신 고성능에서 병목 발생 가능 xmemcached 특징 1. 고성능 - 멀티쓰레드 환경이 기본 2. 키 해싱, 직렬화, 역직렬화, 최적화 등이 있음 3. 멀티 연결 - 고성능에서 병목 감소 가능 4. 자동장애..
-
Virtual Thread 는 왜 도입된걸까오늘/Today I.. 2024. 3. 25. 10:23
이번 JDK21에 Virtual Thread가 도입되었다. 기존에 있는 thread 기능도 제대로 활용하지 못하는데 이 기능은 왜 들어온걸까 라는 생각만 하며 이 기능이 무엇인지 알아보았다. Virtual Thread (이하 가상 쓰레드)는 KLT(kernel-level thread) 와 ULT(user-level thread) 를 1대1 매핑해서 사용하던 기존의 쓰레드 모델을 개선한 모델이다. 여러 개의 가상 쓰레드를 하나의 네이티브 스레드에 할당하여 사용한다. Java Native Interface는 인터프리터없이 OS가 바로 읽을 수 있는 형태의 네이티브 코드를 JVM이 호출 할 수 있게 하는 인터페이스 이다. 이것 덕분에 자바가 플랫폼에 상관없이 동작할 수 있는데, 자바에서 메서드 앞에 nativ..
-
오늘, Redis가 죽었다.오늘/Today I.. 2024. 3. 23. 02:44
https://news.hada.io/topic?id=13942 Redis, 라이선스를 BSD 에서 듀얼 라이선스로 변경 | GeekNews Redis 가 기존 BSD 라이선스에서 Redis Source Available License (RSALv2) 과 Server Side Public License (SSPLv1) 의 듀얼 라이선스로 변경되었습니다.라이선스 변경으로 인해 Redis 이용자와 Redis 를 이용한 라이브러리 news.hada.io https://redis.com/blog/redis-adopts-dual-source-available-licensing/ Redis Adopts Dual Source-Available Licensing | Redis Beginning today, all fu..
-
flash project (1)flash 2024. 3. 17. 17:02
캠프 이후에 처음으로 팀프로젝트를 하게 되었다. 가제(?) flash 첫날은 가볍게 postgis를 설치하고 이미지를 업로드 하는 것까지 진행하였다. DB는 기본적으로 도커이미지를 사용하였으며, postgis를 적용하는 방법은 2가지가 있었는데 첫번째는 postgreSQL 이미지를 받은 후 extension을 통해 postgis 확장기능을 사용하는 것이었다. 두번째는 postgis 이미지를 바로 사용하는 것이다. 나는 두번째 방식을 사용하여 바로 postgis를 프로젝트 DB로 등록하였다. 그리고 게시글 업로드를 swagger로 하였는데 이미지 업로드 과정에서 presignedURL이 필요하였다. presignedURL이란? 아마존 S3와 같은 클라우드 저장 서비스에서 사용하는 용어로, 이 URL을 사용..
-
데이터베이스 정규화 (기본 정규형)오늘/Today I.. 2024. 3. 6. 23:34
정규화(Normalization) 란? DB 설계에서 중복을 최소화하기 위해 데이터를 구조화하는 프로세스 이상현상이 있는 릴레이션을 분해하여 이상현상을 제거 이를 통해 중복된 데이터를 허용하지 않게하여 데이터 무결성을 유지하고, DB 저장 공간을 확보 가능 정규화의 장단점 장점 - DB에서 이상현상 제거 - 확장시 구조 변경 최소화 단점 - 릴레이션이 분해되므로 릴레이션 간의 JOIN 연산이 늘어남 정규화의 종류 제 1 정규형 1. 각 컬럼은 하나의 속성만 가져야한다. 2. 하나의 컬럼은 같은 종류나 타입의 값을 가져야 한다. 3. 각 컬럼이 유일한 이름을 가져야한다. 4. 컬럼의 순서가 상관없어야 한다. 제 2 정규형 제 1 정규형을 만족하는 경우 제 2 정규형을 적용할 수 있다. 1. 모든 컬럼이 부..