2010년 SQL Unplugged 행사에 참석한 뒤에 한참을 이것저것 하느라 바빴던터라... 이제야 정리를 하게되었습니다.


 IT 업계에 종사하면서 다양한 DBMS를 사용해왔습니다. Oracle, SQL Server, MySQL... 정말 맛보기로 IBM UDB와 PostgreSQL에 2년 전쯤 도입한 Tibero까지... 참 다양하게도 써왔습니다. 하지만 DBA로서 Oracle을 주로 공부하고 운영해 왔었고, 그래서 Oracle에 우호적인 사람이었습니다.  이제 SQL Server를 DBA의 입장에서 바라보기 시작한지 3년쯤 되어가는 DBA로서, Oracle도, SQL Server도 다양한 업무 환경과 서비스에 적용할 DBMS의 하나로 바라보기 시작한것 같습니다. 2010년과 올해(2011년)에 참석했던 SQL Unplugged 행사가 제게 많은 정보와 감동을 준 덕분이라 생각합니다. 이번 2011년도 SQL Unplugged 행사는 작년과는 또 다른 감격을 안겨줬습니다.
이 글을 시작하기전에 미리 말씀드립니다.
"감사합니다. 수고하셨습니다. 2012년 SQL Unplugged 행사가 벌써부터 기다려집니다."


0. 점심 도시락
 같이 갔던 누님은 뷔폐식사권이 당첨되어서 그곳으로 가시고, 저는 도시락을 먹었습니다. 도시락도 좋네요. ^^



1. DW applience
 DW 시장에는 applience 형태의 제품이 많습니다. 테라데이타, Oracle ExaData, 네티자 등의 이름은 한번쯤 들어보셨을겁니다.
 그동안 대형 DW 프로젝트에 들어가면 위의 제품들중 하나에 대한 지식, 경험 등이 필요했었죠. 저도... 테라데이타 무경험자로 대형 DW 프로젝트에 투입될 뻔한 적이 있습니다. (아시죠. 테라데이타를 써본적은 없지만... 어쩌구저쩌구... 이런 얘기를 했더랬죠.) 이야기가 딴 쪽으로 빠지기 전에...

 행사당일 HP 부스에서 접한 SQL Server 기반의 DW applience!! DW 시장에서도 SQL Server를 기반으로한 제품이 등장하여, 다양한 분야에서 SQL Server를 사용할 수 있음을 보여줬습니다. 아직 내부 구조를 살펴보지는 못 했지만, DW applience가 출시되었다는것 만으로도 상당한 의미가 있다고 생각합니다.
 물론 HP에서 SQL Server를 이용한 DW applience가 등장한 것은 여러가지 이유가 있을겁니다. Oracle사에서 Itanium CPU를 사용하는 장비에 대한 Oracle 제품 개발 및 지원을 더이상 하지 않겠다는 발표도 있었고, SUN을 인수한  Oracle이 Exadata의 H/W를 담당했던 HP와의 제휴를 끊고 자체적으로(SUN을 인수했죠.) H/W를 제작하기도 했고... 적고보니 모두다 Oracle 탓이라고 생각할만한데... 뭐 꼭 그렇지도 않다고 생각되는게, 그동안 H/W 업체중 MS와 돈독한 관계를 유지했던 HP이니까 DW applience가 HP에서 나오는게 어찌보면 자연스러운 거 아닐까요?

 암튼 HP의 DW applience는 나름... 신선한 충격이었습니다. "이젠 대형 DW 프로젝트도 SQL Server로 처리할 수 있겠구나!!"
OLTP에서 DW까지 쭈욱~
 

2. SQL Server "Denali"
 새로운 버전에 대한 정보를 접하는것은 늘 흥미로운 일이죠. 어떤 기능이 들어갔을까? 어떤 기능이 강화되었을까?

저의 이전 글을 보시면 아마 한두건 정도 "Denali"에 대한 글이 있을겁니다. 지금 알고있는 내용이 이 행사때 들은건지 헷가려서 이 부분은 통과 하겠습니다. 사실... 그날 들은 내용이 뭔지 기억이 잘 안나요. ^^;; 죄송합니다. 너무 늦게 정리하다보니...


3. 정보보안 시대의 SQL Server
 SQL Server의 암호화는 제 생각보다 편하더군요. DB 전체를 통체로 암호화하고 따로 함수를 쓰지 않아도 된다는 점. 음 물론 현재 정보보호 관련 법규에 적합한건지 좀 알송달송한 부분이 있지만, 이 부분은 현재 확인 중입니다. 만약에 현재의 정보보호 관련 법규에 적합하기만 하다면 정말 대박이라고 생각합니다. 따로 보안 솔루션을 도입하지 않아도 되니까요.



