Developer/DB 12

커넥션 풀의 변천사[old vs modern]

과거에 주로 사용되던 Commons DBCP나 C3P0 같은 "옛날 스타일"의 커넥션 풀과 현재 표준인 HikariCP는 설계 철학부터 성능 최적화 방식까지 큰 차이가 있습니다.단순히 "더 빠르다"를 넘어, 어떤 기술적 포인트가 다른지 비교해 정리해 드립니다.1. 한눈에 보는 비교 (Old vs. Modern)구분옛날 스타일 (DBCP, C3P0)요즘 스타일 (HikariCP)철학풍부한 기능과 세밀한 옵션 제공극단적인 단순화와 성능 최적화라이브러리 크기상대적으로 무거움 (수 MB)매우 가벼움 (약 130KB)동기화 전략synchronized 등 무거운 락 위주Lock-free 설계 (ConcurrentBag)연결 검증testOnBorrow, validationQuery 위주maxLifetime 기반의 선..

Developer/DB 2026.01.02

📌 MariaDB vs PostgreSQL vs Oracle – 실무 개발자를 위한 핵심 비교 정리

DB 선택은 시스템 설계에서 가장 중요한 의사결정 중 하나입니다.오늘은 MariaDB, PostgreSQL, Oracle 세 가지 DB를개발자 관점에서 명확하게 비교해보겠습니다.특히 SI/기관/대규모 시스템 경험 기준으로 실무에서 어떤 차이가 나는지 집중해서 설명합니다.1. 개요 – 각 DB의 포지션✔ MariaDBMySQL 기반의 오픈소스 DB.가볍고 빠르고, 단순 CRUD 기반 서비스에 적합.스타트업·내부관리·웹서비스에서 많이 사용.✔ PostgreSQL표준 SQL 준수율 최고 수준의 오픈소스 ORDBMS.복잡한 쿼리·분석·JSON 처리·MVCC 안정성에 강함.기관·SI·엔터프라이즈에서도 빠르게 확산 중.✔ Oracle대규모 금융/공공기관에서 사용하는 대표적인 상용 DB.RAC, Undo 기반 MVC..

Developer/DB 2025.11.26

mybatis 변천사(feat. iBATIS )

MyBatis (2010년대 이후, 현재도 활발)iBATIS 후속 프로젝트 (Apache → 개발자 커뮤니티 독립).철학: 여전히 “SQL은 내가 통제한다(SQL 중심)”이지만,XML의 가독성 개선애노테이션 기반 Mapper 인터페이스 지원CamelCase 매핑, 타입 핸들러 등 자동화 기능 강화Spring과 통합이 잘 되어 있음 (MyBatis-Spring)대규모 트래픽 처리하는 전자상거래, 금융권, 공공 SI 등에서 여전히 많이 씀. 🔹 iBATIS 시대iBATIS 1.x (2002~2004)SQLMap 기반 단순 매핑 프레임워크.Java 진영 외에도 .NET, Ruby 버전도 존재.iBATIS 2.x (2004~2009)XML 기반 매퍼 구조 정착.당시 국내 SI 업계에서 표준처럼 많이 사용됨...

Developer/DB 2025.09.22

MyBatis 3에서는 SQL을 자동으로 실행해주는 기능

1. SQL 실행 자동화MyBatis는 **SQL Mapper(XML, 어노테이션)**에 정의된 쿼리를 자동으로 실행해줍니다.→ 예를 들어 insertUser(User user)를 매퍼에 정의하면, sqlSession.insert("namespace.insertUser", user) 형태로 호출만 하면 SQL이 실행됩니다.즉, JDBC처럼 직접 PreparedStatement를 만들고 바인딩할 필요 없이, MyBatis가 자동으로 처리해 줍니다. MyBatis 3에서의 자동 매핑 동작1. parameterType 생략 가능parameterType은 메서드에 넘기는 파라미터 객체 타입을 명시하는 용도입니다.사실 생략해도 동작합니다.→ MyBatis는 실행 시점에 넘어온 객체의 타입을 보고 처리하기 때문이..

Developer/DB 2025.09.22

마이바티스의 장단점

MyBatis가 좋은 이유1. SQL 제어권이 명확함복잡한 쿼리, 조인, 인덱스 활용, 성능 튜닝 등을 개발자가 직접 세밀하게 제어할 수 있음. Query 플랜 보고 힌트 주거나, 특정 DB 기능 활용하기 좋음. 2. 동적 SQL 지원이 유연함, , 같은 XML 기반 동적 SQL 요소가 있고, 파라미터 조합에 따라 SQL을 유연히 구성 가능. 3. 학습 진입 장벽이 낮은 편SQL을 이미 잘 아는 개발자라면 “쿼리 작성 + 매핑” 구조가 익숙하고, JDBC 쪽 복잡한 boilerplate를 줄여주는 만큼 빠르게 사용할 수 있음. 4. DB 종속적인 기능 활용 가능DB 벤더의 고유 기능(stored procedure, 함수, 힌트 등)을 쿼리에서 바로 쓸 수 있음. ORM보다 제약이 적음. 5. 명확한 매..

Developer/DB 2025.09.21

데이터 모델링( 비즈니스 로직 tdd로 가기전)

