엔조이데브 v11
로그인회원가입

개발 노트

전체글

83

Prisma로 관리되는 DB에 마이그레이션을 합치면서 데이터를 유지하는 방법

Utils

·

6/10/2025

·

개발환경이기는 하지만 그동안 테스트 했던 데이터를 유지한 상태에서 prisma의 migration 이력들을 하나로 합치고 싶었다. 이걸 실행하면 되긴 하는데 데이터를 모두 삭제한다. 마이그레이션 이력만 합치는 건데 왜 데이터를 지우는지 모르겠다. 방법은 디비백업, 처리 후, 복원 방법이다.

로컬 데이터베이스(파일 DB) 총정리 한눈에 보기 서버 없이 하나의 파일(혹은 소수의 파일)에 데이터를 저장·조회할 수 있는 엔진들을 “로컬 데이터베이스” 또는 “임베디드 DB”라 부른다. 설치가 간단하고, 배포·백업이 쉬워 모바일·데스크톱·IoT·클라이언트-사이드 웹 앱에 널리 쓰인다. 왜 로컬 DB인가? 분류 & 대표 엔진 주요 엔진 살펴보기 3-1. SQLite 언어 바인딩: C/C++ core, 거의 모든 언어에서 지원 특징: 풀(Full)-SQL 92 지원, WAL(Write-Ahead Log) 모드, 확장 모듈(FTS, JSON1) 장점: 신뢰성·성숙도 최고, 단일 ①파일. 제약: 동시 다중 쓰기 성능 한계(로그 기반으로 완화). 3-2. DuckDB 포지션: “로컬용 미니 OLAP” 특징: 컬럼 저장, 벡터화 실행 엔진, Parquet/CSV 직접 읽기·쓰기, Python/R 연동 탁월. 사용 예: 데스크톱 데이터 분석 툴, Jupyter 노트북. 3-3. LevelDB / RocksDB 구조: LSM-Tree 기반 키–값 스토어 LevelDB = Google, RocksDB = Meta(페이스북)에서 포크 후 고성능화 장점: SSD 최적 IO, 높은 쓰루풋, column family·압축·블룸 필터. 3-4. Realm 대상: 모바일(iOS/Android), Kotlin Multiplatform, .NET MAUI 특징: 객체 지향 API, 동적 스키마 마이그레이션, 실시간 Sync 옵션(MongoDB Atlas). 3-5. LiteDB (.NET) 형식: 단일 .litedb 파일에 BSON 컬렉션 저장 장점: Entity‐like LINQ 쿼리, 암호화, 트랜잭션, 무설치. 사용 예: WPF/WinForms 로컬 캐시, 게임 세이브 데이터. 선택 가이드 성능·안정성 체크리스트 동시성 모델: 파일 잠금(전역·페이지·WAL) vs MVCC. Write-Ahead Logging: 활성화 시...

Direct GraphEdit 사용하는 방법

이론

·

5/30/2025

·

마소 GraphEdit사용 Windows SDK 다운받기 출처: https://moaimoai.tistory.com/129 [모아이석상의 컴퓨터 이야기:티스토리] 그래프 에디터 시작하기 그래프 에디터는 다양한 멀티미디어 관련 유틸리티를 제작할 수 있는 유용한 도구이다. 그래프 에디터를 이용해 다이렉트쇼의 모든 컴포넌트(필터)를 구성하고 테스트해볼 수 있다.다이렉트쇼의 필요한 기술의 대부분은 필터그래프(filter graph)를 구성하는 기술이다. image.png 이 경로에 Graphedt.exe 프로그램이 존재한다.  그래프 에디터 사용 기술 다이렉트 쇼에서 컴포넌트란 필터를 의미한다. 다이렉트 쇼에서 필요한 기술의 대부분은 필터그래프이다. 필터 그래프를 구성하는 기술은 크게 렌더링과 연결하기로 나누어진다. 렌더링으로 필터그래프 구성 널렌더링 (아무 것도 없는 상태에서 수행) 널 렌더링이란 그래프에디터 내에 아무것도 존재하지 않는 상황에서 필터그래프를 구성하는 기술을 의미 하드디스크에 있는 멀티미디어 파일이나 URL로 지정된 파일 모두에 수행 가능 이후 이 기술은 필터 추가 후 렌더링 기술의 바탕이 됨 다이렉트 쇼에서 가장 널리 사용되는 기술 널 (소스 필터가 자동 추가되기 때문에 자신이 추가한 소스 필터는 반영되지 않는다.) image.png 파일 -> Render Media File 을 통해 비디오 파일을 선택한다. 아래 그림은 sample.wav 파일과 sample.mp4 파일을 선택한 결과이다.이후 재생 버튼을 클릭하면 동영상이 재생되고 소리가 흘러나온다. image.png 필터 : 박스필터 그래프 : 박스의 묶음 화살표 :  가리키는 방향은 순서를 의미함  선들이 있는 부분을 핀(pin) 이라함 박스 왼쪽 핀 : 입력 핀(input pin) 박스 오른쪽 핀 : 출력 핀(output pin) output pin -> input pin 소스 필터(source filter) : 순서에서 가장 앞에 있는 필터 (출력 핀만 있음) ...