덧붙여서...
 또다른 사람에게 SQL Server의 세계를 알려주다.
 작년에 이어 올해에도 참가 신청을 한뒤 생각해보니 주변에 SQL Server를 업무에 사용하는 누님이 한분 계신데 과연 이분이 "SQL Unplugged" 행사를 알고계실지 궁금해졌다. 그분은 나와 같이 Oracle을 배웠지만 나와는 달리 SQL Server를 주로 사용하는 곳에 근무하고 있었다.(아마도...?!?!) 난 이것저것 섞어서 쓰고있다. 그리고 업무의 강도와 양으로 따지자면 20% 정도를 SQL Server가 차지한다고 생각한다.
 암튼, 이 누님에게 물어봤더니 처음 듣는다길래 같이 가자고 바람을 넣었고, 하루 종일 SQL Server만 다룬다는 얘기에 그리고 보안에 관련된 세션도 있다는 점에 참가 신청을 했다.
 결과는 대만족!!
"SQL Server가 이렇게 많은 부분을 다루는지 미쳐 몰랐어"라고 누님의 얘기에 추천한 보람을 느꼈달까... 내년에도 누군가와 함께 가야겠다는 일종의 의무감도 생겨버렸다. 누굴 데려가지???  아니 그전에 2012년에도 Unplugged 행사 개최하시는거죠? ^^

 이 부실한 글을 8월 18일에 쓰기 시작했으니 마무리하는데 2개월가량이 걸렸네요. 제 부족함과 게으름의 결과인듯합니다. 아~ 그 동안 제 아들 석이가 태어났어요. 이제 아빠랍니다.

 작년에 다녀왔던 "SQL Unplugged : 괴물이야기" 컨퍼런스에서 SQL Server에 대한 다양한 경험을 할 수 있었고, 이후 운영중인 SQL Server를 좀더 잘 운영하려고 노력하게 되었습니다. 튜닝 공부를 위해 주말 과정을 듣기도 했고, 시중에 나와있는 책도 찾아보게 되었구요. 그래서일까요? 아래 화면을 보게 되었을때 참 반가웠습니다.

"올해에도 하루라는 시간이 아깝지 않을 컨퍼런스가 열리는구나!!" 고맙습니다. 수고하셨습니다.
자세한 후기는 나중에 정리해서 올리겠습니다.




아래 글 링크는 작년에 SQL Unplugged 첫번째 컨퍼런스 참석 후기입니다. 
2010/06/14 - [IT 기술/Database] - SQL Unplugged "괴물 이야기" 참석 후기


 요즘 이기종 DBMS간의 Data 동기화에 대해서 많은 고민을 하고 있습니다. 지금 근무하는 직장에 입사하기 전, DW 구축 업무를 했을 때에는 Data 동기화보다는 정해진 시간내에 통계 Data 구축을 마치는데에 신경을 썼지 실시간 동기화는 큰 필요성을 느끼지 못했었죠. ETL Tool을 이용하면 여러 시스템에서 Data를 가져오거나, 보내주는 Data file 등을 가공하는데 불편함이 없었으니까요. DataStage가 좋더군요. (비싼게 좋네요. ㅡㅡ)
 고사양, 대용량 시스템에서 DW 구축할때와는 달리 소규모 DB를 여러대 사용하는 환경으로 바뀌게 되니까 여러가지 제약과 마주치게 되었습니다. 예산이 적다보니 편리한 ETL Tool은 쓸 수 없고, 기준 정보를 동기화 해야한다던지(꼭 실시간을 원하더군요.), 서로 다른 서비스/업무 시스템에서 서로 다른 DBMS를 사용하는 경우가 많네요.
 Oracle을 사용하던 중에 MS-SQL이 도입되었고, 이제는 TmaxData의 Tibero까지 도입되었습니다. ㅜㅜ
