1. 교육과 국방 현장의 DB 클라이언트 장벽: "관리자 권한 없는 PC와 1GB짜리 무거운 IDE"
전국 초·중·고 컴퓨터실과 군부대 PC는 보안상의 이유로 일반 사용자(Standard User) 계정으로 잠겨 있습니다:
- UAC(사용자 계정 컨트롤) 관리자 권한 차단: Setup.exe나 MSI 인스톨러 실행 시 교육청 또는 부대 전산실 승인 없이는 설치가 원천 불가합니다.
- 자바(JRE) 런타임 의존성: 대다수 오픈소스 DB 관리 도구(DBeaver 등)는 수백 MB의 Eclipse 플랫폼과 JRE를 요구하여 메모리 4GB~8GB의 구형 교육용 PC를 극심하게 버벅이게 만듭니다.
- 실습 중 데이터 파괴 위험: 학생들이 잘못된
DROP TABLE이나DELETE FROM쿼리를 날려 실습용 원본 데이터베이스 파일이 영구히 손상되는 사고가 빈번합니다.
2. Zero-Install 듀얼 엔진 설계: SQLite 로컬/인메모리 + MySQL 원격 통합
ZeliSQL은 .NET 네이티브 DLL만으로 패키징되어 Zero-Install(무설치) 원클릭 구동을 달성했습니다.
특히 교육 및 실무 환경에서 가장 많이 쓰이는 두 가지 데이터베이스 패러다임을 탭 전환 하나로 자유롭게 오갑니다:
- SQLite 모드:
Microsoft.Data.Sqlite기반. 파일 선택기(Picker)를 통해 교안용 .db, .sqlite, .sqlite3 파일을 열어 즉각 탐색. - MySQL / MariaDB 모드: 고성능 비동기 드라이버
MySqlConnector기반. 인트라넷 및 원격 호스트 IP와 포트(3306)를 통한 실시간 세션 수립.
3. 원본 데이터 무결성 보장: SQLite Mode=ReadOnly 안전 파이프라인
수업 중에 학생이 실습용 SQLite 데이터베이스에 실수로 UPDATE를 쳐서 원본이 깨지면, 교사는 컴퓨터실 40대 PC에 교재 파일을 다시 배포해야 하는 악몽을 겪습니다.
ZeliSQL은 SQLite 연결 문자열에 Mode=ReadOnly를 기본 강제합니다:
// 🛡️ 핵심 안전망: Mode=ReadOnly 강제로 학생의 실수에 의한 원본 파일 손상 100% 방어
using var conn = new SqliteConnection($"Data Source={_sqlitePath};Mode=ReadOnly");
conn.Open();
using var cmd = conn.CreateCommand();
cmd.CommandText = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name";
using var reader = cmd.ExecuteReader();
while (reader.Read())
NavListView.Items.Add($"📋 {reader.GetString(0)}");
이를 통해 파일 잠금(Lock) 충돌 없이 여러 프로세스가 동시에 동일한 .db 파일을 안전하게 열람할 수 있습니다.
4. 원격 RDBMS 비동기 커넥션 풀링과 SslMode=Preferred 보안 계층
원격 MySQL 서버에 연결할 때 발생할 수 있는 네트워크 행(Hang) 현상을 차단하기 위해, ZeliSQL은 비동기 파이프라인(OpenAsync, ExecuteReaderAsync)과 5초 타임아웃을 적용했습니다:
_mysqlConnStr = $"Server={host};Port={port};User={user};Password={pass};"
+ (string.IsNullOrEmpty(db) ? "" : $"Database={db};")
+ "SslMode=Preferred;ConnectionTimeout=5;";
await using var conn = new MySqlConnection(_mysqlConnStr);
await conn.OpenAsync(); // UI 프리징 없는 비동기 연결 수립
SslMode=Preferred를 통해 서버가 TLS 암호화를 지원할 경우 자동으로 전송 구간을 암호화하여 인트라넷 도청을 방어합니다.
5. DPAPI 하드웨어 결합 자격 증명 암호화와 서버 프로필 거버넌스
데이터베이스 관리 도구의 치명적인 보안 허점 중 하나는 저장된 접속 비밀번호가 평문(Plaintext) JSON 파일로 노출되는 것입니다.
ZeliSQL은 Windows 운영체제 수준의 하드웨어 TPM/로그인 자격 증명 기반 암호화인 DPAPI (Data Protection API)를 통해 비밀번호를 암호화하여 로컬 스토리지에 영속화합니다:
// 저장 시: DPAPI로 암호화된 문자열로 직렬화
var toSave = _savedServers.ConvertAll(p => new ServerProfile
{
Label = p.Label,
Host = p.Host,
Port = p.Port,
User = p.User,
Password = ZeliDesk.Services.SecretBox.Protect(p.Password), // DPAPI 암호화
Database = p.Database
});
settings.Values["ZeliSQL_Servers"] = JsonSerializer.Serialize(toSave);
// 로드 시: 현재 로그인 사용자 세션에서만 복호화
foreach (var p in _savedServers)
p.Password = ZeliDesk.Services.SecretBox.Unprotect(p.Password); // DPAPI 복호화
다른 사용자가 설정 파일을 탈취하거나 하드디스크를 떼어내어 다른 PC에 연결하더라도 비밀번호를 절대로 복호화할 수 없습니다.
6. 2단계 스키마 트리(DB ➔ Tables)와 초정밀 쿼리 실행 텔레메트리 (ms)
ZeliSQL은 직관적인 마우스 클릭만으로 데이터베이스의 내부 구조를 탐색할 수 있도록 설계되었습니다:
- 1단계 DB 브라우징: 접속 시
SHOW DATABASES를 호출하여 인트라넷 서버 내 모든 데이터베이스를 폴더(📁) 아이콘으로 나열. - 2단계 테이블 브라우징: 특정 DB를 클릭하면 즉시 해당 DB로 스위칭되어
SHOW TABLES및 각 테이블별 전체 행 수(SELECT COUNT(*))를 나열. - 원클릭 쿼리 자동 생성: 테이블 항목을 클릭하면
SELECT * FROM table LIMIT 200;가 쿼리 창에 즉시 타이핑되고 자동 실행.
모든 쿼리 실행 시 System.Diagnostics.Stopwatch를 통해 밀리초(ms) 단위의 쿼리 응답 시간을 측정하여, 학생과 개발자가 쿼리 인덱스 최적화 효과를 즉시 체감할 수 있습니다.
7. 기존 DB 도구(DBeaver vs Workbench vs VS Code vs ZeliSQL) 심층 비교
| 비교 항목 | DBeaver Community | MySQL Workbench | VS Code SQL Tools | ZeliDesk ZeliSQL |
|---|---|---|---|---|
| 설치 권한 (UAC) | 관리자 권한 필수 | 관리자 권한 필수 | VS Code 설치 필요 | 완전 무설치 (Zero-Install) 단일 구동 |
| 외부 런타임 의존 | Java JRE (500MB+) | VC++ Redistributable | Node.js 런타임 | 순수 .NET 네이티브 (외부 런타임 0MB) |
| SQLite 안전 모드 | 기본 읽기/쓰기 (손상 위험) | SQLite 미지원 | 플러그인별 상이 | Mode=ReadOnly 안전망 강제 |
| 비밀번호 보안 저장 | 자체 키스토어 (자바 의존) | Windows Credential Manager | 설정 파일 평문 노출 위험 | Windows DPAPI 하드웨어 결합 암호화 |
| 메모리 점유율 | 약 800MB ~ 1.5GB | 약 400MB ~ 700MB | 약 300MB ~ 600MB | 약 40MB ~ 70MB (초경량) |
8. 결론: "모든 학생과 군 간부를 위한 가장 가볍고 안전한 온디바이스 DB 파이프라인"
데이터베이스는 현대 디지털 행정과 AI 소프트웨어의 심장입니다. 하지만 복잡한 설치 과정과 관리자 권한 장벽은 교육과 현장 배포의 가장 큰 장애물이었습니다.
ZeliSQL은 SQLite 로컬 파일부터 원격 MySQL 서버까지 아우르는 듀얼 엔진, 원본을 지키는 ReadOnly 안전 모드, DPAPI 하드웨어 암호화를 단 50MB의 가벼운 메모리 공간 안에 완벽하게 구현했습니다.
ZeliDesk는 앞으로도 전국 초·중·고교 교실과 국방 정보화 현장의 모든 사용자가 기술적 장벽 없이 자유롭게 데이터를 탐구할 수 있는 무설치 네이티브 도구 생태계를 확장해 나갈 것입니다.