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 따봉맨
Google App Engine

Google App Engine is a platform for building and hosting web applications on Google's infrastructure. It was first released as a beta version in April 2008.

Based on cloud computing technology, Google App Engine uses multiple servers to run an application and store data, and automatically adjusts the number of servers to handle requests reliably.[1] Comparable cloud-based platforms include offerings such as Amazon Web Services and Microsoft's Azure Services Platform.

Google App Engine is free up to a certain level of used resources, after which fees are charged for additional storage, bandwidth, or CPU cycles required by the application.[2]


Windows Azure

Microsoft's Azure Services Platform is a cloud platform (cloud computing platform as a service) offering that "provides a wide range of internet services that can be consumed from both on-premises environments or the internet"[1] (though the platform itself will not be made available for on-premises deployments[2]). It is significant in that it is Microsoft's first step into cloud computing following the recent launch of the Microsoft Online Services offering.

A Community Technology Preview (CTP) was given to PDC 2008 attendees.[3] This preview is set to expire in the 2nd quarter of 2009.[citation needed]



이 두 서비스는 모두 클라우드 컴퓨팅 기술을 사용하고 있습니다. 그래서 트래픽 걱정 없이 웹 서비스를 제공할 수 있게되죠. 두 서비스의 지향하는 바가 같은 것 같습니다. 누가 따라하는 것인지.. 뭐 따라한다고 나무랄 것은 없지만요.. 둘 다 IT 계의 거인인데, 뒤따르는 쪽이 안스러워 보이네요^^
최후의 승자는 누가 될까요???

위에서 말한 서비스의 내용을 요약하면,
"클라우드 컴퓨팅 환경 위에서 웹서비스를 구현할 수 있도록 모든 제반 환경을 제공하는 서비스"
라고 보시면 됩니다. 서버, 네트워크, DB 를 다 제공해 줍니다.
그냥 만들고 싶은 서비스를 요구하는 언어(Python, Java, VB.NET, ASP.NET)로 개발해서 업로드만 하면 되는거죠. 참~ 쉽죠이??

우선 각 서비스를 느껴볼 수 있는 링크를 알려 드리겠습니다.

Google App Gallery : 실제 서비스되고 있는 웹 서비스를 사용해 볼 수 있습니다.
Windows Azure Case Studies




'Smart Mobile > Mobile Cloud' 카테고리의 다른 글

From Grid to Cloud  (0) 2009.08.05
Distributed Computing  (0) 2009.08.05
Parallel and Distributed Computing: BOINC Grid Implementation Paper  (0) 2009.08.05
Posted by 따봉맨
이전버튼 1 이전버튼