TmaxData의 ProSync, Tibero와 MS-SQL 등과 씨름하던 중에 Oracle의 Golden gate에 대해서 듣게 되었고, 01월 12일(화)에 세미나를 한다는 정보를 접하게 되었습니다. 월차를 내고 거기에 갔었죠. 이 글은 Oracle Data Integration Day에 참석한 DBA의 소감입니다.

 아래 사진은 코엑스 인터컨티넨탈 호텔 지하1층 다이아몬드홀 앞에 준비되어있던 참석자를 위한 휴식 공간에 비치된 의자들입니다. 편안하게... 거의 누워있는듯한 자세로 앉게 되는 빈백(이름이 맞는지 모르겠네요?)과 영화 감독님 의자(낚시 의자 같은)입니다. 편하더군요.



















































 늦게 도착해서 첫번째 세션인 [[Keynote] Real Time Enterprise를 위한 혁신 : Data Integration]은 듣지 못했고, 두번째 세션인 [Real Time Data Integration 고객 사례 : 현대증권]부터 들었습니다.

 Golden gate
 Exadata 소개 세션을 제외한 세션들은 저마다 차이는 있으나 Golden gate를 이용한 고객 사례 소개와 이번에 새로 나온 제품이 아닌 기존에 여러 기업에서 사용하고 있던 좋은 솔루션이라는 점을 강조하고 있었습니다.
 일단 제가 봐도 좋아보이는 점은 다양한 이기종 DBMS간의 Data 동기화를 가능하게 해준다는 점과 단방향 및 양방향 동기화까지 지원해준다는 점입니다. 실시간 동기화는 현대증권에서 이미 구축 사례가 있으니 신뢰가 가네요.
 저희 회사처럼 세 가지 이상의 DBMS를 사용하는 곳이라면 적절한 솔루션이 아닐까요? 음... 가격을 모르니까 좀 걱정이 되긴 하네요.

 Exadata V2
 Exadata는 하드웨어와 소프트웨어를 통합한 제품으로 DW에 초첨이 맞춰져있었던 Exadata V1때부터 관심이 있던 제품인데, V2는 정말 맘에 드는 제품으로 변해있더군요. SUN을 인수 이후 가장 눈에 띄는 제품이라고 생각합니다. 두 회사의 강점이 모여서 나온 이 제품은 SUN의 Flash fire 및 하드웨어 노하우와 Oracle의 DBMS, Storage 관리 기능이 한데 묶여서 DW와 OLTP를 모두 지원하는 하이브리드 장비이면서 기존의 Exadata V1보다 월등히 빠른 제품이 되었습니다.
 강력한 Data 압축 기능(Exadata Hybrid Columnar Compression라고 하던데... 정확한 명칭인지는 확인을 못했습니다.)을 지원하는... 좀 아쉬운점은 일반 Oracle 11g에서도 지원하는 기능인데, Exadata에서만 작동 가능하도록 설정되어 있다고 합니다. 음...
 Exadata의 핵심은 SUN의 Flash Fire 카드를 장착하고 Oracle Storage Software를 설치한 SUN Oracle Exadata Storage Server인것 같습니다. Flash Fire 카드의 캐쉬 기능을 이용하여  반응 속도를 빠르게 하고, 강력한 압축 기능을 이용하여 Storage 효율을 높인 점, 그리고 SUN Oracle Exadata Storage Server가 자체적으로 Query 문장을 인식하여 처리가 가능하여 더욱 빠른 Data 처리가 가능하도록 만들어져있더군요. 언젠가 여건이 된다면 Exadata를 도입한 회사에서 근무해보고 싶네요. 음... 한번 만져보고 싶은...

그리고...
 세미나 참가자 기념품이 배송 사고로 인해서 추후 택배로 배송해준다고해서 회사 주소를 적어놓고 왔는데, 오늘 도착했습니다. 아래 사진에 보이는 제품입니다. ^^ 폰카로 찍어서 화질이 안 좋네요.

 회사에서 MS-SQL과의 Data 동기화에 누락된게 있다고 전화가 와서 경품 추첨을 뒤로한채 나와야 했었는데, 이날 경품 중에 순금이 있더군요. ㅜㅜ
꼭 받고 싶었는데... 우웅...
 Java에서 Ajax로 웹개발할때 사용할 수 있는 웹 개발 프레임워크, 라이브러리, 툴킷에 대한 문서를 소개합니다. IBM DeveloperWorks에 공개된 문서중 "전문가다운 Ajax 애플리케이션 개발, Part 3: DWR, 자바, Dojo 툴킷을 사용하여 자바와 자바스크립트 통합하기"라는 문서입니다.
 Michael Garpin이라는 eBay의 개발자가 작성한 글로서 장동수님께서 번역하셧습니다.