PostgreSQL

PostgreSQL

·

5/29/2025

·

OR 조건 vs AND 조건: 성능과 변환 기법의 실체 SQL 성능 최적화에서 WHERE 조건절은 쿼리 효율에 막대한 영향을 미친다. 특히 OR 조건과 AND, NOT 조건의 조합은 작은 차이처럼 보여도 결과적으로는 수배의 성능 차이를 야기할 수 있다. OR 조건은 왜 느린가? OR 조건은 RDBMS가 각 조건을 개별적으로 평가하고, 그 결과를 합집합(UNION) 방식으로 결합하기 때문에 비용이 커지는 경향이 있다. 예를 들어, 위 쿼리는 내부적으로 두 조건 각각에 대해 인덱스를 타거나, 전체 스캔 후 필터링을 수행하게 된다. 특히 column에 인덱스가 있더라도, 두 조건을 인덱스로 효율적으로 병합하지 못하는 경우가 생긴다. 병렬 처리의 단점 OR 조건이 여러 개 걸릴 경우, 쿼리 플래너는 종종 전체 테이블 스캔(full scan) 을 선택한다. 이는 AND 조건과 비교해 더 많은 블록 I/O를 야기할 수 있다. De Morgan 법칙을 활용한 OR → AND/NOT 변환 모든 OR 조건은 수학적 논리의 드모르간 법칙(De Morgan's Law) 을 이용해 AND와 NOT으로 변환이 가능하다. 예시 변환 또는 분포 기반 최적화로, 으로 바꾸는 방법도 있다. 이 방식은 조건이 부정(NOT)으로 바뀌는 만큼, 인덱스를 활용하는 데 제약이 생길 수 있으므로 상황에 따라 신중하게 적용해야 한다. 어떤 경우 OR가 더 빠를 수도 있다 조건을 NOT으로 바꾸었지만, 결과적으로 더 많은 데이터를 대상으로 필터링해야 하는 경우 성능은 오히려 저하된다. 예를 들어 다음의 경우를 보자. 위와 같이 부정 조건으로 바꾼 필터가 훨씬 더 많은 데이터를 통과시키게 되는 경우, OR 조건이 오히려 빠르게 작동한다. 이때는 실제 데이터 분포 통계(histogram) 와 실행 계획(EXPLAIN PLAN) 을 반드시 확인해야 한다. 인덱스와 결합 전략 대부분의 RDBMS는 단일 인덱스로는 OR 조건의 모든 조합을 최적화하지 못한다. 반면, UNION ALL로 분해...

이전 사이트에서 글을 옮기면서 보니 너무 복잡한 설치방법이다. 이제 Docker 이제 한 줄 실행하면 실행되기 때문이다. 추억 삼아 올려본다. Redmine? 이슈 트래커 중 유명한 도구 글 히스토리 2016-08-11 리눅스환경, 패키지 버전에 따라 예전에 블로그를 따라 하면 됐던게 몇달 지난 후 똑같이 따라하면 안된다. 2013-11-23 레드마인은 현재시점 최신버전인 2.4.1 (r. 2013-11-23)을 설치한다. 그리고 기존에 사용했던 레드마인 DB와 Files를 마이그레이션 할 것이다. 설치구성환경 CentOS 7.0 64bit Redmine 3.3.0 MariaDB 10.1.2 설치순서 CentOS 설정 SELinux를 Disable 보안관련이라고 하는데 골칫덩어리라고 한다. Redmine.or.kr 에서는 이를 비활성화시키라고 해서 그렇게 해보려고 보니 이미 Disabled되어 있었다. 확인: getenforce 경로: /etc/sysconfig/selinux (실제 경로는 /etc/selinux/config) 에서 config 쉽게 이 명령으로 바꿀 수 있다. (파일내용 중 s/ 이하에 있는 내용을 /~~/g ~~로 변경할 수 있는 명령이다.) 방화벽 Port 허용: 기본적으로 Redmine은 3000번 포트를 사용하기에 추가한다. 설치진행 EPEL(Extra Package for Enterprise Linux repository configuration) 설치 개발툴 설치 Ruby와 Passenger 빌드에 필요한 헤더파일 MariaDB와 헤더파일 ` Apache와 헤더파일 ImageMagick과 헤더파일 Ruby 설치 소스다운받는 방식의 1.9.3 설치순서 (http://www.ruby-lang.org/ko/downloads) Bundler 설치 MariaDB 설정 9-1. MySQL 시작 및 자동시작 9-2. MySQL root패스워드 설정 9-3. Redmine용 데이터베이스 생성 및 사용자 생성 Redmine 설...

...

  • 개발 언어
    • - Visual Basic 6.0 (16)
    • - Visual C++ 6.0 (18)
    • - 기타 (0)
    • - JavaScript (0)
    • - Next.js (0)
    • - C# (12)
    • - DevExpress (4)
    • - Java (0)
  • 개발 도구
  • 개발 DB

Tag

©2002-2025 EnjoyDev. All rights reserved

엔조이데브엔조이다물