Java Data Objects (JDO) VS  


AppEngine 의 Datastore 에서는 데이타 처리를 위한 3 가지 API 를 제공하고 있습니다.

  • 간단하게 사용 가능한 com.google.appengine.api.datastore 에 구현되어 있는 low-level API
  • RDBMS 에 데이타 저장을 위해 사용하는 표준 인터페이스인 Java Persistence API (JPA)
  • 많은 DBMS 에서 사용 가능한 표준 인테페이스인 Java Data Object (JDO)

항상 이렇게 친절하게도 여러개 중에서 마음에 드는 것을 골라쓰게 해주면 처음하는 입장에서는 아주 많이 고민스러워지죠. 뭘 써야하나? 제일 좋은 것만 공부해서 쓰고 싶은데... 다 볼 필요는 없잖아? 근데 뭘 선택해야하지?? 나중에 없어지는 API 가 밠생하지는 않을까??

이런 생각은 선택을 해야하는 입장에서는 다 똑같은가 봅니다. 아래 Stack Overflow 커뮤니티에 보면 이 질문이 올라와 있습니다.


우선  low-level API 는 사용하기는 정말 간단합니다. 하지만 prototype 에 의한 type safe 한 코드를 작성할 수 없고, 표준 인터페이스가 아니기에 향 후 다른 Database 로 이전이 완전히 불가능하게 됩니다. 물론 JDO 또는 JPA 를 선택한다고 해서 있는 그대로 DB 를 이전할 수는 없겠지요. 호환되지 않는 부분에 대해서는 철저한 분석에 의한 이전 계획이 필요할 것입니다. 그러니 결론은 JDO 와 JPA 중에서 하나를 선택해야 하는 것이지요!!

아래는 선택시 참고할 만한 자료입니다.
JDO-JPA FAQ
위의 내용들을 검토하시어 신중을 기해 선택하셔야 겠습니다.

저의 선택을 강요할 수는 없습니다!! ㅡ_ㅡ;; 제가 JDO, JPA, AppEngine 에 대해 많은 경험과 지식을 갖고 있다만 당당히 주장하겠습니다만... 저 또한 두들겨 가며 다리를 건너고 있는 터라 걱정되거든요 ^^ 같이 죽을 수는 없잖아요???
다만 저의 선택을 말씀드릴 수는 있습니다.

이 모든 것을 참고하셔서 선택하시고, 그 결과 또한 여러분의 것 입니다^^

저는 JDO 를 선택 했습니다. 위의 자료를 모두 살펴보니 JDO 로 마음이 기울었고, Google 의 AppEngine 설명 페이지로 돌아오니 각 API 에 대해서 제공하는 가이드라인을 보니 Google 이 더 관심을 갖는 API 가 JDO 라는 것이 느껴졌습니다.
Google 이 설명하는 페이즈의 내용을 보다라도 JDO 에 더 중심을 두고 설명하고 있습니다. 또한 작년에 AppEngine 을 사용하면서 막연하게 JDO 를 사용해 본 경험이 있었는데, 모델링하는데 불편함 없었던 기억이 있습니다. 그래서 이 번 프로젝트에서도 JDO 를 사용하기로 했습니다.

여러분은 어떤 선택을 하시겠습니까????
Posted by 따봉맨

Run your web apps on Google's infrastructure.
Easy to build, easy to maintain, easy to scale.



클라우드 컴퓨팅 환경 도입을 위해 변화된 업계 동향을 수집 중에 좋은 소식을 발견했습니다.

저는 Google 제품들을 아주 많이 좋아하는터라 AppEngine 을 도입하리라 생각하고 있었습니다만 한 가지 마음에 아주 크게 걸리는 것이 있었지요!! 현재의 AppEngine 은 SQL 을 사용할 수 없습니다. 구글에서 개발한 분산 데이타 저장소인 Bigtable 을 꼭 사용해야 하거든요.

기업에 있어서 데이타야 말로 생명이나 다름 없는데... 이런 데이타를 듣도보도 못한 큰 테이블에다가 죄다 넣어놔야 하는 것이지요. 한 가지 위안인 것은 구글에서 만든 서비스들은 모두 이 구조로 되어 있다고는 하는데... 설마 모두 그러겠습니까??? ㅡ_ㅡ;;; Bigtable에 데이타가 저장된 이상 다른 클라우드 서비스로의 이전이 불가능하게 되어 버리는 것이지요.

이 부분인 마음에 걸린채로 써야되나, 말아야 하나... 걱정하면서 IaaS 서비스 들을 알아보고 그랬었지요.

근데 올 해 2 분기 부터 기존 RDBMS 를 그대로 AppEngine 에서 사용할 수 있는 Google AppEngine for Business 서비스를 오픈한다는 글을 발견했습니다. 이 소식 외에도 AppEngine Roadmap 을 보시면 향 후 업그래이드 일정이 나와있습니다.

이제 마음놓고 구글의 PaaS 인 AppEngine 을 선택해도 되겠네요!!!!

2분기 될 때 까지는 어떻해야하나.... 그 전에 오픈해야 하는데.. ㅡ_ㅡ;; 이래저래 골치군요!!

Posted by 따봉맨

좋은 아이디어를 갖고 있으면 성공할까요??
그럼 이 좋은 아이디어를 갖고 있고, 잘 만들면 성공할까요???
그럼 좋은 아이디어를 잘 만들어서 서비스를 오픈하면 성공할까요????
이렇게 오픈한 좋은 아이디어로 만든 서비스를 잘 운영하면 성공할까요????
아니겠죠!!?? 뭐가 더 필요합니다!!!!

우선 성공의 기준에 따라서 위의 질문에 모두 "성공합니다" 라고 말할 수도 있겠죠!!!
제가 말하는 성공의 기준은 아주 높습니다. NHN 도 성공한 기업이라고 볼 수 있지만.. 우선 제가 본 글에서 주제로 생각한 것은 구글과 페이스북과 같은 성공입니다. 싸이월드 같은 서비스가 우리나라에서는 대박이 났지만, 미국에서는 쪽박이었지요. 너무 억울한 일입니다.

왜 대한민국 1 등은 이 좁은 땅에서만 1 등인 걸까요???
트위터 같이 우리나라 정서에 잘 맞지 않는 서비스도 우리나라 사람들은 잘 써주는데.... 왜 미국사람들은 왜 이렇게도 깐깐스러운지.... 주크버그가 페이스북을 우리나라에서 부터 서비스 시작했다면 어떻게 됐을까요??? 서비스 오픈하고 1년은 넘길 수 있었을까요????

아이러브스쿨이 미국에서 서비스를 시작했으면 어떻게 됐을까요??? 지금의 페이스북 보도 더 큰 성장을 하지는 않았을까요?????

여러가지 서비스들의 흥망성쇄를 되집어 보면 새로운 비즈니스는 무조건 소비자가 많은 곳에서 부터 시작해야 성공할 확률이 높아진다고 결론지어 집니다. 열심히 통계자료들과 보도자료들을 분석한 결과 이런 글을 작성했다면 아주 자신있게 여러분께 더 큰소리로 외치겠지만...... ㅡ_ㅡ;;;; 그냥 지금까지 살면서 겪은 나이에 맞는 지식을 갖고 마이닝해보니 이런 생각들이 들었습니다.

여러분 생각은 어떤지요???? 
Posted by 따봉맨
이전버튼 1 이전버튼