지금 바로 이름이 떠오르는 자바(Java™) 웹 개발 프레임워크, 라이브러리, 툴킷만 해도 엄청나게 많습니다. 뭐가 뭔지, 어떤 것이 문제 해결에 도움이 될지 알아내는 것만 해도 버거운 일이죠. 그러나 Ajax 개발을 하고 있다면 반드시 알아두어야 할 라이브러리가 바로 DWR(Direct Web Remoting)입니다. 이 라이브러리는 자바 언어와 자바의 웹 기술을 사용하여 Ajax 개발을 더 쉽게 해줍니다. 이 라이브러리는 Ajax와 자바 웹 애플리케이션을 긴밀하게 통합하는 방법에 있어 기준을 제시합니다. DWR은 Ajax 기술들의 광범위한 연합인 Dojo 재단에 합류했습니다. 이 기사에서는 DWR을 사용하면 Ajax가 얼마나 간단해지는지 알아보겠습니다.

이 글은 Ajax 애플리케이션 제작에 사용할 수 있는 인기있는 자바스크립트 라이브러리들에 대해 알아보는 연재의 세 번째이자 마지막 기사다. Part 1에서는 Prototype 라이브러리를 사용하여 노래를 관리하는 웹 애플리케이션을 만들어 보았다. Part 2에서는 script.aculo.us를 사용하여 사진을 관리하는 웹 애플리케이션을 만들어 보았다. 이번에는 DWR을 사용하면 Ajax가 얼마나 간단해지는지 알아보자.

이 기사에서는 DWR 2.0을 사용한다. 예제 코드는 제네릭스(generics)와 어노테이션(annotation)을 사용하므로 자바 5 이상이 필요하다. 예제에서는 MySQL 5.12와 톰캣(Tomcat) 6.0.14를 사용하고 있지만, 쉽게 교체할 수 있을 것이다. 데이터베이스 접근을 위해 JPA(Java Persistence API)를 사용하며, JPA 구현체는 OpenJPA 1.0을 사용한다. 하이버네이트(Hibernate)나 Kodo 등의 다른 JPA 구현체로 바꿔도 된다. 이 기사에서는 Ajax 디버깅을 위한 멋진 도구인 파이어버그(Firebug: 파이어폭스용 플러그인)를 사용한다. 이 도구들에 대한 링크는 참고자료에 나와 있다.

DWR 소개

Ajax 애플리케이션이 처음 등장했을 때는 마법처럼 보였지만, 다행히도 개발하는 과정은 직관적이다. 모든 Ajax 상호작용은 서버 측 엔드포인트(endpoint: 웹 서비스에서 빌려온 용어)와 그 엔드포인트를 호출하는 클라이언트 측 코드가 필요하다. 또한 클라이언트와 서버가 주고받는 데이터를 직렬화(serialize)하는 코드도 필요하다. 서버 측 엔드포인트는 일반적인 서비스(RESTful이든 아니든)면 되지만, 클라이언트 측에는 종종 요구에 부합하는 좀 더 구체적인 코드가 필요하다. 강한 결합(tight coupling)을 피해야 할 때도 있지만, 필요할 때도 있다. 후자라면 DWR이 준비된 해결책이다. DWR은 선언적인 방법으로(declaratively) 서버 측 코드를 Ajax 엔드포인트로 만들 수 있고, 모든 부가적인 설비도 자동으로 만들어 준다. 지금부터 구체적인 예제를 통해 DWR이 어떻게 동작하는지 알아보자.


  이번에 새로 나온 따끈한 제품입니다. HP의 하드웨어(DL360 G5)와 Oracle Database, Oracle Enterprise Linux가 결합된 제품입니다.

 나날이 늘어만가는 데이터 때문에 DW 시스템 운영자에게는 커다란 고민거리죠.  그래서일까요. HP와 Oracle이 손잡고 Exadata라는 제품이 나왔습니다.

 
 Oracle에서 공개한 문서를 보면요, Oracle Enterprise Linux 기반의 Oracle 11g Real Application Cluster 제품이네요. 단순히 스토리지라고 생각을 했었는데...

 DataWarehouse를 위해서 익스트림!!!한 성능을 보여준다고합니다.
가격도 익스트림하면 도입하기 힘들지 않을까합니다만...

 그래도 리눅스 기반의 제품이 나오니 반갑네요.
아직까지 공개된 정보가 별로 없어서 리눅스 기반의 RAC 제품이며, 소프트웨어와 하드웨어가 결합된 형식의 제품으로 판매할 계획이라는 것만 아는 상태입니다.

+ Recent posts