[SQL Angeles] 2017-07-18 LA 한인 SQL Server 스터디 모임
- ORM (Object-relational mapping)
SQL Angeles 커뮤니티는 SQL PASS의 공식 회원이며, LA Chapter 그룹으로 PASS 커뮤니티 중 유일하게 한국어로 진행되는 모임입니다. 자세한 소개는 아래 공식 홈페이지를 참고해주시기 바랍니다.
SQL Angeles PASS 공식 홈페이지 : http://SQLAngeles.com / http://sqlangeles.sqlpass.org/
SQL Angeles 커뮤니티는 정기적으로 화요일 8PM ~ 10PM (2시간, LA 시간 기준) 온, 오프라인 스터디를 함께 진행하며(장소 및 시간은 공식 홈페이지를 통해 공지 합니다.) SQL Server를 함께 공부하고 다양한 IT 트렌드를 공유하는 기술 및 네트워크를 공유하는 모임 입니다. 온, 오프라인 스터디는 참여 제한이 없습니다. 단, 오프라인으로 스터디에 참여하고 싶은 분들은 카카오톡(ID : SQLMVP), 페이스북(https://www.facebook.com/sqlmvp) 메신저, email(jevida@naver.com) 등으로 연락 주시기 바랍니다. 오프라인 모임의 경우 스터디 장소 출입이 자유롭지 못한 관계로 반드시 사전에 협의가 되어야 합니다. 또한 홈페이지에 가입하시면 스터디 일정에 대한 내용을 이메일로 받을 수 있습니다. 자세한 내용은 본문 하단의 회원 가입 안내를 참고해 주세요.
오프라인 스터디는 LA El Segundo에 위치한 Nexon America office에서 진행합니다.
주소 : 222 N Sepuveda Blvd, El Segundo, CA, 90245 (https://goo.gl/maps/nVwdeqfw7XK2)
오늘 발표는 Brian님께서 진행해 주셨으며 발표내용은 ORM(Object-relational mapping)으로 어플리케이션에서 SQL 서버에 명령을 호출할때 쿼리를 자동으로 작성하는 방법에 대해서 알아보았습니다.
보통 직접 쿼리를 호출하는 것을 Ad-hoc방식이라 표현합니다. SQL Server에서는 성능 및 보안상의 이유로 일반적으로 SP를 생성하여 사용하는데, MySQL, Oracle 등에서는 Ad-hoc을 많이 사용한다고 합니다. 이때 개발자가 직접 쿼리문을 작성하지 않아도, 매핑된 오브젝트 정보를 사용하여 어플리케이션이(프레임워크가) 직접 쿼리를 작성하여 호출하는 방법을 사용합니다. 이러한 방법을 ORM이라고 합니다.
· Object-relational mapping : https://en.wikipedia.org/wiki/Object-relational_mapping
ORM의 장점은 코딩의 반복적인 작업을 줄일 수 있으며 SQL에 의존적인 코딩을 벗어나 어플리케이션 관점에서 생상적인 코딩 및 유지보수가 편리합니다. 하지만 프레임워크를 잘 이해하지 못한 환경에서 사용할 경우 성능상 문제를 발생 시킬 수 있으므로 주의해야 합니다.
종류 |
SQL Mapping (Partial ORM) |
Object Relation Mapping (FULL ORM) |
개요 |
SQL을 특정 name으로 정의 하여 사용 |
내부 엔젠에서 SQL 자동 생성 |
맵퍼 |
SQL Mapper |
Object Relation Mapper |
방법 |
· 자바객체를 실제 SQL 문자에 매핑 · 자바 코드에서 SQL 관련 부분 제거 · XML에 임베디드된 SQL |
· Table Row와 자바객체를 동기화 · 모든 SQL문은 프레임워크에서 생성하고 실행 |
종류 |
iBatis SQL Maps / Oracle SQLJ / Forte 4GL Embedded SQL / Pro*C Embedded SQL |
Hibernate / TopLink / Cocobase/JPA |
장단점 |
복잡한 데이터 전송방식 환경에서 효율적 효율적으로 SQL의 장점 활용 |
O/R Mapper가 SQL Mapper에 비해 더 효율적인 매핑 O/R Mapper가 객체 모델과 DB모델에 대한 광범위한 정보를 가지고 있음 |
일반적으로 많이 사용되는 프레임워크로는 JAVA에서 사용하는 Hibernate, iBatis(MyBatis), .NET의 Entity Framework, LINQ등이 있습니다.
ORM에 대해서 설명중이신 Brian님.
오늘 스터디에서 중요한 몇 가지.
1. ORM이 만능은 아니다. 반드시 쿼리 검수가 필요하다.
2. 복잡한 비즈니스의 경우 ORM으로 한계가 있다. (복잡할 경우 SP 권장)
3. 프레임워크의 특성을 잘 알지 못하고 사용하는 경우 성능상 문제를 일으킬 수 있다.
4. ORM을 사용하더라도 산출된 쿼리가 정상인지 판단할 수 있는 능력이 필요하다.
앞으로도 다양한 주제로 스터디를 계속해서 진행할 예정이며 꾸준한 관심과 참여 부탁 드립니다. SQL Angeles 홈페이지에 가입하시면 스터디 일정 및 온라인 참여 링크를 이메일로 수신할 수 있습니다. 아래 안내를 참고해서 챕터 가입을 부탁 합니다.
1. http://sqlpass.org/ 접속 합니다.
2. 우측 상단의 SIGN IP FOR FREE 버튼을 클릭해서 회원 가입 합니다. 가입한 이메일로 안내문이 발송 되니 자주 사용하는 이메일로 가입해주세요.
3. 가입 완료 후 로그인을 하여 [Community] – [Local Group]를 클릭합니다.
4. 아래 그림과 같이 Region 을 선택하고 Angeles 검색하여 SQL Angeles 챕터에 JOIN 버튼을 클릭합니다. (저는 이미 가입되어 있어 LEAVE라고 버튼이 표시 되어 있습니다.)
2017-07-18 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com
LA 한인 SQL 스터디 모임, LA IT 모임, DB 스터디, SQL 스터디, SQL Server, DB 스터디, LA SQL Server, sqlmvp, SQL Angeles
'Review' 카테고리의 다른 글
[SQL Angeles] 2017-08-29 LA 한인 SQL Server 스터디 모임- Model & Data Analysis (0) | 2019.04.15 |
---|---|
[SQL Angeles] 2017-08-01 LA 한인 SQL Server 스터디 모임- SSRS Tutorial (0) | 2019.04.15 |
[SQL Angeles] 2017-05-23 LA 한인 SQL Server 스터디 모임 (0) | 2019.04.15 |
[SQL Angeles] 2017-05-09 LA 한인 SQL Server 스터디 모임 (0) | 2019.04.15 |
[SQL Angeles] 2017-04-25 LA 한인 SQL Server 스터디 모임 (0) | 2019.04.15 |