
2009/10/13
��[programming][GAE]RDB����Google App Engine�Υǡ������ȥ��˾�괹����Ȥ��ΤĤޤ����ݥ���ȤȤ�����Ȥ�
�轵���ϡ�˿���������Ƥ�ä�Google App Engine��GAE�ˤ򿧡������ä�ͷ�֤Ȥ���2��3���ι�ɤ˻��ä��Ƥޤ�������ɤȸ��äƤ��GAE�װʳ����ä˥ơ��ޤ��ޤä�̵���ơ��ߤ��Ŭ���˹����ʤ��Ȥ��äƤ���Ǥ������ͤ�GAE�ν鿴�ԤʤΤǡ�
�֥�졼����ʥ�ǡ����١����Τ���˽񤫤줿�ơ��֥������Google App Engine���֤������褦�Ȥ�����ɤ줯�餤���ѤʤΤ�����
��ơ��ޤ˷��ơ������ܤ��ɤߤʤ��饳���ɤ�񤤤���ä����ꤷ��ͷ��Ǥޤ�����
----
�� ��ˤޤȤ�
�ޤ����㤤��¿�����Ǥ���������ʬ���ä��֥�졼����ʥ�ǡ����١����˴��줿�ͤΤĤޤ����ݥ���ȡפ���ˤޤȤ�Ƥ����ޤ���
GAE�Υǡ������ȥ��Ǥϡ�ʣ��ç¥ï¿½ï¿½ï¿½Î¤ï¿½ï¿½ï¿½É½ï¿½ï¿½ï¿½ï¿½Ê¤ï¿½ï¿½ï¿½
- �㤨��JDO���ȡ�@PrimaryKey��ʣ���Υ��󥹥����ѿ����դ���ȥ���ѥ�������㳰���Ф롣
- ���ʤߤˡ��ç¥ï¿½ï¿½ï¿½Î¤Ê¤ï¿½É½ï¿½ï¿½ï¿½ï¿½Ê¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½â¥³ï¿½ï¿½Ñ¥ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ã³°ï¿½ï¿½ï¿½Ð¤ë¡£
��դ�ID�������Ƥ뤿��Υ����󥿡��ʥ����ȥ��󥯥���ȵ�ǽ�ˤ�ɬ�פʤ顢�����Ǽ�������ɬ�פ����롣
- �ȥ�󥶥�����������Ȥ����Ȥǡ����Τ褦�ʥ����󥿡�������Ǥ��롣
- JDO���󥿡��ե������Ǥϡ�valueStrategy��IdGeneratorStrategy.INCREMENT�ʤʤ󤫤���äݤ��ˤ����٤뤬��GAE�ǤϻȤ��ʤ��餷���¹Ի����㳰���Ф롣
UNIQUE������������뵡ǽ��ʤ������餯�������Ǽ������뤳�Ȥ�Ǥ��ʤ���
- UNIQUE����ϡ�������������뤳�Ȥ�Ǥ��ʤ����褦�ʵ�������ġġ�
- GAE�Υȥ�󥶥����������ϻ��Ȥ����ǡ������Ф�����¾�����Τ��ᡢ�������ɲä���Ԥ��ͤ��Ф�������ˤϤʤ����ʤ��ΤǤϤʤ�����
¿��¿�δط���ɽ�����ˤ�����
- ��졼����ʥ�ǡ����١����˴���Ƥ���ȡ�¿��¿�δط���ɽ������Ȥ��ϡ��ط���ɽ��ɽ�򿷤����ɲä������ʤäƤ��ޤ����ɡġġ�
- GAE�Ǥ�ʣ����ɽ��ޤ�����ȥ�󥶥������ϴ���Ū�˺��ʤ��Τǡ�����ǽ����˼��Ԥ��������㳰������񤯤Τ����������ݡ�
- ������JOIN�����ʤ��̵����
- ¿��¿��¸�������ˡ�Ȥ��Ƥϡ�������ɽ�ˡ��⤦������ID�Υꥹ�Ȥ��Ǽ��������Ѱդ���ȳڡ�GAE�Ǥϡ��֥ꥹ����Τ����줫���ͤ�A�˰��פ���פȤ��ä�������������listItems == :A�פΤ褦�ʷ��ǵ��ҤǤ��롣
JDO��JPA�Τɤä���Ȥ��Ф����Τ�ʬ����ʤ���
- JPA������Ǥ��졼����ʥ�ǡ����١�����Í�ε�ǽ�ϻȤ��ʤ��Τǡ�JDO��ȤäƤ������ɤ��褦�ʵ������롣�Ǥ⡢���󤬤ʤ��Ƥ褯ʬ����ʤ��ġġ�
�ʲ��ϡ���ΤĤޤ����ݥ���Ȥ˵��դ��ޤǤˡ��ºݤ˽񤤤���ä����ꤷ�Ƥ��������������ɤ��äǤ���ʸ�ϤκǸ�˥����������ɤ��֤��Ƥ����ޤ����Τǡ���̣�Τ������ϥ���������ɤ��ƤߤƤ���������
----
�� ������
�Ƕ��ä�Android���ץ��Where's My Info?���Υơ��֥����������ץ���ä��Τǡ������GAE�Υǡ������ȥ����֤������뤳�Ȥ��ߤޤ�����GAE�Υǡ������ȥ��ؤΥ���������ˡ�ϰʲ���3���ब����ΤǤ���������ϺǤ����¿��JDO��ȤäƤ��ޤ���
- JDO���󥿡��ե�������Java Data Objects������Ū�ʻ��͡�
- JPA���󥿡��ե�������Java Persistence API��RDB������
- ������٥�API��Key-Value���ͤ��ݻ�����API����®�����㵡ǽ��
�ޤ������ˤ���Android���ץ�Υơ��֥�����ϡ��ʲ��Τ褦�ʤ�ΤǤ����Ŀ;����information�ˤȾ��������knowers�ˤδط��ò¡¢¼ç¥ï¿½ï¿½ï¿½Î¤Ê¤ï¿½information_knowers�ơ��֥��ɽ�����Ƥ��ޤ���
�����GAE�Υǡ������ȥ����������ȡ��ʲ��Τ褦�ˤʤ�ޤ���GAE��ǰ���ɽ�Τ��Ȥ򡢤����Ǥϡ֥���ƥ��ƥ��פȸƤ�Ǥ��ޤ���
�������Ƹ���ȡ���졼����ʥ�ǡ����١����Ǥ��������٤ơ��������ʤäƤ�Τ�ʬ����ޤ����ʲ��ϡ���졼����ʥ�ǡ����١����ǤȤΰ㤤�Ǥ���
- Knower����ƥ��ƥ�����ˡ��ط�����Information��ID�Υꥹ�Ȥ��ɲá�
ID���դ˳�����Ƥ뤿��Υ����󥿤��ɲá�
- �ç¥ï¿½ï¿½ï¿½ï¿½É¬ï¿½Ü¤Ê¤Î¤Ç¡ï¿½ï¿½ï¿½ï¿½ß¡ï¿½ï¿½Î¼ç¥ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Æ¤ï¿½ï¿½ë¡£
- ���������ñ¤¤Ê¤ï¿½ï¿½ï¿½×¤Ã¤ï¿½ï¿½ï¿½ï¿½É¡ï¿½ID���դ˳�����Ƥ뤿��Υ�������ϡ�1�ĤΥ���ƥ��ƥ��ˤޤȤ�Ƥ��ޤ������ġġ�
�ǡ��Ǹ�ˤ��Υ��ץ�򡢥桼������̤��ΰ�˥ǡ������Ǽ�Ǥ���褦�˳�ĥ����ȡ��ǡ������ȥ�������ϰʲ��Τ褦�ˤʤ�ޤ���
- ��110487681081245093660�פȤ����Τϡ�Google���󶡤��륢�������ǧ�ڥ����ӥ���������Ǥ��롢�桼����˰�դʥ桼��ID��
Information����ƥ��ƥ���Knower����ƥ��ƥ��Υ����ˤϡ��桼��ID + "/" + �桼����˰�դ�ID��ȤäƤ��롣
- �桼��ID�ȥ桼����˰�դ�ID���Ȥ߹�碌��ʣ��ç¥ï¿½ï¿½ï¿½ï¿½ï¿½È¤ï¿½ï¿½ï¿½ï¿½é¡¢ï¿½Û¥ï¿½È¤Ï¤ï¿½ï¿½Ã¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½è¤«ï¿½Ã¤ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½É¡Ä¡Ä¡ï¿½
- ������ȥ���ǥå�������ˡ��Ȥä��������׸����򤹤뤳�Ȥǡ�����Υ桼���˴ط�������Τߤ���Ф����Ȥ��Ǥ��롣�����ˤ���Τ�Python�ǤΥ����ɤ�����Java�ǤǤ�Ʊ����ˡ���Ȥ��롣
����ȥ����������ɤ򡢤��줾��ʲ��ξ����֤��Ƥ������Τǡ��⤷��̣�����ä��������ƤߤƤ���������
��������ա������ԡ��ͤˤϥǡ����ݸ����ʤΤǡ��ۥ�ȤθĿ;���Ͻ񤫤ʤ��ǡ���
http://wheres-my-info.appspot.com/
�����������ɡʾ�μ����ư���Ƥ�Τ�Ʊ����ΤǤ���
WheresMyInfoWeb.zip
----
�� ����
Eclipse�Υץ饰�����ȤäƤ�ȡ�Google App Engine�Υ����������ɤ�񤯤Τ⡢���ִĶ��˥ǥץ�������Τ⤹������ñ�Ǥ����Ǥ⡢���Υǡ������ȥ���Ȥä��絬�Ϥʥ����ɤ�񤯤Τϡ���ľ���ä��������褽���ʵ������ޤ���
����ʤΤ�ȤäƤ����gmail�ߤ����ʵ��祢�ץ��񤤤Ƥ�Ȼפ��ȡ���äѤ�Google��Ϣ��ϥ��ä���äƤ�衢�����Ĥ�̤��������Ƥ�ʡġĤȻפäƤ����顢����ι�ɤλ��üԤ����Google����Ǥϡ�BigTable�ˡ�GAE�ˤϴޤޤ�Ƥʤ���Chubby���Ȥ߹�碌�ƻȤäƤ�󤸤�ʤ����פȤλ�Ŧ��������ʡ��Ҥɤ��ġġ�
- P2P today ���֥륹��å��� ��11 : 7, 3, 1
- mixi - diary(id=1321936756) ��1
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��49
- http://r-domain.net/report/muziyoshiz.jp/?check=b9... ��25
- http://webcache.googleusercontent.com/search?q=cac... ��16
- http://www.google.co.jp/imglanding?q=APP Engine En... ��13
- http://twitter.com/ ��12
- http://www.google.co.jp/ ��9
- http://www.google.com/reader/view/ ��7
- http://www.google.co.jp/imglanding?q=�ǣ��š��ǡ������ȥ�&im... ��7
- http://www.google.co.jp/imglanding?q=datastore kin... ��6
- http://www.google.co.jp/imgres?imgurl=http://muziy... ��6
- http://d.hatena.ne.jp/narusyo/20100207/1265579894 ��6
- http://www.google.co.jp/imglanding?q=RDB��bigtable&... ��6
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��5
- http://search.yahoo.com/search?p=&toggle=&cop=&ei=... ��5
- http://www.google.co.jp/imgres?q=�����Х�塼 RDBMS �㤤&u... ��5
- http://www.google.co.jp/imgres?um=1&hl=ja&sa=N&biw... ��5
- http://www.google.co.jp/imgres?q=�ǡ������ȥ� Google&um=... ��5
- http://www.google.co.jp/imgres?hl=ja&sa=X&tbo=d&bi... ��5
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��4
- http://www.google.co.jp/imgres?q=�ç¥ï¿½ï¿½ï¿½ï¿½ï¿½Þ¤È¤á¤¿ï¿½Æ¡ï¿½ï¿½Ö¥ï¿½&hl=j... ��4
- http://tetsuwanmemo.g.hatena.ne.jp/keyword/GoogleA... ��4
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��4
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��4
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��4
- http://delicious.com/yanaoki/gae ��3
- http://www.google.co.jp/imgres?q=GAE �ǡ����١���&um=1&h... ��3
- http://www.google.co.jp/imgres?imgurl=http://muziy... ��3
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��3
- http://www.google.co.jp/imglanding?q=gae �ơ��֥�&um=1... ��3
- http://www.google.co.jp/reader/view/?hl=ja&tab=wy ��3
- http://www.google.co.jp/imgres?um=1&hl=ja&sa=N&biw... ��3
- http://www.google.co.jp/imgres?q=��졼����ʥ�ǡ����١���&um=... ��3
- http://www.google.co.jp/reader/view/ ��3
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��3
- http://www.google.co.jp/imgres?q=RDB �ǡ������ͽ�&um=1&h... ��3
- http://www.google.co.jp/imglanding?q=APP Engine En... ��3
- http://www.google.co.jp/imgres?imgurl=http://muziy... ��3
- http://www.google.co.jp/imgres?um=1&hl=ja&sa=N&biw... ��3
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��3
- http://webcache.googleusercontent.com/search?q=cac... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��2
- http://www.google.co.jp/imgres?hl=ja&newwindow=1&s... ��2
- http://www.google.com/imgres?q=��졼����ʥ�ǡ����١���&hl=en... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��2
- http://www.google.co.jp/imgres?um=1&hl=ja&sa=N&tbo... ��2
- http://www.google.com/imgres?q=��졼����ʥ�ǡ����١���&hl=ja... ��2
- http://www.google.co.jp/imgres?imgurl=http://muziy... ��2
- http://www.google.co.jp/imgres?hl=ja&sa=X&rlz=1C1T... ��2
- http://www.google.co.jp/imgres?um=1&hl=ja&sa=N&tbo... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��2
- http://www.google.co.jp/imglanding?q=google bigtab... ��2
- http://www.google.com/imgres?imgurl=http://muziyos... ��2
- http://websearch.rakuten.co.jp/Web?tool_id=1&ref=c... ��2
- http://www.google.co.jp/imglanding?q=Google App En... ��2
- http://www.google.co.jp/imgres?hl=ja&sa=X&biw=1182... ��2
- http://www.google.co.jp/imgres?q=�ǡ����١������ͽ�ID ¿������... ��2
- http://www.google.com/imgres?imgurl=http://muziyos... ��2
- http://www.google.com/m?hl=ja&gl=jp&client=ms-andr... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��2
- http://www.google.co.jp/imgres?imgurl=http://muziy... ��2
- http://www.google.co.jp/imgres?imgurl=http://muziy... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��2
- http://www.muziyoshiz.jp/ ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��2
- http://twitter.com/muziyoshiz ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&f... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��2
- http://www.google.co.jp/reader/view/?tab=my ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��2
- http://www.google.co.jp/imgres?q=�ǡ����١��������&um=1&hl... ��2
- http://www.google.co.jp/imgres?um=1&hl=ja&safe=off... ��2
- http://www.google.co.jp/imgres?q=google table�Ȥ�&hl... ��2
- http://www.google.co.jp/imglanding?q=APP Engine En... ��2
- http://www.google.com/search ��2
- http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&s... ��2
- http://www.bing.com/search?q=google app engine �ǡ���... ��2
- http://webcache.googleusercontent.com/search?q=cac... ��2
- http://www.google.co.jp/m/search?source=mog&hl=ja&... ��2
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- https://www.google.com.sg/ ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- http://www.google.com/webhp?hl=ja ��1
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... ��1
- gae �ǡ������ȥ� ��89 / GAE �ǡ������ȥ� ��44 / gae datastore key ʣ�� ��34 / google app engine �ǡ������ȥ� ��30 / GAE �ǡ��� ��16 / gae datastore ��14 / Google App Engine �ǡ������ȥ� ��13 / �ơ��֥� google app engine ��11 / google app engine rdb ��9 / app engine �ǡ������ȥ� ��9 / �ǡ������ȥ� GAE ��9 / JDO @primarykey ʣ�� ��8 / bigtable ʣ��ç¥ï¿½ï¿½ ��8 / android����GAE WEb�����ӥ� ������������ ��8 / google �ǡ������ȥ� ��8 / google bigtable ���� ���� python ������ ��7 / JDO �ç¥ï¿½ï¿½ ��ʣ ��6 / google app engine �ǡ����١��� ��6 / Google App Engine ��6 / gae �ǡ������ȥ� ���� ��6 / App Engine �ǡ������ȥ� ��6 / appengine �ǡ������ȥ� ��6 / GAE ¿��¿ ��5 / datastore key ʣ�� ��5 / Google App Engine java DB ��5 / google �ǡ������ȥ� �ơ��֥� ��5 / android appengine �ǡ����١��� ��5 / GAE �ǡ������ȥ� ʣ�ç¥ï¿½ï¿½ ��5 / GAE �ǡ������ȥ� �ץ饤�ޥ꡼ ��5 / google app engine java �ǡ��� �ç¥ï¿½ï¿½ ��5 / Google App Engine �ơ��֥� ��5 / ���饦�ɤǤϣңģ¤ϻȤ��ʤ� ��5 / google app engine python �ç¥ï¿½ï¿½ ��5 / google app engine ���� ��5 / gae �ơ��֥� �ç¥ï¿½ï¿½ ��4 / Google App Engine�ǡ������ȥ� ��4 / gae �ǡ������ȥ� ʣ�� �ơ��֥� ��4 / google app engine DB ��4 / google app engine db ��4 / google app engine datastore ��Ͽ ��4 / google app engine �ǡ������ȥ� �����꡼ ��4 / google app engine �ǡ����١��� ����� ��4 / JDO JPA GAE ��4 / GAE BigTable ʣ�ç¥ï¿½ï¿½ ��4 / GAE RDB ��4 / GAE �ơ��֥���� ��4 / google app engine DataStore �Ŀ;��� ��4 / gae �ǡ������ȥ� ������ ��4 / GAE ������ datastore ��4 / bigtable rdb �ç¥ï¿½ï¿½ ��4 / gae ����ơ��֥� ��3 / �ǡ������ȥ� ��3 / gae �ǡ������ȥ� ���� ��3 / gae �ơ��֥� ��3 / googleappengine �ǡ������ȥ� ��3 / rdb gae ��3 / GAE �ץ饤�ޥ꡼���� ʣ�� ��3 / GAE �桼���� �ǡ������ȥ� ��3 / google app engine �ǡ������ȥ� �����ȥ��󥯥���� ��3 / gae �ǡ������ȥ� ��¾���� ��3 / google app engine �����󥿡� ��3 / Google java apps ɽ ��3 / Google app engine �ǡ������ȥ� ��3 / Google app engine �ǡ��� ��3 / gae �ǡ����١��� ��3 / app engine datastore ��3 / gae ��졼����ʥ�ǡ����١��� ��3 / ʣ�ç¥ï¿½ï¿½ bigtable ��3 / gae datastore unique ��3 / �ǡ������ȥ� ����ƥ��ƥ� ��3 / Google APP ENgine RDBMS ��3 / jdo jpa ��3 / google app engine ��졼����ʥ� ��3 / GAE ��졼����ʥ� ��3 / App Engine ¿��¿ �ǡ������ȥ� ��3 / �ǡ������ȥ� ����������ˡ ��3 / GAE DB ��3 / RDB join ��3 / GAE�ǡ������ȥ� ��3 / google app engine ��3 / �ǡ������ȥ� Google App Engine ��3 / google app engine java �ǡ������ȥ� ��3 / googleappengine�ǡ������ȥ� ��3 / google app engine datastore ����ʣ�� ��3 / google app engine datastore �������� ��3 / gae �ǡ��� ��3 / gae �ǡ������ȥ� ʣ��ç¥ï¿½ï¿½ ��3 / �ǡ������ȥ� �ç¥ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ��3 / gae �桼������ �ǡ��� ��3 / GAE �ǡ������ȥ� RDB ��3 / GAE bigtable ���� ��3 / JDO ���� ��3 / gae �ǡ������ȥ� 1 ��¿ ��3 / GAE �ǡ����١��� ��3 / rdb key value ��3 / google app engine �ơ��֥� ��3 / google app engine java �ǡ������ȥ������� ��3 / google app engine RDB key value ��2 / �ǡ������ȥ� ¿��¿ ��2 / android �ǡ������ȥ� ��2
�ޤ�������������̵�ط���Ƚ�Ǥ��������ȵڤӥȥ�å��Хå��Ϻ�������ǽ��������ޤ�����λ������������