설계라는것은 엄청난 것이라는 생각이 든다. 왜냐하면 창조적인 본능과 연계된 것으로 지구에서 눈에 보이는 것중에 인간만이 할 수 있기 때문이다. 여태까지는 도구를 쓴 부분만 생각했는데 그것보다 더 중요한 것이 설계능력이다. 자연에 이미 있는 것을 활용하는 것 말고... 설계를 통한 도구의 발전.. 다시 말하면 기술의 발전은 인류의 삶을 혁신적이고 창조적으로 발전시켜왔기 때문이다. 1900년대초에 식략난을 걱정했던 경제학자들은... 기술의 발전으로 농업의 대량생산을 예상하지 못했다. 결국 인류의 수많은 문제를 해결한 것은 인간의 기술력인 것이다. 이런 측면에서 설계를 문제해결의 시각으로 생각하고 보려고 한다. 정보화시대이후 초연결시대에, 초연결된 사회에서 정보를 교류하고 융합하는 시점에서... IT는 참 효..

Developer/DB 2024.02.10

오라클, MySQL 그리고 MariaDB차이점 정리

Oracle과 MySQL의 차이점 (velog.io) Oracle과 MySQL의 차이점 📌 1. Oracle vs MySQL 📎 Intro: DB(Data Base)란? > 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합이다. 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높 velog.io 오라클과 MySQL이 대충 대규모 서비스에 오라클이 적합하게 메모리 사용률도 높고 쓰는 쿼리방식도 문자열, 날짜, 시퀀스, 조건식, null 처리가 미세하게 다르다... 힌트나 파티셔닝 처리 방식도 다르다. 한마디로.. 학습용으로는 MySQL이 좋고, 트랜잭션 지원이 잘되는 대용량서비스는 오라클이 좋은듯한데... MySQL은 암튼 스키마와 데이터베이스를 동급 으로 취급한다 위의 ..

Developer/DB 2024.02.04

DataGrip과 Beekeeper 비교

데이터그립 (DataGrip)은 젯브레인사에서 제공하는 DB관리 툴로서 8가지 장점이 있다고 한다 https://blog.jetbrains.com/ko/datagrip/2022/01/06/top-8-datagrip-database-explorer-features-you-have-to-know/ 반드시 알아야 할 주요 8가지 DataGrip 데이터베이스 탐색기 기능 | The DataGrip Blog JetBrains DataGrip은 강력한 데이터베이스 작업용 도구입니다. DataGrip은 PostgreSQL, MySQL을 비롯하여 SQL Server, Oracle, MongoDB와 같은 다른 많은 데이터베이스 및 DDL 데이터 소스를 지원합니다. 데이터 탐색 blog.jetbrains.com 간편한 데..

Developer/DB 2023.03.24

DB유료툴 추천 ~! PL/SQL Developer

PL/SQL Developer 는 다량의 SQL 실행시켜주는 COMMAND SQL이 존재하고 수정/삭제가 용이하며 PL/SQL Beautifier 로 쿼리 자동정렬 기능을 제공하는게 상당히 좋다. 가격은 상당하므로... PG개발과 같은 PL/SQL 다량 오라클 프로젝트 전용에 좋은듯하다. https://www.allroundautomations.com/try-it-free/ Try it free - Allround Automations The Direct Oracle Access component set comes in two versions, the Standard version and the Object version. Only the Object version is available for eval..

Developer/DB 2023.02.25

오라클 잡 스케줄러 확인 및 간단 확~!

오라클 잡 스케줄러를 간단 살펴봅니다. 1. 오라클 잡 스케줄러 확인 및 구조 SELECT * FROM USER_JOBS ; 잡 스케줄러 확인을 합니다. 컬럼을 살펴보면 JOB 컬럼은 번호 NEXT_DATE 는 다음 가동시간 INTERVAL 은 다음 작동간격 BROKEN은 가동여부 FAILTURES 실패여부 WHAT 잡 내용 INSTANCE ~! 2. 잡 활성/비활성 (FALSE 활성화, TRUE 비활성화) BEGIN DBMS_JOB.BROKEN(35,FALSE); COMMIT: END; 웨에서 BROKEN(잡번호, 불린값)으로 잡활성과 비활성을 시킬수 잇다. 3. INTERVAL 간격 잡/스케줄링 간격 룰을 보자 (1) 매일 실행하는것 SYSDATE+1 (2)매일 새벽 4시 TRUNC(SYSDATE)+..

Developer/DB 2022.05.31

Dbvisualizer Pro ~! 다중 DB지원 유료툴 추천

https://www.dbvis.com/ DbVisualizer - The Universal Database Tool Get the best database experience. DbVisualizer is The Ultimate Universal Database Tool for developers, analysts and DBAs. Download for free now. www.dbvis.com 무료 버전이 있고 , 베이직, 프리미엄 버전이 있다.(2022-05-24)기준 맨상단에 세가지가 있다. 이것이 편리한 것은 다양한 버전의 DB를 한곳에서 모아 볼수 있다. Options에서 기본적으로 Auto Commit 설정을 할수 있다. Database에서도 DB driver로 을 Oracle, MSSQL..

Developer/DB 2022.05.24